簡體   English   中英

使用沒有代碼簽名的 xcodebuild 構建 iOS 應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM