Errors building with manual provisioning profile and packages with PrivacyInfo

Errors building with manual provisioning profile and packages with PrivacyInfo.xcprivacy added. When I look at the changes in the package, the only difference is adding this .xcprivacy file. The error looks like this:

PLCrashReporter_CrashReporter does not support provisioning profiles, but provisioning profile xxx has been manually specified. Set the provisioning profile value to "Automatic" in the build settings editor.

Using an Enterprise certificate with manually created provisioning profile, I don't have the option to choose automatic. And I can't change build settings for the swift packages.

Does anyone know how I can work around this issue?

Answered by gmoyer in 790532022

I learned that when you pass signingIdentity, and provisioningProfileUuid that Xcode (starting Xcode14) applies these to every target (even the target from SPM packages). I then changed the @Xcode@5 task to use exported plist option instead where I could set the method to enterprise and configure the profile and certificate for Release scheme.

This is the task I am using in Azure DevOps pipeline.

- task: Xcode@5
          inputs:
            actions: 'build'
            scheme: 'redacted'
            signingOption: 'manual'
            signingIdentity: '$(APPLE_CERTIFICATE_SIGNING_IDENTITY)'
            provisioningProfileUuid: '$(APPLE_PROV_PROFILE_UUID)'
            sdk: 'iphoneos'
            configuration: 'Release'
            xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace'
            xcodeVersion: 'specifyPath'
            xcodeDeveloperDir: '/Applications/Xcode_15.4.app'
            packageApp: true
            archivePath: '$(Build.BinariesDirectory)/build/'
            exportPath: '$(Build.BinariesDirectory)/build/'
            useXCPretty: false`

Hello,

There isn't a workaround for this issue as frameworks do not need entitlements with its signature.

How are you integrating PLCrashReporter into your app? If you are building from source, I would suggest that you can try to link with the XCFramework that's prebuilt instead. You can verify that the XCFramework doesn't have any entitlements by using this command

codesign -d --entitlements - --xml <path to framework>
Accepted Answer

I learned that when you pass signingIdentity, and provisioningProfileUuid that Xcode (starting Xcode14) applies these to every target (even the target from SPM packages). I then changed the @Xcode@5 task to use exported plist option instead where I could set the method to enterprise and configure the profile and certificate for Release scheme.

Errors building with manual provisioning profile and packages with PrivacyInfo
 
 
Q