如何获取 iOS 框架测试目标并在虚拟应用程序中运行它?

2024-02-01

所以我遇到了一个问题,我的框架需要访问KeyChain。很好,但是在模拟器中运行时似乎失败了。挖掘它似乎是一个已知的问题xctest在这里做错事了。公平地说,错误是会发生的。在 Apple 开发者论坛中,对此进行了讨论:

Right.

这是库测试(有时被 Xcode 称为逻辑测试)的一个众所周知的问题。这些测试由没有权利的工具 (xctest) 运行。从历史上看,这会给使用自定义权利(例如访问 CloudKit)的人们带来问题,但现在它也会影响使用钥匙串的人们。

AFAIK 没有直接的解决方法。但是,我相信您可以通过在应用程序中运行此测试代码来避免该问题(强调我的)(在文档中这称为应用程序测试)。

因为它们在您的应用程序内部运行,所以它们获得应用程序的权利。 如果您手边没有应用程序,您可以创建一个虚拟的来托管测试。(强调我的我该怎么做呢?)

请尝试一下,如果遇到任何障碍请告诉我们。 哦,不要让解决方法的可用性阻止您提交有关此问题的错误。 Xcode 应该能够运行具有权利的库测试,最近的钥匙串更改使这一点变得更加重要。 分享和享受

https://forums.developer.apple.com/message/179846 https://forums.developer.apple.com/message/179846(参见: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?

啊,这篇文章有帮助:

https://medium.com/@ryuichi/setup-host-app-for-keychain-tests-in-xcode-8-97222611917e#.z3zpqwnzt 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 iOS 框架测试目标并在虚拟应用程序中运行它? 的相关文章

  • 当应用程序退出活动状态时,MPMovies PlayerViewController 被解雇

    当我将 iPhone 设置为睡眠状态 切换到另一个应用程序等 然后再次返回时 之前的可见内容MPMoviePlayerViewController 提出与presentMoviePlayerViewControllerAnimated 已经
  • 如何从项目中删除 CocoaPods?

    从项目中删除 CocoaPods 的正确方法是什么 我想删除整个 CocoaPod 由于我的客户施加的一些限制 我无法使用它 我只需要一个 xcodeproj 而不是 xcworkspace 可以从项目中删除 CocoaPods 但目前 C
  • 如何在IOS中的UIStackView中设置权重

    UIStackView与安卓类似LinearLayout但我不知道如何设置子视图的权重 假设我有一个垂直的UIStackView and 3 UIImageView就在里面 我想连续设置权重3 6 1UIImageViews 我怎么做 UI
  • 修补应用内购买黑客;卡在第四步

    正如我们许多人所知 苹果最近出现了一种情况 黑客可以免费获得任何应用内购买 苹果最近发布了这个文件 http developer apple com library ios releasenotes StoreKit IAP Receipt
  • 将永久字符添加到 UITextField

    有没有办法将字母永久添加到 UITextField 中 用户无法删除它 我想添加一个字符 用户无法删除它 但他们仍然可以在之后添加字母 Cheers 附注这是适用于 iOS 的 A UITextField有一个名为 应该更改范围内的字符 的
  • 如何打开定位服务

    当有人第一次拒绝时 如何从实际应用程序重新打开定位服务 我可以选择关闭或打开它 您只能提示他们在屏幕上打开定位服务 如下所示 UIApplication sharedApplication openURL NSURL URLWithStri
  • XCode 无法将 iPhone 应用程序部署到 iPhone 3GS

    因此 我构建了我的 iPhone 应用程序 它在模拟器中运行良好 因此我想将其部署到我的 iPhone 上进行最后一轮测试 然后再使用我的分发配置文件进行公开 Beta 测试 我已经这样做过很多次了 从来没有出现过问题 然而 自从上次测试运
  • Parse.com 从相关 PFObject 获取 PFUser

    我正在将照片保存为 PFObject 解析 并使用 PFUser currentUser 用户 ID 作为其键之一 我想在表格视图中显示照片以及该 PFUser 的详细信息 但是当我尝试获取用户时 PFUser user self phot
  • 如何在 iOS 9 上可靠地检测是否连接了外部键盘?

    在 iOS 9 之前 确定是否连接外部键盘的最可靠方法是监听UIKeyboardWillShowNotification并使文本字段成为第一响应者 如中所述这个问题 https stackoverflow com questions 289
  • 在 Xcode 5 中重命名 iOS 项目[重复]

    这个问题在这里已经有答案了 我需要重命名一个 iOS 项目 有没有办法在不开始一个全新项目的情况下做到这一点 我发现的所有其他信息都与 Xcode 4 或旧版本相关 这些方法似乎使项目崩溃 我在尝试任何名称更改之前创建了一个快照 在 Xco
  • 适用于 iPhone / iPad / iOS 的快速、精益 PDF 查看器 - 提示和提示?

    最近有很多关于绘制 PDF 的问题 是的 您可以使用UIWebView但这无法提供您所期望的优秀 PDF 查看器的性能和功能 您可以绘制PDF页面到 CALayer http www cocoabuilder com archive coc
  • UIButton的高亮状态由什么控制事件开始和结束

    我正在创建类似钢琴的视图UIButton作为钢琴键 什么UIControlEvents当按钮获得和失去突出显示状态时 我应该监听以获得回调吗 我试图创建子类UIButton并添加属性观察者highlighted并且运行良好 然而 有时我需要
  • 将 Firebase 云消息传递与 Windows 应用程序结合使用

    我在 Android 和 iOS 应用程序中使用 Firebase Cloud Messaging 但是我还有此应用程序的 Windows Mac OS 版本 我想保留相同的逻辑 我知道 Firebase Cloud Messaging 可
  • Apple Watch 预构建操作可更改故事板 customModule 引用

    我目前有一个项目 其中包含同一应用程序的 3 个不同版本 不同的品牌等 该项目运行得很好 从那时起 我添加了 3 个新的 Apple Watch 目标 每个应用程序 版本 1 个 其中 2 个引用 主 Apple Watch 目标中的文件
  • ios水平居中约束问题?

    I am having hard time in learning constraints auto layout in iOS I have used any width any height I have a storyboard sc
  • 如何让按钮闪烁?

    我试图在扫描正确时将按钮的颜色 只是闪烁 闪烁 更改为绿色 在出现问题时将按钮的颜色更改为红色 我可以用这样的视图来做到这一点 func flashBG UIView animateWithDuration 0 7 animations s
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None
  • 水平 UICollectionView 单行布局

    我正在尝试使用以下命令设置简单的水平布局UICollectionView 兜圈子却没有达到预期的结果 所以任何指针或例子将不胜感激 我粘贴经常更改的代码但没有成功可能没什么意义 该图像显示两行 第一行是单个项目 尺寸正确并且在中心正确对齐
  • PFQueryTableViewController 错误

    我正在遵循在线教程 使用 Parse 作为后端创建照片共享应用程序 我已经运行了两次教程 两次都从头开始创建应用程序 但在同一位置仍然出现相同的错误 我到处寻找解决方案 但仍然没有运气 我正在使用 PFQueryTableViewContr
  • 什么是 WKWebView 中的 WKErrorDomain 错误 4

    fatal error LPWebView encounters an error Error Domain WKErrorDomain Code 4 A JavaScript exception occurred UserInfo 0x7

