2016-05-16 16 views

Antwort

2

Dies liegt daran, dass Komponententests Ihr Anwendungs-Bundle oder sogar das Komponententestpaket nicht als Hauptpaket laden.

Für weitere Informationen zu diesem Thema finden Sie

Jetzt können wir, um dieses Hack durch eine Kategorie NSBundle in Ihrem Unit-Test-Projekt inklusive. Der Objective-C-Kategorie-Hack funktioniert auch für schnelle Unit-Tests, da Bundle mit NSBundle überbrückt wird, stellen Sie einfach sicher, dass Sie einen Bridged-Header für Ihr Unit-Test-Projekt haben.

Sie können dann für das richtige Hauptbündel suchen haben, aber wenn Sie nur eine schnelle und schmutzige Art und Weise wollen eine gültige Paket-ID dann haben verwenden Sie die folgenden

@interface NSBundle (BundleIdentifier) 

-(NSString *)bundleIdentifier; 

@end 

@implementation NSBundle (BundleIdentifier) 

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation" 
-(NSString *)bundleIdentifier 
{ 
    return @"com.yourcompany.yourapp.unitTests"; 
} 
#pragma clang diagnostic pop 

@end 

alle Nun, die übrig bleibt, ist Fügen Sie die Headerdatei in Ihren Komponententest ein, damit die Kategorie geladen wird.