No “iOS Distribution” signing certificate matching team ID

Lee young-jun
3 min readMar 7, 2024

--

I tried to update sdks in my app in a long time. However I encountered this error.

Archiving the project with fastlane had been failed.

Certificates

I checked first Apple Developer > Certificates.

But I couldn’t expired one and I couldn’t find any ‘iOS Distribution’

Fastfile

I opened Fastlane file and search with ‘Distribution’.

update_code_signing_settings(
...
code_sign_identity: "iPhone Distribution",
...
)

code_sign_identity was not iOS Distribution. However I could find iOS Distribution in Build Settings.

Signing&Capabilities

I went to Signing&Capabilities. Then I foundd the certificate is Apple Distribution, not iOS Distribution .

So I modified Fastfile’s code_sign_identity to Apple Distribution.

update_code_signing_settings(
...,
code_sign_identity: "Apple Distribution",
...
)

But the problem was not solved.

Next, I checked Xcode version and noticed Xcode version was 14.2.

MacOS version was 12.

Therefore I upgraded MacOS of Workflow.

deploy:
needs: install-pods
runs-on: macos-latest #macos-12

But the Workflow was still running on 12, not 13 or later.

By the official guide,I found latest means version 12.

deploy:
needs: install-pods
runs-on: macos-13 #macos-12

I checked details of log and realized importing had been failed.

So I updated certificate password.

And deployment completed!

Conclusion

I guess Fastlane would try to find certification for ‘iOS Distribution’ if he can’t not find matched one.

I remember whenI contained ‘$’ in Github secret, they truncated characters since ‘$’. So I should use ‘$$’ instead of ‘$’. I guess it is solved. So password was incorrect?.

If you found this post helpful, please give it a round of applause 👏. Explore more iOS-related content in my other posts.

For additional insights and updates, check out my LinkedIn profile. Thank you for your support!

Troubleshootings

base64: invalid argument

base64 --decode -i {encoded file}

--

--

No responses yet