iOS 代码签名 Fastlane 匹配错误

Cha*_*ish 6 deployment code-signing ios fastlane app-store-connect

尝试使用 Fastlane 将我的应用程序部署到 iTunes Connect 时,我收到以下信息。

不久前它还在工作,我不确定为什么突然它现在失败了。我最近从 CircleCI 1.0 升级到 CircleCI 2.0,那是它开始失败的时候。上次在 CircleCI 1.0 上完成的部署是成功的,但在 CircleCI 2.0 上的每个人都失败了。

任何想法如何使用 Fastlane 修复此代码签名错误?

+-----------------------+-------------------------------------------------+
|                        Summary for match 2.94.0                         |
+-----------------------+-------------------------------------------------+
| type                  | appstore                                        |
| app_identifier        | ["com.charliefish.ios.test"]             |
| force                 | true                                            |
| git_url               | https://github.com/fishcharlie/myprivatedataA.git |
| git_branch            | master                                          |
| username              | charlie@test.com                              |
| keychain_name         | login.keychain                                  |
| readonly              | false                                           |
| team_id               | 86LATJ1793                                      |
| verbose               | false                                           |
| skip_confirmation     | false                                           |
| shallow_clone         | false                                           |
| clone_branch_directly | false                                           |
| force_for_new_devices | false                                           |
| skip_docs             | false                                           |
| platform              | ios                                             |
+-----------------------+-------------------------------------------------+

[11:38:04]: Cloning remote git repo...
[11:38:04]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
[11:38:10]: Installing certificate...
security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.
[11:38:11]: There are no local code signing identities found.
You can run `security find-identity -v -p codesigning` to get this output.
This Stack Overflow thread has more information: /sf/ask/2477305071/.
(Check in Keychain Access for an expired WWDR certificate: /sf/answers/2478688481/ has more info.)

+-------------------+------------------------------------------------+
|                       Installed Certificate                        |
+-------------------+------------------------------------------------+
| User ID           | 86LATJ1793                                     |
| Common Name       | iPhone Distribution: Charlie Fish (86LATJ1793) |
| Organisation Unit | 86LATJ1793                                     |
| Organisation      | Charlie Fish                                   |
| Country           | US                                             |
| Start Datetime    | 2018-05-03 18:13:05 UTC                        |
| End Datetime      | 2019-05-03 18:13:05 UTC                        |
+-------------------+------------------------------------------------+


+-------------------------------------+------------------------------------------------+
|                               Summary for sigh 2.94.0                                |
+-------------------------------------+------------------------------------------------+
| app_identifier                      | com.charliefish.ios.test                |
| username                            | charlie@test.com                             |
| force                               | true                                           |
| cert_id                             | PQ8B8T1T54                                     |
| provisioning_name                   | match AppStore com.charliefish.ios.test |
| ignore_profiles_with_different_name | true                                           |
| team_id                             | 86LATJ1793                                     |
| platform                            | ios                                            |
| adhoc                               | false                                          |
| development                         | false                                          |
| skip_install                        | false                                          |
| skip_fetch_profiles                 | false                                          |
| skip_certificate_verification       | false                                          |
| readonly                            | false                                          |
+-------------------------------------+------------------------------------------------+

[11:38:12]: Starting login with user 'charlie@test.com'
[11:38:13]: Successfully logged in
[11:38:13]: Fetching profiles...
[11:38:14]: Verifying certificates...
[11:38:14]: There are no local code signing identities found.
You can run `security find-identity -v -p codesigning` to get this output.
This Stack Overflow thread has more information: /sf/ask/2477305071/.
(Check in Keychain Access for an expired WWDR certificate: /sf/answers/2478688481/ has more info.)
[11:38:14]: Certificate for Provisioning Profile 'match AppStore com.charliefish.ios.test' not available locally: PQ8B8T1T54, skipping this one...
[11:38:14]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
[11:38:15]: There are no local code signing identities found.
You can run `security find-identity -v -p codesigning` to get this output.
This Stack Overflow thread has more information: /sf/ask/2477305071/.
(Check in Keychain Access for an expired WWDR certificate: /sf/answers/2478688481/ has more info.)
[11:38:15]: No certificates for filter: Certificate ID: 'PQ8B8T1T54' 
+------------------+-------------+
|          Lane Context          |
+------------------+-------------+
| DEFAULT_PLATFORM | ios         |
| PLATFORM_NAME    | ios         |
| LANE_NAME        | ios release |
+------------------+-------------+
[11:38:15]: Could not find a matching code signing identity for type 'AppStore'. It is recommended to use match to manage code signing for you, more information on https://codesigning.guide. If you don't want to do so, you can also use cert to generate a new one: https://fastlane.tools/cert

