12

_terminateWithStatus の呼び出しでアプリが拒否されたことを示すメールを Apple から受け取りました。アプリにいくつかのフレームワークがあり、それが原因である可能性があると考えています。

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)

また、 App Scannerを使用してアプリを実行しましたが、terminateWithStatus が出力に表示されません。

これを見つけたときに誰かが私を正しい方向に向けることができますか? nm と grep を使用して呼び出しを見つける方法についての話もいくつか見ました。ありがとうございます。

解決済み:

ビルドディレクトリに飛び込んだ後:

AppName/build/AppName.build/Release-iphoneos/AppName.build/Objects-normal/armv6/ 

私は走った:

strings AppName | grep 'terminateWithStatus'

1 つの結果を返しました。掘り下げた後、テストフレームワークであるGHUnitが呼び出しを行っていることがわかりました。フレームワークを削除して再構築し、文字列コマンドを再度実行しましたが、結果はありませんでした。

これがプライベート API 呼び出しを探している他の人の助けになることを願っています。楽しい冒険ではありませんでした。

4

1 に答える 1

9

アプリラッパーではなく、実行可能ファイルで otool を実行する必要があります。

例(フォーマットが奇妙で申し訳ありません):

$ otool -L WriteRoom.app/Contents/MacOS/WriteRoom 

WriteRoom.app/Contents/MacOS/WriteRoom (architecture ppc):
    @executable_path/../Frameworks/Blocks.framework/Versions/A/Blocks (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 11.0.0)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.3)

WriteRoom.app/Contents/MacOS/WriteRoom (architecture i386):
    @executable_path/../Frameworks/Blocks.framework/Versions/A/Blocks (compatibility version 1.0.0, current version 1.0.0)
    /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 11.0.0)
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.3)
于 2011-08-11T19:09:51.480 に答える