为什么需要将配置概要文件设置为分发以进行调试和发布?

问题描述 投票:0回答:1

我正在尝试通过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

https://circleci.com/docs/2.0/ios-codesigning/#preparing-your-xcode-project-for-use-with-fastlane-match

[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构建的固定功能,但是为什么呢?我的调试版本肯定应该始终使用开发证书吗?
ios react-native circleci fastlane fastlane-match
1个回答
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" ) ...

Match会将所需的配置文件下载到计算机,但是如果xCode中的“ Provisioning Profile”(在Build Settings-> Signing中找到)与Fastfile不匹配,则xCode不会从Match中获得所需的配置文件
© www.soinside.com 2019 - 2024. All rights reserved.