2016-09-16 1 views
3

Bis Xcode 8/iOS 10, war ich in der Lage, Zugriff auf den Schlüsselbund aus den Unit-Tests einer statischen Bibliothek. Nach dem Upgrade bekomme ich einen Fehler, siehe Stack-Trace:In iOS10, ist es möglich, Zugriff auf Schlüsselbund aus einer statischen Bibliothek/Framework, für Unit-Tests

failed: caught "NSInternalInconsistencyException", "Couldn't add the Keychain Item." 
(
    0 CoreFoundation      0x000000010b2a734b __exceptionPreprocess + 171 
    1 libobjc.A.dylib      0x000000010ad0821e objc_exception_throw + 48 
    2 CoreFoundation      0x000000010b2ab442 +[NSException raise:format:arguments:] + 98 
    3 Foundation       0x000000010a89eedd -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195 
    4 MyLibTests     0x0000000117366dea -[KeychainItemWrapper writeToKeychain] + 970 
    5 MyLibTests     0x000000011736614a -[KeychainItemWrapper setObject:forKey:] + 218 
    6 MyLibTests     0x000000011736a794 -[MyUserManager(Credentials) save] + 196 
    7 PawPointsLibTests     0x0000000116ef5490 -[MyLibTest tearDown] + 256 
    8 XCTest        0x000000010a6e0547 __24-[XCTestCase invokeTest]_block_invoke_2 + 1304 
    9 XCTest        0x000000010a7189d4 -[XCTestContext performInScope:] + 190 
    10 XCTest        0x000000010a6e001c -[XCTestCase invokeTest] + 255 
    11 XCTest        0x000000010a6e0835 -[XCTestCase performTest:] + 457 
    12 XCTest        0x000000010a6dd8fd -[XCTestSuite performTest:] + 491 
    13 XCTest        0x000000010a6dd8fd -[XCTestSuite performTest:] + 491 
    14 XCTest        0x000000010a6dd8fd -[XCTestSuite performTest:] + 491 
    15 XCTest        0x000000010a6c9b0c __25-[XCTestDriver _runSuite]_block_invoke + 51 
    16 XCTest        0x000000010a6eafc3 -[XCTestObservationCenter _observeTestExecutionForBlock:] + 602 
    17 XCTest        0x000000010a6c99a9 -[XCTestDriver _runSuite] + 436 
    18 XCTest        0x000000010a6ca7a2 -[XCTestDriver _checkForTestManager] + 287 
    19 XCTest        0x000000010a719f5c _XCTestMain + 628 
    20 xctest        0x000000010a64c922 xctest + 6434 
    21 libdyld.dylib      0x000000010e01368d start + 1 
    22 ???         0x0000000000000005 0x0 + 5 

Irgendwelche Ideen, wie dies wieder funktioniert. Auf App-Ebene hat das Aktivieren von Keychain-Sharing und Hinzufügen von Berechtigungen dafür gesorgt, aber das wird mir nicht helfen. B/c Ich muss die Bibliothek vor dem Versand selbstständig testen können, da die App-Entwicklung von einem anderen Team durchgeführt wird. Ich benutze das alte Beispiel von Apple für das Hinzufügen zum Schlüsselbund, habe aber andere Bibliotheken ausprobiert, alle mit dem gleichen Ergebnis.

Antwort

3

können Sie diese Abhilfe versuchen:

  1. ein App Ziel zu Ihrem Projekt hinzufügen.

  2. Aktivieren Sie das Teilen von Schlüsselbund und das Hinzufügen von Berechtigungen für die von Ihnen hinzugefügte App.

  3. Gehen Sie zum Testziel Ihres Projekts. Fügen Sie unter Allgemein-> Testen-> Host-Anwendung die von Ihnen erstellte Anwendung hinzu.

  4. Führen Sie die Tests

+0

Das funktionierte. Vielen Dank! – oviroa

Verwandte Themen