周围有很多类似的问题,但在我的情况下没有一个答案有效,所以我们又来了......
我的工作区有一 (1) 个项目,该项目有一 (1) 个目标。
我决定复制那个目标,这样我就可以构建我的应用程序的变体(想想精简版/付费版,但不同)。
任何涉及重复目标的方案都可以构建,但不会运行。具体来说,在模拟器上我得到:
无法在所选目标上运行
所选目标不支持构建所选软件的体系结构。切换到支持该架构的目的地以运行所选软件。
...当然,在设备上:
Xcode 无法使用所选设备运行。
选择具有受支持架构的目标,以便在此设备上运行。
笔记
- 任何涉及原始(旧)目标的方案都可以构建并运行正常。
- 产品名称包含no_spaces。
- 我尝试了“架构”/“有效架构”/“仅构建活动架构”等的所有组合,但无济于事......
- 我已经部署到 4.3 或更高版本,所以我不需要/想要 armv6。
- 我使用的是 Xcode 4.5,基础 SDK 6.0,所以 armv6 无论如何都不应该是一个选项。
- 当我尝试通过 iTunes 安装 AdHoc 版本时,我收到错误 0xE8008001
- 当我尝试通过 Xcode Organizer 安装 AdHoc 构建时,我收到以下三个警告:
验证警告 iPhone/iPod Touch:应用程序可执行文件缺少所需的架构。必须至少存在以下架构之一:armv7 (-19033)
验证警告 应用程序未通过协同设计验证。签名无效,包含不允许的权利,或者未使用 iPhone 分发证书签名。(-19011)
验证警告 无法从应用程序中提取权利:(null) (-19045)
有什么线索吗?
更新
我尝试从头开始创建一个新目标(“空 iOS 应用程序”),并一一添加所有类/框架/资源。同样的错误。猜猜库比蒂诺的某个人不希望你重用任何代码......
更新 2
只是为了看看会发生什么,我更改了原始目标(运行的目标)的“产品名称”(在“构建设置 -> 打包”下),现在我得到了同样的错误。需要明确的是:旧的和新的产品名称都是字母和下划线。已修复此问题是由于 plist 上的可执行文件名称与构建设置上的产品名称不匹配。通常 plist 包含一个 $() 变量,但我对该字段进行了硬编码......仍然,重复的目标不会运行......
固定的
现在它正在工作......我想我不是在清理新目标,而是在清理旧目标。以为“干净”会清除所有内容,但 Xcode 窗口中间的实时日志视图显示不同......