ユニット テスト ターゲットが Xcode 7 でクラッシュします。
通常のアプリ デリゲートとは異なり、指定されたアプリ デリゲート クラスを使用して、プロジェクトで単体テストを実行します。はアプリ ターゲットのUnitTestAppDelegate
メンバーではなく、テスト ターゲットのメンバーです。
Xcode 6 では機能しており、正しいデリゲートが使用されていますが、Xcode 7 (ベータ 6) では、デリゲートをテストするためにロードしようとするとアプリがクラッシュします。iOS 8 と 9 の両方のシミュレーターを使用してテストします。
ファイルはアプリ ターゲットに認識されていません:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Unable to instantiate the UIApplication delegate instance. No class named UnitTestAppDelegate is loaded.'
私のmain.m
ファイルは次のようになります。
int main(int argc, char* argv[])
{
int returnValue;
@autoreleasepool
{
if (NSClassFromString(@"XCTest") != nil)
{
//use the test delegate
returnValue = UIApplicationMain(argc, argv, nil, @"UnitTestAppDelegate");
}
else
{
//use the normal delegate
returnValue = UIApplicationMain(argc, argv, nil, @"AppDelegate");
}
}
return returnValue;
}
私のスキームがどのように構成されているかのスクリーンショットも添付しています (実行とテストは同じスキームにありますが、それらを分離しようとしました)。
アプリターゲットのメンバーとして追加UnitTestAppDelegate
するとクラッシュは修正されますが、明らかにファイルをアプリに追加したくありません。
他の誰かがこれに遭遇しましたか?
何か案は?