当 Xcode 将“iCloud”权利添加到我的 iOS 项目的 App ID 时,它会使 Mac 的权利无效
Posted
技术标签:
【中文标题】当 Xcode 将“iCloud”权利添加到我的 iOS 项目的 App ID 时,它会使 Mac 的权利无效【英文标题】:When Xcode adds the "iCloud" entitlement to my App ID for my iOS project, it invalidates the entitlement for Mac 【发布时间】:2014-05-07 00:01:51 【问题描述】:我有一个 Mac 项目和一个 ios 项目,它们都使用 iCloud 功能。当我创建 Mac 应用程序时,有一个红色的“!”在“功能”选项卡的 iCloud 部分中,将“iCloud”权利添加到您的 App iD 旁边。当我点击“修复问题”时,红色的“!”出现在iOS项目的相应窗口中。
现在,每当我构建一个应用程序时,它都会撤消在另一个应用程序上修复的任何“修复问题”。
我在 SO 上找到了same question,但唯一的建议是在 Xcode 5 的 iOS 和 OS X 项目的“构建设置/代码签名”部分下手动添加“配置文件”。我尝试了许多不同的东西,但我不知道如何创建一个适用于 Mac 和 iOS 版本的配置文件。 iOS 项目中的选项是 iOS Team Provisioning Profile: * 和 None。同样,在 Mac 项目中,它是 Mac Team Provisioning Profile:* 和 None。
在 Apple 会员中心。看来我可以为 Mac 或 iOS 添加一个配置文件,但不能同时为两者添加一个配置文件。
如何让 Xcode 允许我编译每个应用程序(Mac 和 iOS),而不必每次在它们之间切换时都修复问题?
谢谢。
【问题讨论】:
您是在使用具有两个目标(一个用于 iOS,一个用于 Mac)的单个项目,还是它们是两个不同的 Xcode 项目? 如果您同时针对 OS X 和 iOS,您应该为不同的平台使用不同的配置文件。您不应该为两者都添加一个配置文件。 @Jay Versluis 我正在使用两个不同的项目。 @Tom Harrington 显然 Xcode 正在使用两个不同的配置文件,但似乎 iOS 配置文件取代了 Mac 配置文件,当我让 Xcode 修复它时,Mac 配置文件会弄乱 iOS 配置文件,反之亦然。我没有明确地对配置文件做任何事情,我让 Xcode 管理它们。如果有办法显式管理配置文件而不是让 Xcode 修复/破坏它们,我将不胜感激。 【参考方案1】:我知道这很荒谬,但这是我在问题“自行解决”之前所做的。
我使用 Xcode 首选项导出了我的帐户。我在 Apple 开发者会员中心禁用了我的 Mac。我在会员中心吊销了我最近的 Mac 开发证书 - 有两个证书仅在到期日期上有所不同。我将 Mac 项目中的团队更改为无。我让 Xcode 咳出 Xcode 意外退出问题报告,即使它根本没有退出。这可以通过尝试“运行”团队设置为“无”的应用程序来重现。我打了几次“修复问题”。我将团队设置回原来的位置,导入我之前导出的帐户。
瞧。不再为 iOS/Mac 授权问题而烦恼。
【讨论】:
如果我们希望现有应用支持 iCloud,是否必须创建另一个应用 ID?以上是关于当 Xcode 将“iCloud”权利添加到我的 iOS 项目的 App ID 时,它会使 Mac 的权利无效的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 修复问题“将 'iCloud Containers' 权利添加到您的 App ID 不起作用
Xcode iCloud“将“iCloud 容器”权利添加到您的 App ID”