2017-06-05 74 views
4

我正在嘗試使用fastlane在Jenkins中自動構建/部署我的hybdrid移動應用程序。 我使用ion(v3.3.0)和cordova(v7.0.1)作爲源代碼。我使用fastlane v2.36.0,Xcode是8.3.2版本。如何自動設置IOS cordova項目上的簽名團隊?

我在詹金斯的工作運行

yarn 
ionic cordova prepare 
fastlane ios build 

的FASTLANE /中fastfile

platform :ios do 
    before_all do 
    end 

    ios_project_path = "platforms/ios/awesomeproject.xcodeproj" 

    desc "Build for IOS" 
    lane :build do 
    increment_build_number(
     xcodeproj: ios_project_path, 
     build_number: ENV["BUILD_NUMBER"] 
    ) 

    # Recreate schemes to ensure a smooth transition from cordova to gym 
    recreate_schemes(project: ios_project_path) 

    update_project_team(
     path: ios_project_path, 
     teamid: "TEAMID" 
    ) 

    #update_provisioning_profile_specifier(xcodeproj: ios_project_path) 


     gym(scheme: "awesomeproject", 
      configuration: "Debug", 
      clean: true, 
      project: ios_project_path, 
      output_directory: "target") 
    end 
end 

的FASTLANE/Appfile

package_name "com.xxx.awesomeapp" 

app_identifier "com.xxx.awesomeapp" # The bundle identifier of your app 
apple_id "[email protected]" # Your Apple email address 

team_id "TEAMID" # Developer Portal Team ID 

命令fastlane ios build是在健身房指令失敗的命令與錯誤

代碼簽名在SDK的iOS 10.3'需要的產品類型「應用」

在FASTLANE日誌詳細的錯誤是

檢查依賴性簽署了「awesomeproject」要求發展 團隊。在項目編輯器中選擇一個開發團隊。代碼簽名在SDK的iOS 10.3'需要 產品類型「應用」

由科爾多瓦產生的xcode項目激活了自動簽名但它缺少的簽名團隊。 到目前爲止,我使用的解決方法是在第一次生成platform/ios文件夾時手動選擇Team with Xcode。但是如果我刪除cordova生成的平臺文件夾,我需要在XCode中重做團隊的選擇。

有沒有辦法用Cordova或任何fastlane插件選擇Signing團隊?我願意使用任何解決方案,腳本。 所以我的構建將完全自動化。 update_project_team指令不起作用。

回答

5

中創建一個項目的根目錄中稱爲build.json文件,與團隊ID和供給曲線GUID要使用簽名的應用程序:

build.json

{ 
    "ios": { 
    "debug": { 
     "codeSignIdentity": "iPhone Developer", 
     "provisioningProfile": "{your development profile}", 
     "developmentTeam": "{your Team ID}", 
     "packageType": "development" 
    }, 
    "release": { 
     "codeSignIdentity": "iPhone Distribution", 
     "provisioningProfile": "{your distribution profile}", 
     "developmentTeam": "{your Team ID}", 
     "packageType": "app-store" 
    } 
    } 
} 

然後,當您使用Cordova CLI構建,將使用這些簽名憑據。

注意:根據Cordova documentation,Xcode 8和iOS 10不推薦使用上述語法,並且不再需要預配配置文件GUID。但是,如果沒有使用Cordova v7.0.1指定配置文件,我一直無法工作。