iOS 代码签名快速通道匹配错误
iOS Code Signing Fastlane Match Error
我在尝试使用 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:
(Check in Keychain Access for an expired WWDR certificate: 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:
(Check in Keychain Access for an expired WWDR certificate: 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:
(Check in Keychain Access for an expired WWDR certificate: 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
编辑
在之前添加设置 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:
(Check in Keychain Access for an expired WWDR certificate: 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.
此错误可能有很多原因,您应该尝试以下操作:
- 确保在本地而不是在系统中安装证书。
- 检查 WWDR 证书到期日期。
- 确保在您的项目目标中定义了有效的代码签名身份。当您 select 不将代码签名作为代码签名身份时,可能会发生这种情况。
我在 Upwork 读了你的 post。
我可以通过回头查看我的 v1.0 配置来解决这个问题。我在 CI 配置中设置了 read_only: false
。我认为这不是最佳做法。但它现在没有抛出任何错误并且工作正常。我很确定我仍然收到警告 security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.
,但即使有那个警告它也能正常工作。
我的配置中也有 setup_circle_ci
。
我在尝试使用 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:
(Check in Keychain Access for an expired WWDR certificate: 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:
(Check in Keychain Access for an expired WWDR certificate: 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:
(Check in Keychain Access for an expired WWDR certificate: 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
编辑
在之前添加设置 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:
(Check in Keychain Access for an expired WWDR certificate: 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.
此错误可能有很多原因,您应该尝试以下操作:
- 确保在本地而不是在系统中安装证书。
- 检查 WWDR 证书到期日期。
- 确保在您的项目目标中定义了有效的代码签名身份。当您 select 不将代码签名作为代码签名身份时,可能会发生这种情况。
我在 Upwork 读了你的 post。
我可以通过回头查看我的 v1.0 配置来解决这个问题。我在 CI 配置中设置了 read_only: false
。我认为这不是最佳做法。但它现在没有抛出任何错误并且工作正常。我很确定我仍然收到警告 security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.
,但即使有那个警告它也能正常工作。
我的配置中也有 setup_circle_ci
。