1

我有两个应用程序 - 一个名称中有空格,另一个没有。当我尝试通过命令行构建过程运行应用程序时,我遇到了应用程序无法正常运行的问题 - 即:用“SecItemCopyMatching:missing entitlement”炸毁

--- 当我尝试使用空格检查应用程序命令行上的权利时:

>machine:Release-iphoneos builder$ codesign -d --entitlements - Application\ Name.app 
Executable=/Users/Shared/Jenkins/Home/jobs/My_Application_Name/workspace/build/Release-iphoneos/Application Name.app/Application Name

--- 当我在名称中没有空格的应用程序上运行它时:

machine:Release-iphoneos builder$ codesign -d --entitlements - application.app         
Executable=/Users/Shared/Jenkins/Home/jobs/My_Application_Name/workspace/ios/build/Release-iphoneos/Application.app/Application
??qq?<?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>ABC123456.com.company.app</string>
    <key>aps-environment</key>
    <string>production</string>
    <key>get-task-allow</key>
    <false/>
    <key>keychain-access-groups</key>
    <array>
        <string>ABC123456.com.company.app</string>
    </array>
</dict>
</plist>

所以这里最大的问题是 - 这个应用程序名称已经在全球范围内使用,我无法更改它 - 我该如何解决这个问题,以便我可以进行这些命令行构建???

恕我直言:Apple 在 xcode 中的非 posix 合规性方面犯了一个大错误。

任何建议表示赞赏。

苹果的回应:“只有在使用 Xcode 应用程序构建和签署您的应用程序时,DTS 才支持 iOS 应用程序的代码签名。使用 xcodebuild 签署 iOS 应用程序的工作流程不受支持。”

所以他们不支持自己的命令行工具......

4

1 回答 1

0

删除所有配置文件可能解决了这个问题,尽管我在上次没有运气之前做了几次。一天晚上,它在自动化构建中自行解决,令我惊讶的是......

于 2013-05-15T22:09:16.110 回答