+------+------------------+-------------+
|           fastlane summary            |
+------+------------------+-------------+
| Step | Action           | Time (in s) |
+------+------------------+-------------+
| 1    | default_platform | 0           |
|    | match            | 11          |
+------+------------------+-------------+

[11:38:15]: fastlane finished with errors

[!] Could not find a matching code signing identity for type 'AppStore'. It is recommended to use match to manage code signing for you, more information on https://codesigning.guide. If you don't want to do so, you can also use cert to generate a new one: https://fastlane.tools/cert
Run Code Online (Sandbox Code Playgroud)

编辑

在添加设置 CircleCI 任务之后,我现在遇到了不同的错误。

看起来 repo 正在添加.mobileprovision到配置文件的末尾。但它正在寻找非.mobileprovision版本。

+-----------------------+-------------------------------------------------+
|                        Summary for match 2.94.0                         |
+-----------------------+-------------------------------------------------+
| type                  | appstore                                        |
| app_identifier        | ["com.charliefish.ios.test"]             |
| force                 | true                                            |
| git_url               | https://github.com/fishcharlie/myprivatedataA.git |
| git_branch            | master                                          |
| username              | charlie@test.com                              |
| keychain_name         | fastlane_tmp_keychain                           |
| readonly              | true                                            |
| team_id               | 08RTYN1272                                      |
| verbose               | false                                           |
| skip_confirmation     | false                                           |
| shallow_clone         | false                                           |
| clone_branch_directly | false                                           |
| force_for_new_devices | false                                           |
| skip_docs             | false                                           |
| platform              | ios                                             |
+-----------------------+-------------------------------------------------+

[14:04:47]: Cloning remote git repo...
[14:04:47]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
[14:04:48]:   Successfully decrypted certificates repo
[14:04:48]: Installing certificate...
security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.
[14:04:49]: There are no local code signing identities found.
You can run `security find-identity -v -p codesigning` to get this output.
This Stack Overflow thread has more information: /sf/ask/2477305071/.
(Check in Keychain Access for an expired WWDR certificate: /sf/answers/2478688481/ has more info.)

+-------------------+------------------------------------------------+
|                       Installed Certificate                        |
+-------------------+------------------------------------------------+
| User ID           | 08RTYN1272                                     |
| Common Name       | iPhone Distribution: Charlie Fish (08RTYN1272) |
| Organisation Unit | 08RTYN1272                                     |
| Organisation      | Charlie Fish                                   |
| Country           | US                                             |
| Start Datetime    | 2018-05-03 18:13:05 UTC                        |
| End Datetime      | 2019-05-03 18:13:05 UTC                        |
+-------------------+------------------------------------------------+

[14:04:49]: No matching provisioning profiles found for 'AppStore_com.charliefish.ios.test'
[14:04:49]: A new one cannot be created because you enabled `readonly`
[14:04:49]: Provisioning profiles in your repo for type `appstore`:
[14:04:49]: - 'AppStore_com.charliefish.ios.test.mobileprovision'
[14:04:49]: If you are certain that a profile should exist, double-check the recent changes to your match repository
+---------------------------+--------------------------------------------------------+
|                                    Lane Context                                    |
+---------------------------+--------------------------------------------------------+
| DEFAULT_PLATFORM          | ios                                                    |
| PLATFORM_NAME             | ios                                                    |
| LANE_NAME                 | ios release                                            |
| ORIGINAL_DEFAULT_KEYCHAIN | "/Users/distiller/Library/Keychains/login.keychain-db" |
+---------------------------+--------------------------------------------------------+
[14:04:49]: No matching provisioning profiles found and can not create a new one because you enabled `readonly`. Check the output above for more information.

+------+----------------------------+-------------+
|                fastlane summary                 |
+------+----------------------------+-------------+
| Step | Action                     | Time (in s) |
+------+----------------------------+-------------+
| 1    | Verifying fastlane version | 0           |
| 2    | default_platform           | 0           |
| 3    | setup_circle_ci            | 0           |
|    | match                      | 2           |
+------+----------------------------+-------------+

[14:04:49]: fastlane finished with errors

[!] No matching provisioning profiles found and can not create a new one because you enabled `readonly`. Check the output above for more information.
Run Code Online (Sandbox Code Playgroud)

Cha*_*ish 2

我可以通过返回并查看我的 v1.0 配置来解决这个问题。我已经read_only: false设置了 CI 配置。我认为这不是最佳实践。但现在它没有抛出任何错误并且工作正常。我很确定我仍然收到警告security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.,但即使有该警告它仍然有效。

setup_circle_ci我的配置中也有。