【问题标题】:iCloud and correct provisioning profile usageiCloud 和正确的配置文件使用
【发布时间】:2012-01-22 19:15:33
【问题描述】:

谁能解决这个问题?我已经发布了三个我目前使用的论坛。

iCloud 和正确的配置文件使用 2011 年 10 月 30 日上午 9:49 我为我的 AppID 启用了 iCloud。然后,我创建了 3 个证书,列为:

  • Mac 应用程序
  • Mac 安装程序
  • 发展

在开发者证书实用程序中。

我在我的钥匙串中下载并安装了证书:

  • 第三方 Mac 开发者应用程序(Mac 应用)
  • 第 3 方 Mac 开发者安装程序(Mac 安装程序)
  • Mac 开发者(开发)

然后,我创建了 2 个配置文件:

  • 发展 我选择了 App ID、之前创建的开发证书和系统。

  • 生产 我只能选择 App ID 和 Mac 应用程序分发签名证书。

我在 Profiles Pref Pane 中成功安装了开发配置文件。如果我尝试在“配置文件首选项”窗格中安装生产配置文件,我会收到“未知错误”对话框。它是否正确?无法安装此配置文件?

我将这两个配置文件添加到 Xcode Organizer,并从开发配置文件中选择“Mac Developer”进行调试,并从生产配置文件中选择“3rd Party Mac Developer Application”作为发布版本。

现在,我可以在 Xcode 中启动该应用程序,它可以按预期工作(启用 iCloud)。如果我正在归档发布版本并在 Finder 中启动应用程序,我会得到:

taskgated:killed ... 因为不允许使用 com.apple.developer.ubiquity-container-identifiers 权利

生产配置文件是否应该仅用于提交给 MAS?我有什么问题吗?

史蒂夫拉克 帖子:6 (0) 回复报价添加负分添加正分 1. 回复:iCloud 和正确的配置文件使用 在 2011 年 11 月 4 日 4:23 AM 回复 pws 如果您查看 Xcode Organizer 中的 Production Profile,它会说您无法在设备上安装它——我猜这就是为什么它不会安装在 Settings 应用程序的 Profiles Pane 中的原因。我今天早上才发现这一点 - 该错误消息并没有什么帮助。

也许我错了,但看起来你目前无法在 MAS 之外发布 iCloud 应用程序。看起来我们必须像对待 iOS adhoc 配置文件一样对待开发配置文件进行测试。

何塞·伊内斯·坎图·阿兰比德 帖子:166 (1) 回复报价添加负分添加正分 2. 回复:iCloud 和正确的配置文件使用 在 2011 年 12 月 9 日下午 4:42 回复 steveflack 你们中的任何人都能够使用生产配置文件对其进行签名吗?

何塞·伊内斯·坎图·阿兰比德 帖子:166 (1) 回复报价添加负分添加正分 3. 回复:iCloud 和正确的配置文件使用 在 2011 年 12 月 9 日下午 5:49 回复 steveflack 有谁知道当使用启用了 iCloud 的生产配置文件时,mac 应用程序是否应该在我的开发机器上运行?还是需要提交到 Mac App Store ? 当我使用生产配置文件构建和签名时,我没有收到任何错误,但我在启动时收到“应用程序被杀死,因为我没有使用 com.apple.developer.ubiquity-container-identifiers 的权限”。

艾伦·杜纳霍 戈申 帖子:700 (6) 回复报价 4. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 12:08 回复 Jose Ines Cantu Arrambide 我也收到此错误。请帮帮我!

何塞·伊内斯·坎图·阿兰比德 帖子:166 (1) 回复报价添加负分添加正分 5. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 12:23 回复 Allen Dunahoo 我请求了 Apple 的技术支持,我会让你知道他们说什么。 但我的猜测是,要进行 Beta 测试,您应该在 mac 配置部分添加每个 mac 系统,并告诉每个 beta 用户通过双击将配置文件添加到他们的系统中。

我敢打赌,只有将应用发送到 Mac App Store 才能使用生产配置文件。

