所以我遇到了我的框架需要访问的问题KeyChain.这没关系,但在模拟器中运行时似乎失败了.挖掘它似乎是一个已知的问题,xctest在这里做错了.很公平,错误发生了.在Apple Developer论坛中,我们将在此讨论:
对.
这是库测试的一个众所周知的问题(有时称为Xcode的逻辑测试).这些测试由没有权利的工具(xctest)运行.从历史上看,这会给使用自定义权利的人(例如访问CloudKit)带来问题,但现在它也会影响使用钥匙串的人.
AFAIK没有直接的解决方法. 但是,我相信您可以通过在您的应用程序中运行此测试代码来避免此问题(强调我的)(在文档中称为app测试).
因为这些会在您的应用内部运行,所以他们会获得应用的权利.如果您没有方便的应用程序,您可以创建一个虚拟的应用程序来托管测试.(强调我的 怎么做?)
如果您遇到任何障碍,请试试这个并告诉我们.哦,不要让变通方法的可用性阻止你提交有关此问题的错误.Xcode应该能够使用权利运行库测试,而最近的钥匙串更改使这一点变得更加重要.分享和享受
https://forums.developer.apple.com/message/179846(参见:Eskimo的回复于2016年11月4日上午2:12)
他再次在另一个回复中说:
- 您可以通过在应用程序中运行测试来避免此问题,如果您没有方便,则可以创建虚拟应用程序.(强调我的)
- 请随意提交有关此限制的错误.
所以他再次提到:
您可以通过在应用程序中运行测试来避免此问题,如果您没有方便,则可以创建虚拟应用程序.
我很乐意这样做,我似乎无法弄清楚如何做到这一点.
我有的部分:
Framework Project
|
|- Unit Test Target
|- Framework Target
Dummy App Project
|
|- ??? How do I make this run the Framework's Unit Test Target?
Run Code Online (Sandbox Code Playgroud)
Ada*_*lla 15
啊,这篇文章有帮助:
https://medium.com/@ryuichi/setup-host-app-for-keychain-tests-in-xcode-8-97222611917e#.z3zpqwnzt
我正在添加一个全新的应用程序项目,我只需要在框架项目中添加一个新的目标 Single View Application
然后,我可以选择Host Application测试目标.
使用我之前的图表,最终的结果是:
Framework Project
|
|- Unit Test Target
|- Framework Target
|- Dummy App Target
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4223 次 |
| 最近记录: |