2013-03-19 64 views
1

我有兩個應用程序 - 一個在名稱中有一個空格,另一個沒有。當我嘗試通過命令行構建過程運行應用程序時,我遇到了應用程序能夠正常工作的問題 - 即:用「SecItemCopyMatching:丟失授權」炸彈 來自命令行的xcodebuild - 授權問題-SecItemCopyMatching:缺少授權

---當我嘗試檢查授權

>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> 

與空間的應用程序的命令行所以這裏最大的問題是 - 這個應用程序的名稱已被全球使用,我不能改變它 - 我該如何解決這個問題,以便我可以做這些命令行構建?

IMNHO:Apple在xcode中的非posix合規性方面犯了一個很大的錯誤。

任何建議表示讚賞。

蘋果的迴應:「iOS應用程序的代碼簽名只有在使用Xcode應用程序構建和簽署應用程序時才受DTS支持,它們不是支持使用xcodebuild簽署iOS應用程序的工作流程。

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

+1

哪個版本的Xcode您使用的是和你有最新版本的命令行工具?我只是用名爲'Test App.app'的空間設置了一個測試應用程序,並且能夠運行您遇到問題時的權利檢查。我在Xcode 4.6.2上使用最新的命令行工具。 – 2013-04-29 08:42:02

+0

現在有效。在夜間對我而言沒有真正的改變,可能是刪除並重新拉我的預置描述文件做了。 – 2013-05-15 22:07:49

回答

0

這有可能是刪除所有配置的配置文件解決了這個,但我這樣做,有幾次前的最後一次,我沒有做的運氣。它解決了自身的自動化構建出乎我的意料一個晚上......