艾伦·杜纳霍 戈申 帖子:700 (6) 回复报价 6. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 12:46 回复 Jose Ines Cantu Arrambide 如果我无法运行该应用程序,我将无法将其上传到 Apple。

奇怪,但我现在无法编译任何其他 Mac 应用程序,无论是 iCloud 还是没有 iCloud。我曾经在不同的计算机上试过,但它不起作用!

何塞·伊内斯·坎图·阿兰比德 帖子:166 (1) 回复报价添加负分添加正分 7. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 1:04 回复 Allen Dunahoo 哇,您无法编译或无法运行该应用程序?不签名可以编译吗?

艾伦·杜纳霍 戈申 帖子:700 (6) 回复报价 8. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 1:29 回复 Jose Ines Cantu Arrambide 好吧,我想我可以编译它,但我得到了这个错误(每个应用程序都会略有变化):

错误:无法启动“/Users/padsoftware/Library/Developer/Xcode/DerivedData/Scrawl-heofvoywsunchdhjowxkvkoiqvan/Build/Products/Release/Scrawl.app/Contents/MacOS/Scrawl”

这很奇怪:我没有沙盒、iCloud 或此应用程序的权利。在我做的那些我得到同样的错误。我已经重新安装了 Xcode 4.2.1 和 OS X Lion 10.7.2。

艾伦·杜纳霍 戈申 帖子:700 (6) 回复报价 9. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 1:31 回复 Allen Dunahoo 如果没有代码签名,我会得到同样的错误。这真的让我很烦。联系 Apple 无济于事,因为它们会拖慢速度

何塞·伊内斯·坎图·阿兰比德 帖子:166 (1) 回复报价添加负分添加正分 10. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 2:10 回复 Allen Dunahoo 当我没有将 mac uuid 添加到 mac 配置门户时,这也发生在我身上,您的配置文件是否安装在 Lion 的系统首选项中? 但是因为当你没有对它进行代码签名时它会爆炸,所以没关系

何塞·伊内斯·坎图·阿兰比德 帖子:166 (1) 回复报价添加负分添加正分 11. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 2:12 回复 Allen Dunahoo 如果您从实用程序打开 Console.app,您在启动时会获得任何额外信息吗?

艾伦·杜纳霍 戈申 帖子:700 (6) 回复报价 12. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 2:15 回复 Jose Ines Cantu Arrambide 遗憾的是,不,我得到了相同的信息。

艾伦·杜纳霍 戈申 帖子:700 (6) 回复报价 13. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 2:19 回复 Allen Dunahoo 顺便说一句,我刚刚在stackoverflow中发布了这个。 Xcode error: failed to launch

艾伦·杜纳霍 戈申 帖子:700 (6) 回复报价 14. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 2:48 回复 Allen Dunahoo 问题是我缺少与开发证书关联的私钥+公钥......我也无法将我正在使用的那些导入到钥匙串中。 我生成了 CSR(它构建了公钥/私钥并将它们添加到钥匙串)并创建了一个新的证书/配置文件并更新了我的构建设置以指向新的东西。 有人说这为他们解决了问题。我会试试看它是否有效。

艾伦·杜纳霍 戈申 帖子:700 (6) 回复报价编辑 15. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 4:28 回复 Allen Dunahoo 好的,结果如下: 开发配置文件代码标志:成功。 生产配置文件代码符号:失败。控制台错误:“12/17/11 4:22:50.184 PM taskgated:killed com.allendunahoo.Scrawl[pid 5772] 因为不允许使用 com.apple.developer.ubiquity-container-identifiers 权利”

我不明白:开发配置文件的标题中包含此内容:8W27B5T8XC。但是,生产配置文件没有。我怀疑这是问题的一部分。现在,有人对如何解决这个巨大而丑陋的问题有任何想法吗?

附:我需要 com.apple.developer.ubiquity-container-identifiers 因为这个应用程序使用 iCloud。

