【问题标题】:Xcode 4.1 Code Signing IssueXcode 4.1 代码签名问题
【发布时间】:2013-09-13 20:35:25
【问题描述】:

我已经阅读了很多主题,但在这里找不到类似我的问题的任何内容。我认为这是一个简单的解决方法,但我似乎无法找到答案。我正在使用 Xcode 4.1 Gold Master。

基本上,当我归档我的 Mac 应用程序时,它会经历所有正常流程。构建成功。但是,当我提交到应用商店时,我收到以下消息:

Invalid Code Signing Entitlements - Your application bundle's signature contains code 
signing entitlements that are not supported on Mac OS X; this may happen if your Mac OS X 
project was ported from iOS. Please check your Xcode project's code signing entitlements 
configuration, and remove any unneeded entitlements.

Specifically, key "application-identifier" in "My App" is not supported.

我的应用不是从 iOS 移植过来的,而且我从未设置过权利。经过几个小时的挖掘,我发现代码签名阶段正在生成一个这种格式的 .xcent 文件:

<?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">
<dict>
    <key>application-identifier</key>
    <string>My.App.Identifier</string>
    <key>com.apple.application-identifier</key>
    <string>My.App.Identifier</string>
</dict>
</plist>

第一个关键是导致问题的关键。当我删除它并通过命令行使用相同的 .xcent 文件强制退出应用程序时,应用程序就会通过。

我已经删除并重新安装了 xcode,看看是否有帮助......它没有。

我知道此文件创建与配置文件相关联。它似乎获得了正确的数据,但添加了现有的标签。我检查了项目和构建设置,根本没有代码签名权利。知道如何让 Xcode 停止生成此密钥吗?每次我想提交到应用商店时,我都不太喜欢这样做。

【问题讨论】:

    标签: xcode xcode4 code-signing


    【解决方案1】:

    我面临同样的问题。看了你的留言,我稍微调查了一下。

    看起来在构建过程中 .xcent 文件是从位于 /Developer/Platforms/MacOSX.platform/Entitlements.plist 的文件生成的(它也可能位于 /Applications/Xcode.app/Contents/Developer /Platforms/MacOSX.platform/Entitlements.plist)。

    我编辑了这个文件并将“application-identifier”替换为“com.apple.application-identifier”。 所以现在 .xcent 文件只包含:

    <?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">
    <dict>
        <key>com.apple.application-identifier</key>
        <string>33R9UFHX3C.com.mycompany.myapp</string>
    </dict>
    </plist>
    

    但是,当我构建和上传它时,我仍然面临一个无效的二进制错误。

    编辑:它确实有效。 (我有另一个不相关的问题)

    【讨论】:

    • 我会在下一次构建中尝试一下!感谢您的建议。
    • 好发现!再次感谢您的帮助!
    • 也为我工作。谢谢。
    猜你喜欢
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 2014-03-25
    • 2015-06-16
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    相关资源
    最近更新 更多