Вы понимаете, что Android с открытым исходным кодом.
Начнем с поиска __android_log_print()
и поиска его: https://android.googlesource.com/platform/system/core/+/refs/heads/master/liblog/logger_write.cpp [ 117]
int __android_log_print(int prio, const char* tag, const char* fmt, ...) {
va_list ap;
char buf[LOG_BUF_SIZE];
va_start(ap, fmt);
vsnprintf(buf, LOG_BUF_SIZE, fmt, ap);
va_end(ap);
return __android_log_write(prio, tag, buf);
}
В конечном итоге я посмотрел: https://android.googlesource.com/platform/bionic/+/refs/heads/master/libc/stdio/vfprintf.cpp
строки 453-454:
case 'n':
__fortify_fatal("%%n not allowed on Android");
В коде также упоминается дополнительная безопасность через FORTIFY, которая описана в следующем сообщении в блоге:
https: //android-developers.googleblog.com/2017/04/fortify-in-android.html
Это действительно не должно быть тайной, поскольку она разъяснена ясно в документации. Просто используйте метод источника данных
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath