gpt4 book ai didi

keychain - 在iOS10中,是否可以从静态库/框架内访问钥匙串(keychain),以进行单元测试

转载 作者:行者123 更新时间:2023-12-01 22:20:11 27 4
gpt4 key购买 nike

直到 Xcode 8/iOS 10,我才能够从静态库的单元测试中访问钥匙串(keychain)。升级后,出现错误,请参阅堆栈跟踪:

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

有什么想法可以让这项工作再次发挥作用吗?在应用程序级别,启用钥匙串(keychain)共享和添加权利可以解决这个问题,但这对我没有帮助,因为我需要能够在发布之前独立测试库,因为应用程序开发是由不同的团队完成的。我正在使用 Apple 的旧示例来了解如何添加到钥匙串(keychain),但尝试了其他库,都得到了相同的结果。

最佳答案

您可以尝试以下解决方法:

  1. 将应用目标添加到您的项目。

  2. 启用钥匙串(keychain)共享并为您添加的应用添加权限。

  3. 转到项目的测试目标。在“常规”->“测试”->“主机应用程序”下,添加您创建的应用程序。

  4. 运行测试

关于keychain - 在iOS10中,是否可以从静态库/框架内访问钥匙串(keychain),以进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39538377/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com