我正在尝试使用FastLane在Jenkins中自动化/部署我的Hybdrid移动应用程序。我将离子(v3.3.0(和科尔多瓦(V7.0.1(用于源。我使用Fastlane v2.36.0,Xcode是版本8.3.2。
我在詹金斯作业中运行的命令
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 "xxx.xxxx@xxx.com" # Your Apple email address
team_id "TEAMID" # Developer Portal Team ID
命令fastlane ios build
在Gym指令上失败,而错误
SDK中的产品类型"应用程序" iOS中需要代码签名 10.3'
Fastlane日志中的详细错误是
检查依赖项签署"很棒的项目"需要开发 团队。在项目编辑中选择一个开发团队。代码签名是 SDK中的产品类型"应用程序" iOS中的要求 10.3'
Cordova生成的Xcode项目已激活了自动签名,但缺少签名团队。到目前为止,我使用的解决方案是第一次生成平台/iOS文件夹时使用Xcode手动选择团队。但是,如果我删除了科尔多瓦生成的平台文件夹,我需要重做xcode的团队的选择。
有没有办法使用Cordova或任何Fastlane插件(签名团队(进行选择?我愿意使用任何解决方案,脚本。因此,我的构建将完全自动化。update_project_team指令不起作用。
在您的项目的根目录中创建一个名为 build.json
的文件,并使用Team ID和Provisioning Profile 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文档,上述语法对XCode 8和iOS 10进行了弃用,并且不再需要"配置配置文件GUID"。但是,我一直无法使用Cordova v7.0.1。