firebase tag.Previously using manual .framework distributions with no issues.
.xcframework binaries.xcframework and removed the ios-x86_64-maccatalyst architecture as well as its entry in the 'Info.plist in AvailableLibrariesxcodebuild -exportArchive -exportOptionsPlist /path/to/options.plist -archivePath /path/to/debug.xcarchive -exportPath /path/to/export/folder
...
Error Domain=IDECodesignResolverErrorDomain Code=1 "No signing certificate "Mac App Distribution" found" UserInfo={IDEDistributionIssueSeverity=3, NSLocalizedRecoverySuggestion=No "Mac App Distribution" signing certificate matching team ID "teamID" with a private key was found., IDEProvisioningError_UserInfoKey_IDEProvisioningErrorSpecifier=Mac App Distribution, NSLocalizedDescription=No signing certificate "Mac App Distribution" found, IDEProvisioningError_UserInfoKey_IDEProvisioningErrorPlatform=com.apple.platform.macosx, IDEProvisioningError_UserInfoKey_IDEProvisioningErrorAction=5, IDEProvisioningError_UserInfoKey_IDEProvisioningErrorTeam=<IDEProvisioningBasicTeam: 0x7fc0a8f65d80; teamID='teamID', teamName='(null)'>}
I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
To work around this, you can remove the .framework bundles from the subfolders of the XCFrameworks and use them directly.
Also double check your project configuration doesn't have any references to Catalyst or macOS.
Yep, it sounds strange since the .frameworks embedded in the .xcframeworks should be exactly the same as before. Another workaround would be to collect the frameworks from a Carthage install.
Thanks for the report @kevinfarst-earnin. We want to hear about any usability issues caused by the transition to xcframeworks.
@morganchen12 Since the frameworks are built for separate architectures, this would require additional configuration between building for the Simulator and a physical device correct?
Additionally, it looks like the only references we have in our build config related to macOS/Catalyst is the build setting SUPPORTS_MACCATALYST = NO. One other item to note, for our Release schema we have Build Active Architecture Only set to No.
@paulb777 I'll attempt to pull the frameworks in through Carthage and see if we have any success through that as well.
You're right, the frameworks in the xcframework bundle should only contain one architecture slice each.
Are you using Automatic Signing in Xcode? If so, can you try manually signing your release bundle?
@paulb777 @morganchen12 The issue was due to the upload-symbols script being moved into a module that is code signed on release. Previously this was located in the Pods module within the Fabric SDK. I removed both the run and upload-symbols scripts as well as the Build Phases script because we upload our dSYMs through the Fastlane command upload_symbols_to_crashlytics.
One final question if you don't mind, I realize this prevents symbols from being uploaded during development, but does removing this script cause any impact on a production build, even though we are uploading the dSYMs through Fastlane? Thanks!
It should not. The upload-symbols and run scripts are not supposed to be bundled in your app (and I think on iOS bundling executables like upload-symbols is not allowed).
If you're worried, you could add a custom script to Xcode to export your dSYMs on each build to a directory on disk and then upload them to Firebase later if console says you're missing dSYM files.
I'm going to close since the original issue seems to be resolved. We can continue the conversation here or in another issue if there are additional questions.
@kevin @paulb777 @morganchen12 @kevinfarst-earnin, I also encountered this problem "requires Mac app distribution certification for codesigning after upgrading Frameworks to XCFrameworks", Then I remove the .framework of ios-x86_64-maccatalyst from the subfolders of the XCFrameworks and use them directly. our build config related to macOS/Catalyst is the build_setting SUPPORTS_MACCATALYST = NO. while the FirebaseCrashlytics sdk works well, but when we make build by jenkins, it also prompt this error. Is there any other way锛烼hanks.
You should check how your app is being bundled on jenkins. If upload-symbols is being bundled into your app, you need to remove it from the Copy Resources phase of your build.
You should check how your app is being bundled on jenkins. If
upload-symbolsis being bundled into your app, you need to remove it from the Copy Resources phase of your build.
Thanks ,it works for me.
Most helpful comment
@paulb777 @morganchen12 The issue was due to the
upload-symbolsscript being moved into a module that is code signed on release. Previously this was located in thePodsmodule within the Fabric SDK. I removed both therunandupload-symbolsscripts as well as the Build Phases script because we upload our dSYMs through the Fastlane commandupload_symbols_to_crashlytics.One final question if you don't mind, I realize this prevents symbols from being uploaded during development, but does removing this script cause any impact on a production build, even though we are uploading the dSYMs through Fastlane? Thanks!