我正在尝试通过CircleCI上的fastlane构建我的react native应用。我正在使用match来管理证书/配置文件并使用以下指南:
https://docs.fastlane.tools/best-practices/continuous-integration/circle-ci/
https://circleci.com/docs/2.0/testing-ios/#example-configuration-for-using-fastlane-on-circleci
fastlane ios beta
在本地工作。
但是,在CI上,我发现安装程序无法构建,并出现以下错误:
error: No profile for team '...' matching 'match Development app.my' found: Xcode couldn't find any provisioning profiles matching '.../match Development app.my'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the Signing & Capabilities tab of the target editor. (in target 'MyApp' from project 'MyApp')
我认为这很奇怪,因为我的构建不是使用开发配置文件,而是使用 distribution 配置文件。调用match / gym时,在构建输出中对此进行了确认,其中未提及开发配置文件。
在xcode中,根据上述指南,我在“签名和功能”下“自动管理签名” 未选中,其中“调试”设置为使用开发配置文件,而“发布”设置为使用分发配置文件。
将配置文件更改为“调试”部分下的“发行版”是我的CI构建的固定功能,但是为什么呢?我的调试版本肯定应该始终使用开发证书吗?
答案 0 :(得分:0)
我的iOS版本也遇到类似的问题,最后意识到我需要将Xcode中的配置文件与Fastfile中的配置文件进行匹配:
lane :beta do
begin
build_number = increment_build_number(...)
slack(message: "Starting new build " + build_number)
*** match(type: "appstore") ***
build_app(
...
*** export_method: "app-store", ***
build_path: "./builds",
output_directory: "./builds"
)
upload_to_testflight(
skip_waiting_for_build_processing: true
)
slack(
message: "App successfully published to TestFlight"
)
end
Match会将所需的配置文件下载到计算机上,但是如果Xcode中的“ Provisioning Profile”(在Build Settings-> Signing中找到)与Fastfile不匹配,则Xcode将不会从Match中获得所需的文件。 / p>