问题描述
我目前正在尝试使用Fastlane通过CircleCI为React-Native应用程序设置iOS部署,而我遇到的问题是我在我的 pilot
fastlane脚本,我将构建上传到iTunes Connect,但构建从用于TestFlight内部测试器消失。如果我在本地存档并将构建内容上传到iTunes Connect,它将可用于测试。
I am currently trying to set up iOS deployment for a React-Native app, using Fastlane through CircleCI, and I am having an issue where I get to pilot
in my fastlane script, I upload the build to iTunes Connect, but the build disappears from being used for TestFlight Internal Testers. If I archive locally and upload the build to iTunes Connect, it will be available for testing.
我的 Fastfile
,使用版本 2.51.0
platform :ios do
lane :deploy_staging do
match(
type: "adhoc",
force: true
)
increment_build_number(
xcodeproj: './ios/MyApp.xcodeproj'
)
gym(
export_method: "ad-hoc",
scheme: "MyApp Staging",
project: "./ios/MyApp.xcodeproj"
)
pilot(
skip_submission: false,
distribute_external: false,
)
clean_build_artifacts
git_add(
path: '.'
)
git_commit(
path: '.',
message: "Deployed new staging version #{lane_context[SharedValues::BUILD_NUMBER]} [skip ci]",
)
push_to_git_remote(
local_branch: ENV["CIRCLE_BRANCH"],
remote_branch: ENV["CIRCLE_BRANCH"]
)
end
end
我的 circle.yml
machine:
environment:
PATH: '$PATH:$HOME/node/node-v8.1.3-darwin-x64/bin'
xcode:
version: 8.3.3
dependencies:
cache_directories:
- $HOME/node
pre:
- "ls \"$HOME/node/node-v8.1.3-darwin-x64\" || mkdir \"$HOME/node\""
- "ls \"$HOME/node/node-v8.1.3-darwin-x64\" || curl -L \"https://nodejs.org/dist/v8.1.3/node-v8.1.3-darwin-x64.tar.gz\" -o \"$HOME/node/node-v8.1.3-darwin-x64.tar.gz\""
- "ls \"$HOME/node/node-v8.1.3-darwin-x64\" || tar -xzf \"$HOME/node/node-v8.1.3-darwin-x64.tar.gz\" -C \"$HOME/node/\""
- "rm -f \"$HOME/node/node-v8.1.3-darwin-x64.tar.gz\""
override:
- npm install -g react-native-cli
- npm install
test:
override:
- npm test
post:
- mkdir -p $CIRCLE_TEST_REPORTS/junit/
- find . -type f -regex ".*/test_out/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;
deployment:
pre:
- gem install fastlane
staging:
branch: staging
commands:
- npm run build:ios
- fastlane deploy_staging
来自CircleCI测试的输出
Output from the CircleCI test
在iTunes Connect上构建完成的处理
Build completed processing on iTunes Connect
构建不可用(invi在TestFlight选项卡上
Build not available (invisible) on TestFlight tab
我尝试通过本地存档使用相同的证书和配置文件进行调试,但它上传成功,我可以在TestFlight上分发给内部测试人员。
I tried debugging this by archiving locally with the same certificates and profiles, but it uploads successfully and I am able to distribute to internal testers on TestFlight.
非常感谢您的帮助。
推荐答案
找到帮助解决此问题的解决方案。
Found the solution that helped resolve this issue.
两个部分似乎有助于修复它
Two parts seem to help fix it
-
更改<$ c中使用的配置文件$ c> adhoc 到
appstore
a。我必须通过匹配生成appstore配置文件:
a. I had to generate the appstore provisioning profile through match:
fastlane match appstore -a com.myapp.app.staging
添加 include_symbols
和 include_bitcode
到我的健身房
构建参数。
处理花费的时间比平时长,但在处理之后,它会返回到构建列表,其中 pilot
会识别它并将其发布到TestFlight。
Processing took longer than normal, but after processing, it returns to the build list where pilot
recognizes it and it posts to TestFlight.
我的新Fastfile:
My new Fastfile:
lane :deploy_staging do
match(
type: "appstore"
)
increment_build_number(
xcodeproj: './ios/MyApp.xcodeproj'
)
gym(
include_symbols: true,
include_bitcode: true,
export_method: "app-store",
scheme: "MyApp Staging",
project: "./ios/MyApp.xcodeproj"
) # Build your app - more options available
pilot
clean_build_artifacts
git_add(
path: '.'
)
git_commit(
path: '.',
message: "Deployed new staging version #{lane_context[SharedValues::BUILD_NUMBER]} [skip ci]",
)
push_to_git_remote(
local_branch: ENV["CIRCLE_BRANCH"],
remote_branch: ENV["CIRCLE_BRANCH"]
)
end
这篇关于通过CircleCI fastlane部署,iTunes Connect上的内置测试不可用于内部测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!