簡體   English   中英

Xcode 6 - 如何為Ad-Hoc分發選擇簽名證書/配置文件?

[英]Xcode 6 - How to pick signing certificate/provisioning profile for Ad-Hoc distribution?

要將應用程序分發給我們的測試人員,我們使用Xcode,我們使用以下過程:

  • 存檔申請
  • 分發Ad-Hoc
  • 選擇配置文件
  • 將.ipa保存到文件夾

但是使用Xcode 6 ,這個工作流程發生了一些變化。 我仍然可以選擇Ad-Hoc分發選項,但我無法選擇我想要的配置文件。 這使我們無法控制使用哪個簽名證書和配置文件配置(我們使用推送通知)。

默認情況下,使用iPhone distribution簽名身份並生成某種XC Ad Hoc配置文件,如下圖所示: 出口IPA 如果單擊配置配置文件附近的箭頭,則會打開包含配置配置文件的文件夾。

所以我的問題是:

Xcode 6中是否有任何方法可以選擇Ad Hoc分發使用的配置文件?

謝謝!

我遇到了同樣的問題,使用命令行“xcodebuild”工具腳本解決,該腳本預裝了XCode6(不需要重新安裝XCode5)。

http://www.thecave.com/2014/09/16/using-xcodebuild-to-export-a-ipa-from-an-archive/

終端腳本:

xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa -exportProvisioningProfile 'Provisioning Profile Name'

提交到App Store時,我遇到了類似的問題。 我創建了一個存檔,然后單擊“提交”,Xcode想要使用默認的“XC com。*”通配符配置文件自動簽名,而不是已經擁有的顯式配置文件。

為了解決這個問題,我只是在Apple Developer Portal上重新生成了配置文件:

1)轉到developer.apple.com並找到要使用的分發配置文件。
2)選擇它,單擊“編輯”,重命名配置文件,然后單擊“生成”。
3)將配置文件下載到桌面並將其拖到Xcode 6圖標上。
4)重新啟動Xcode 6。
5)打開管理器窗口,然后在您構建的存檔上單擊“提交”。 Xcode會自動選擇您的顯式配置文件而不是通用配置文件。

進入組織者后

  • 選擇ad-hoc構建,然后單擊“導出....”
  • 選擇“Save for Ad Hoc Deployment” - > Next
  • 不從下拉列表中選擇組織,而是選擇“使用本地簽名資產” - >選擇
  • 像以前一樣導出並保存.ipa。

當然,您需要生成,下載和安裝ad-hoc配置文件。

似乎最后生成的配置文件現在獲勝。 因此,您可以重新生成所需的配置文件並下載它,Xcode將使用它。

一種更好的方法:在目標中設置所需的prov配置文件,並使用命令行構建您的ipa,這也是有效的。

這是腳本,我正在使用:

#!/bin/sh

# Current as working as of 2014/09/22
# Xcode 6

OUTPUTDIR="$HOME/build"
APPNAME="your-app"
SCHEME="your-app"
APP_WORKSPACE="$HOME/Path/To/your-app.xcworkspace"

rm "$OUTPUTDIR/$APPNAME.ipa" #deletes previous ipa
xcodebuild -workspace "$APP_WORKSPACE" -scheme "$SCHEME" archive -archivePath "$OUTPUTDIR/$APPNAME.xcarchive"
xcodebuild -exportArchive -exportFormat ipa -archivePath "$OUTPUTDIR/$APPNAME.xcarchive" -exportPath "$OUTPUTDIR/$APPNAME.ipa" 

和我的設置:

Xcode設置

我也無法解決這個問題 - 在提交到AppStore時,它被默認為通配符配置文件。

我最終在Xcode 6中構建,然后回到Xcode 5的Organizer窗口進行提交。 這樣它會提示你選擇一個配置文件來簽名。

在Xcode 6中(我現在正在使用至少6.1)當您進行ad hoc導出時,xcode 6將自動掃描是否有任何配置文件包含在開發者帳戶中注冊的所有設備,同時與軟件包ID匹配。 如果不是,它將使用XC提供配置文件。 因此,如果您想使用自己的配置文件,例如,為了推送通知,您需要在Apple開發人員門戶網站上選擇配置文件中的所有設備。 我猜這就是為什么有些人重新創建配置文件會起作用而有些人不會。

順便說一句,使用腳本可以導出並上傳到testflight,但設備無法下載。 可能在某個地方我錯了。 如果有人知道它為什么,請告訴我。 TKS

這對我有用:

  1. 單擊“..select a Development Team ..”對話框中的“查看帳戶..”。
  2. 單擊“查看詳細信息...”並找到XC Ad Hoc配置文件。
  3. 右鍵單擊該配置文件,然后選擇“在Finder中顯示”。
  4. 刪除所選的個人資料。
  5. 返回步驟1中的對話框。
  6. 點擊“選擇”。
  7. 單擊配置配置文件附近的箭頭以打開配置配置文件目錄。
  8. 再次刪除通用配置文件,如步驟4中所示。
  9. 單擊“發送[應用程序名稱]到Apple:”對話框中的“上一步”按鈕。
  10. 再次選擇“保存以進行特別部署”
  11. 再次單擊“選擇”按鈕。

現在您應該看到正確的配置文件名稱。

我有一個適合我的解決方法。

