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.
Das funktionierte. Vielen Dank! – oviroa