Приложение iOS отклонено - закрытый символ mach_init_routine - PullRequest
2 голосов
/ 27 июля 2011

недавно обновление одного из наших приложений было отклонено, потому что мы, возможно, используем частные apis. забавно то, что приложение состоит только из простого представления uiwebview, которое загружает приложение javascript sencha touch (локальное), и обновление изменило только некоторый javascript, вообще никакого нативного кода.

по запросу Apple сообщила, что это приложение может использовать следующие частные символы:

  • __ keymgr_dwarf2_register_sections
  • _cthread_init_routine
  • mach_init_routine

поскольку единственный «рукописный» код этого приложения имеет длину ~ 5 строк (получите html-код и baseurl + передайте его в uiwebview), мы понятия не имеем, откуда это исходит.

любая помощь / подсказки будет принята с благодарностью.

ОБНОВЛЕНИЕ: ошибка вовсе не в яблоках - это было приложение mac sencha jsbuilder, которое было случайно добавлено к ресурсам проектов

1 Ответ

1 голос
/ 27 июля 2011

Для меня это похоже на низкоуровневое управление процессами. __keymgr_dwarf2_register_sections может быть как-то связано с отладкой, хотя небольшое прибегание к гуглу предполагает, что это может быть связано с обработкой исключений.

Я полагаю, что ваши старые и новые версии отличаются некоторыми деталями компиляции: внимательно проверьте конфигурацию сборки и флаги компилятора, а также версии компилятора и glibc, обращая особое внимание на отладку и обработку исключений.

Вы можете попробовать скомпилировать исходный код для старой версии с вашей текущей настройкой, а затем с помощью strings | grep проверить, содержит ли он какой-либо из символов, вызывающих сбой. Если это так, это дымящийся пистолет, указывающий на изменение в процессе сборки.

...