随机推荐

  • 在 C++ 中查找大于 4GB 的文件? [复制]

    这个问题在这里已经有答案了 我正在使用 MS Visual Studio 2012 编译器 并且正在 x64 发布模式下构建 使用 ifstream 我可以读取大于 4GB 的文件 问题是 我无法找到 10GB 文件中间的位置 当我像这样使
  • SQL 计数日期范围

    我正在尝试查询 SQL 数据库以获取每个客户在特定日期范围内发出的订单数 我有一个订单列表如下 CustomerName ClientID DateOrdered Customer No 2 10 2011 11 25 Customer N
  • 如何在 OSX 10.9 上安装 gdb

    如何在 OSX 10 9 上安装 gdb 我尝试使用 macports port install gdb Password gt Updating database of binaries 100 0 gt Scanning binarie
  • Android MotionEvent.getActionIndex() 和 MultiTouch

    我试图在事件 MotionEvent ACTION MOVE 发生时获取指针 id 我通过调用 event getActionIndex 来做到这一点 但对于第二个 第三个 第四个和第五个手指 它总是返回 0 我在 Galaxy S I90
  • 当经度 > 90 时,Python 纬度/经度中点计算给出错误结果

    当给定两端点的纬度和经度时 我有一个短函数来计算线的中点的问题 简单来说就是当经度大于 90度或小于90度时都能正常工作 对于地球的另一半 它提供了一个有点随机的结果 该代码是 javascript 的 python 转换 位于http w
  • 通过 awk 将频率(出现次数)添加到我的文本表中

    给定这个输入表 pac1 xxx pac1 yyy pac1 zzz pac2 xxx pac2 uuu pac3 zzz pac3 uuu pac4 zzz 我需要将频率添加到第三列 如下所示 pac1 xxx 2 3 pac1 yyy
  • 程序接收到信号SIGPIPE,管道损坏

    我写了一个基于posix套接字的客户端程序 该程序创建多个线程并且将锁定服务器 但是在 gdb 调试期间 程序给出了一个信息 错误 gdb n Program received signal SIGPIPE Broken pipe Swit
  • 日历 - 获取上个月的最后一天

    我想获取上个月的最后一天 但这似乎不起作用 Calendar cal Calendar getInstance Integer lastDay cal getInstance getActualMaximum cal DAY OF MONT
  • 如何对多个实体使用单个 JPA 规范类和方法

    我正在创建一个 Spring Boot 应用程序 其中包含产品 类别 机械 使用位置等实体 所有这些实体的共同点是它们都有一个名为 name 的 String 属性 并且可以使用 name 从 UI 中过滤 我已经编写了一个使用名称进行过滤
  • Angular - 在服务和组件中使用管道

    在 AngularJS 中 我可以使用类似于以下语法的服务和控制器内部的过滤器 管道 filter date myDate yyyy MM dd 是否可以在 Angular 中这样的服务 组件中使用管道 像在 Angular 中一样 您可以
  • 需要一些帮助来理解核心数据中的瞬态属性

    我阅读了有关瞬态属性的文档 但我无法真正理解它们的用途 如果我有这样的 NSManagedObject 自定义子类 有人可以告诉我拥有和不拥有瞬态属性之间的区别吗 interface Board NSManagedObject NSMuta
  • 在 Java 11 上编译 Android 数据绑定的 JAXB 依赖项放在哪里?

    我正在使用 Android 数据绑定 虽然事情很简单 但运行得很好 但是 一旦我添加了BindingAdapter https developer android com reference android databinding Bind
  • 在 SQL Server 中使用开始/结束块和 Go 关键字?

    何时使用该指南有哪些指导原则BEGIN and ENDSQL Server 中的关键字 另外 到底是什么GO关键字做什么 GO 就像脚本的结尾 您可以有多个 CREATE TABLE 语句 并用 GO 分隔 这是一种将脚本的一部分与另一部分
  • 聚集索引列上的非聚集索引可以提高性能吗?

    在SQL Server 2005中 查询分析器多次告诉我在已经有聚集索引的表的主ID列上创建非聚集索引 遵循此建议后 查询执行计划报告查询应该更快 为什么同一列 具有相同排序顺序 上的非聚集索引比聚集索引更快 聚集索引包含表的所有数据 而非
  • 探测扩展时出现 GET net::ERR_FAILED 错误

    有一个特定的 Chrome 扩展程序 我想从中获取一个 PNG 文件XMLHttpRequest 如果启用了扩展 我想将 load 写入控制台 如果禁用扩展 我想将 error 写入控制台 它工作正常 但如果禁用扩展程序 Chrome 会在
  • 列出 GCP 帐户/组织的所有用户

    我在 GCP 中有一个组织 其中有多个项目 有没有办法列出所有项目用户及其角色 而不必逐个项目访问项目 我正在使用gcloud projects get iam policy PROJECTNAME 但列出单个项目的用户 我有几百个 Tha
  • Javascript:无法将 href 添加到列表项

    我正在尝试将新项目添加到列表项目中 但下面的代码没有将超链接添加到我想要的列表项 有人可以告诉我出了什么问题吗 HTML div ul li Ut enim ad minim veniam li li Excepteur sint occa
  • “Angular cdk Drag drop”用于将列表中的项目拖放到容器中(无序)

    我知道 cdk 拖放可以很好地处理列表 并且有很多示例 但我想做的是 一侧是列表 另一侧是容器 容器中的物品应该位于容器中的任何位置 并且可以由 x 和 y 轴固定 因此 当从列表中拖放到容器中的某个 x y 处时 该项目应保持该位置 请帮
  • ASP MVC5 身份用户抽象

    我想使用默认的 Identity 2 提供程序构建 N 轮胎 Web 应用程序 因此 我的数据层包含带有模型定义的纯 C 类 没有任何外部依赖性 但如果不添加 AspNet Identity 引用 就不可能将某些类链接到我的应用程序用户 我
  • 如何获取 iOS 框架测试目标并在虚拟应用程序中运行它?

    所以我遇到了一个问题 我的框架需要访问KeyChain 很好 但是在模拟器中运行时似乎失败了 挖掘它似乎是一个已知的问题xctest在这里做错事了 公平地说 错误是会发生的 在 Apple 开发者论坛中 对此进行了讨论 Right 这是库测