我安裝了Xcode 6和Xcode 5.1.1,Xcode 6在Applications中,Xcode 5.1.1在另一個目錄中。 當我想進行構建時,我使用Xcode 6來創建存檔。 但您也可以在Xcode 5.1.1中看到創建的存檔,因此我使用Xcode 5.1.1使用我想要使用的配置文件分發Ad Hoc .ipa。 所以使用Xcode 6構建,但使用Xcode 5.1.1進行分發。

導出時使用本地簽名資產解決了我的問題: 在此輸入圖像描述

@MrPatol的答案對我不起作用。 我的Xcode 6.3.2的工作場景

在會員中心 - > iOS配置文件

  • 刪除在您嘗試構建應用程序時默認設置的配置文件(例如“XC ...”)。 使用短名稱創建臨時供應配置文件(而非生產)。

在iPhone配置實用程序 - >供應配置文件中

  • 刪除相同的配置文件(例如“XC ...”)

在Xcode - > Organizer中

  • 選擇ad-hoc構建,然后單擊“導出....”選擇“保存以進行特別部署” - >“下一步”
  • 從下拉列表中選擇一個組織
  • 檢查是否自動選擇了新的ad-hoc配置文件
  • 像以前一樣導出並保存.ipa。

以下是解決這個問題的兩個關鍵點。

  • 生成配置文件時,需要將其鏈接到使用與應用程序相同的軟件包標識符的顯式應用程序ID 通配符應用程序ID不起作用。
  • 導出應用程序以進行臨時部署時, 在下拉列表中選擇“ 使用本地簽名資產 ”,然后單擊“選擇”。

然后,Xcode將通過將App ID與應用程序的包標識符進行匹配來找到正確的配置文件。

實際上,您需要創建一個特定於Ad Hoc Deployment的新分發配置文件。 這可以在經典會員中心找到,但它是一種新型證書。

然后,您可以選擇使用哪些設備來測試應用程序,就像使用開發人員配置文件一樣。

當您從通常的方式從管理器導出包時,新創建的證書將可用。

或者,您可以使用Apple提供的iOS 8 TestFlight解決方案,使您的用戶可以訪問預發行版。

在此輸入圖像描述

我有同樣的問題,最后我解決了它重新生成我想在Xcode 6中使用的配置文件,包括我在iOS Dev帳戶上注冊的所有設備,這樣做,選擇導出時顯示正確的配置文件和我可以在不使用腳本的情況下使用Xcode 6進行Ad Hoc導出。 希望能幫助到你。

我已經被困了一段時間了,但是使用Crashlytics解決了它,使用Xcode項目的構建設置中的選定配置文件進行分布式構建。

希望它能幫到某個人。

幾乎相同的問題。 創建分發存檔(產品>存檔)后,導出存檔(單擊導出...)並選擇“保存以進行企業部署”; 然后“下一步”。 然后,選擇“開發團隊”默認值(例如組織名稱),然后單擊“選擇”。 最后,您將看到一個摘要視圖,其中還列出了Xcode自動為您找到(可能是即時創建)的配置文件。 這可能是錯誤的配置文件(通常是通配符配置文件,如“XC:*”),並且可能會發生,因為開發人員門戶上已經存在通配符配置文件。 通配符配置文件可能被其他較舊的項目使用,也許從開發人員門戶中刪除通配符配置文件是不明智的。

我使用了支持票,只返回此鏈接https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringPushNotifications/ConfiguringPushNotifications.html#//apple_ref/doc/uid/TP40012582 -CH32-SW1 沒有太大的幫助。

我發現MrPatol的解決方案也適用於企業部署 ,並為我們解決了問題。 我首先登錄開發人員門戶並手動創建適合我的應用程序的配置文件。 然后下載並安裝新手動創建的配置文件。

在xcode 7中,我無法選擇adhoc配置

管理器 - >上傳到App Store&Organizer - >驗證

但我可以通過管理器選擇- >導出

編輯:

將adhoc導出到appFlight的應用商店后上傳應用程序會導致此處討論的另一個問題。 因此,解決這兩個問題就是一個問題。 創建AppStore配置,以便能夠通過組織者選擇並通過上傳到appstore來利用testFlight。

  1. 我認為這是在Xcode 7之后指定-exportOptionsPlist選項的正確方法。無論您在項目設置中指定什么,它都會選擇正確的配置文件,如GUI導出。

xcodebuild -exportArchive -archivePath $ Archive_Path -exportPath $ LOCAL_PACKAGE_DIR -exportOptionsPlist $ Export_Plist_Path

optionPlist文件是這樣的,

<dict>
  <key>teamID</key>
        <string>MYTEAMID123</string>
        <key> teamID </key>
        <string>app-store</string>
        <key>uploadSymbols</key>
        <true/>
</dict>


<plist>

應用商店,企業,ad-hoc,開發是另類

  1. 但是您可能會在上面遇到另一個錯誤。

錯誤域= IDEDistributionErrorDomain代碼= 14“找不到適用的設備。” UserInfo = {NSLocalizedDescription =找不到適用的設備。}

這是一個紅寶石問題。 試試這個shell腳本, xcbuild-safe.sh

xcbuild-safe.sh xxxxNormalOptionsInXcodebuild bla...
  1. 等一會兒,又出現了一個奇怪的錯誤。

xcbuild-safe.sh:第62行:shell_session_update:找不到命令

什么是shell_session_update 讓我們來解決它。 只需在真正的xcodebuild cmd之前定義一個函數,即在第60或61行。

function shell_session_update() { :; }

在回答您的具體問題時,沒有辦法選擇要使用的配置文件。 你想做什么? (即您想要選擇的配置文件允許自動生成的配置文件不是什么?)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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