消息由 AllenDunahoo 于 2011 年 12 月 17 日下午 4:28 编辑

艾伦·杜纳霍 戈申 帖子:700 (6) 回复报价编辑 16. 回复:iCloud 和正确的配置文件使用 2011 年 12 月 17 日下午 4:30 回复 Allen Dunahoo 这是我的权利:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd>">
<plist version="1.0">
<string>8W27B5T8XC.com.allendunahoo.Scrawl</string>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd>">
<plist version="1.0">
<array>
<string>$(TeamIdentifierPrefix)8W27B5T8XC.com.allendunahoo.Scrawl</string>
</array>
</plist>

【问题讨论】:

    标签: xcode macos icloud entitlements


    【解决方案1】:

    你似乎已经猜到了大部分:

    • iCloud 支持仅适用于从 App Store 发布的应用程序。
    • 您不能使用生产配置文件在您的开发机器上运行可执行文件。这仅适用于通过 Mac App Store 使用。
    • 您的发布目标可能使用您的“第 3 方 Mac 开发人员应用程序 (Mac App)”证书进行签名。这是构建您发送到应用商店的存档所必需的,但您无法在本地运行应用程序。相反,您应该将签名切换为“开发者”证书以运行本地发布版本,然后切换回“第 3 方 Mac 开发者应用程序 (Mac App)”以存档以发布。

    【讨论】:

    • 这个答案对我帮助很大。我误以为我需要使用非开发人员身份签名才能在没有从 Xcode 运行的 Mac 上进行测试。扩展一下,步骤如下: (1) 将 Release 代码签名身份设置为 Mac 开发人员身份(与您用于 Debug 的身份相同); (2) 存档; (3) 点击“分发”; (4) 单击“导出为”单选按钮; (5) 选择“应用程序”。如果您在 Mac 上安装了 Development Provisioning Profile(检查 System Preferences - 当且仅当安装了一个或多个配置文件时才会出现首选项窗格“Profiles”)然后应用程序将运行。
    • 我整天都在处理类似的问题。我密切关注您的步骤,但是当我尝试导出为应用程序时,我得到了“选择要签名的配置文件”页面,其中显示“不要辞职”作为默认选项,并且分发配置文件是唯一没有的选项旁边的黄色警告标志。不用说,当我运行应用程序时,使用分发选项签名不起作用(立即崩溃)。任何想法?在 Mavericks 上使用 Xcode 5.1。
    • 我想我明白了。我在我的开发人员配置文件中使用“存档”的调试版本;然后导出到Application,选择“Don't Re-sign”,就可以了!
    • 再挖一些,它也适用于带有存档的 AdHoc / Release 构建; Xcode 只是在获取配置文件中的更改时遇到问题,需要重新启动。
    【解决方案2】:

    我遇到了同样的问题,即通过使用 Production Provisioning 配置文件对应用程序进行签名,我无法运行该应用程序。我明白了:

    12/31/11 5:24:31.024 PM taskgated:killed com.agprojects.Blink[pid 25863] 因为不允许使用 com.apple.developer.ubiquity-kvstore-identifier 权利

    应用程序没有沙盒化,在 ~/Library/Containers/ 文件夹中没有任何内容,正如上面的评论所暗示的那样。

    我最好的猜测是,当使用生产配置文件签名时,应用程序需要先提交给 Apple,并且只有在 Mac App Store 中发布后才能运行。当然,还没有完成这一步只是一个猜测。

    【讨论】:

      【解决方案3】:

      首先,我没有阅读整个问题(它真的非常长)。我阅读了有关配置文件安装的部分,是的,您的生产配置文件不应该安装在您的机器上是正确的。开发配置文件允许应用在特定机器上运行以进行测试,分发配置文件用于发布应用。

      至于您被taskgated 杀死的问题,您需要删除您的应用容器。转到 ~/Library/Containers/ 并删除包含您的应用程序包 ID 的文件夹。每当您的应用遇到此类问题时,只需再次删除容器(这是新的删除构建文件夹修复)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多