Я только что получил электронное письмо от Apple, в котором говорится, что мое приложение было отклонено для вызова _terminateWithStatus. У меня есть несколько фреймворков в приложении, и я считаю, что это может быть причиной.
Я запустил otool, вот мой вывод
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/System/Library/Frameworks/Foundation.framework/Foundation (compatibility version 300.0.0, current version 751.49.0)
/System/Library/Frameworks/UIKit.framework/UIKit (compatibility version 1.0.0, current version 1400.0.0)
/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics (compatibility version 64.0.0, current version 600.0.0)
/System/Library/Frameworks/CoreData.framework/CoreData (compatibility version 1.0.0, current version 320.15.0)
/System/Library/Frameworks/MapKit.framework/MapKit (compatibility version 1.0.0, current version 14.0.0)
/System/Library/Frameworks/CFNetwork.framework/CFNetwork (compatibility version 1.0.0, current version 485.12.7)
/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration (compatibility version 1.0.0, current version 379.0.0)
/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices (compatibility version 1.0.0, current version 20.0.0)
/System/Library/Frameworks/CoreLocation.framework/CoreLocation (compatibility version 1.0.0, current version 370.3.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 150.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.4.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 227.0.0)
/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation (compatibility version 150.0.0, current version 550.52.0)
Я также запустил приложение через Сканер приложений , но terminateWithStatus не отображается в выходных данных.
Может ли кто-нибудь указать мне правильное направление нахождения этого? Я также видел некоторые разговоры об использовании nm и grep, чтобы найти вызов. Спасибо заранее.
РЕШИТЬ:
После погружения в каталог сборки:
AppName/build/AppName.build/Release-iphoneos/AppName.build/Objects-normal/armv6/
Я побежал:
strings AppName | grep 'terminateWithStatus'
и вернул один результат. После некоторых копаний я обнаружил, что GHUnit, тестирующий фреймворк, делал вызов. Я удалил фреймворк, перестроил и снова запустил команду string без каких-либо результатов.
Надеюсь, это поможет любому, кто ищет вызов частного API, это не было забавным приключением.