[英]Building iOS applications using xcodebuild without codesign
我們正在為另一家公司構建應用程序。 他們持有簽名密鑰,不願與我們分享。
應該可以分開構建和簽名,但是我如何在xcodebuild的命令行上指定它?
為了跳過代碼簽名,您可以從控制台執行手動構建,如下所示:
xcodebuild clean build CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO
此外,使用-configuration
, -target
和-sdk
參數來定義構建設置。
請參閱此Stack Overflow應答 ,以獲得有關如何禁用Xcode內部代碼簽名的詳細說明。
為了完全阻止使用Xcode 7進行代碼簽名,我使用了以下所有選項:
CODE_SIGN_IDENTITY=""
CODE_SIGNING_REQUIRED="NO"
CODE_SIGN_ENTITLEMENTS=""
CODE_SIGNING_ALLOWED="NO"
最后一個選項, CODE_SIGNING_ALLOWED="NO"
似乎可以解決問題。
不幸的是,如果沒有代碼簽名,很難在發布模式下構建您的應用。 您將從構建系統中獲得錯誤,例如:
CodeSign error: code signing is required for product type 'Application' in SDK
'iOS 5.1'
在這種情況下,您應該將目標配置為在發布模式下使用開發人員/團隊通配符(*)簽名身份。 該應用程序將在您構建時與其簽名,您可以將其發送給您的客戶,以便他們可以將其重新簽名。 這就是我們大多數外包開發人員所做的事情。
然后,您可以通過刪除,如應用程序中的各種文件刪除代碼簽名信息_CodeSignature
並使用codesign
工具,從應用程序二進制信息。 但我不確定這有多容易。 但這並不是必不可少的。 配置文件或簽名信息中沒有任何敏感信息。
在Project Navigator中,選擇項目並打開項目的“Build Settings”部分(而不是任何特定目標)。
在“代碼簽名”下,找到“代碼簽名標識”,對於調試和發布模式,將“任何iOS SDK”設置為“不代碼簽名”。
為避免代碼簽名,請使用:
xcodebuild <your options> CODE_SIGNING_ALLOWED=NO
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.