2017-09-03 87 views
0

我嘗試使用下面的命令來籤我的Xcode項目:Xcode 8中.p12文件的用途是什麼?分發簽名與自動簽名不同嗎?

xcrun -sdk iphoneos PackageApplication #project path -o outputpath.ipa -sign="name of sign" -embed="mobileprovision" 

當我輸入這個命令返回當前目錄下,我在沒有任何錯誤,但不會產生IPA文件,但如果我從命令中刪除以下內容:

xcrun -sdk iphoneos PackageApplication #project path -o outputpath.ipa 

我得到一個IPA文件,但似乎沒有簽名。我有一個.p12文件和.mobileprovision文件,但不知道如何繼續。我目前使用的Xcode 7.3.1版本,但也想知道如何在Xcode做8

+0

請解釋一下什麼是你的目標並輸出是否有任何限制(例如,我有使用命令行) –

+0

總之請告訴我如何通過.mobileprovision文件和分發證書創建ipa –

+0

有很多方法可以做到這一點,爲什麼你不能使用Xcode?你正在試圖建立一個腳本,或者你可以使用不同的工具來簽署應用程序? –

回答

0

有這樣做的幾種方法,但因爲你是不是要建立一個腳本,最簡單的方法是使用iReSign工具。

此工具輸入IPA/xarchive文件,12頁的文件和證書(您從您的鑰匙串選擇)。

您還可以更改包ID和近期行動計劃的權利文件。 它的開源,我一直在使用它一段時間。

如果您不能使用此工具,並使用命令行xcodebuild

歸檔您的應用程序:

xcodebuild -scheme <scheme name> archive 

現在你有一個xarchive文件,從存檔到IPA文件導出應用:

xcodebuild -exportArchive -exportOptionsPlist "<pathToOptions>" -archivePath "<pathToArchive>" -exportPath "<pathToOutput>" 

您需要創建選項plist文件,你可以看到可用的選項here

下面是一個選項文件的一個例子:

<?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>teamID</key> 
     <string>MYTEAMID123</string> 
     <key>method</key> 
     <string>app-store</string> 
     <key>uploadSymbols</key> 
     <true/> 
</dict> 
</plist> 

注意:您可以隨時使用幫助菜單:xcodebuild -h

注2:你可以設定在Xcode證書和開發團隊(需要做一次)

+0

以及我想命令,所以我可以將它們添加到我的nodejs應用程序,我不創建任何shell腳本,但nodejs應用程序 –

+0

Updated我的回答 –

+0

好的,我會trye,但會出現在-exportProvisioningProfile「我的應用程序配置文件」,?? .mobileprovision文件的文件路徑,文件名稱是什麼? –