Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Profile qualification is using entitlement definitions that may be out of date

I'm using a GitHub Actions to try and build my App.

The build fails as it says my provisioning profile doesn't match my entitlements file which when I compare they don't. However, how does the provisioning profile know it should get updated, i.e, one entitlement is: com.apple.security.files.downloads.read-only - that's not in the provisioning profile. What can I do to update it?

It looks like app sandbox just isn't in the profile.

I've setup the following:

  • Manual Provisioning Profile for signing
  • Signing Cert in GitHub Secrets
  • Provisioning profile in GitHub Secrets
  • Custom keychain created on each build, profiles/certs setup
- name: Build
  run:  xcodebuild build -workspace "myProject.xcworkspace" -scheme "myProject" -configuration Release -destination "platform=macOS"     

However, when I try to build I get:

/Users/runner/work/myProject/myProject: error: Provisioning profile "myProject_macOS_Distribution_Profile" doesn't include the com.apple.security.app-sandbox,
com.apple.security.files.downloads.read-only,
com.apple.security.files.user-selected.read-write,
com.apple.security.get-task-allow,

** BUILD FAILED **

com.apple.security.network.client,
com.apple.security.network.server,
and com.apple.security.print entitlements. Profile qualification is using entitlement definitions that may be out of date. Connect to network to update. 

I have googled this error, but there seems to be zero results of it.

My entitlements.plist looks like:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.files.downloads.read-only</key>
    <true/>
    <key>com.apple.security.files.user-selected.read-write</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
    <key>com.apple.security.network.server</key>
    <true/>
    <key>com.apple.security.print</key>
    <true/>
</dict>
</plist>
like image 439
Chris Avatar asked Oct 23 '25 15:10

Chris


1 Answers

After wasting days on this, I finally found the solution in the apple forum.

In my case, I am building a Mac OSX application, and the Github guide assumes you're doing something for iOS. There is a little note that explains how to solve the issue:

Note: For iOS build targets, your provisioning profile should have the extension .mobileprovision. For macOS build targets, the extension should be .provisionprofile. The example workflow above should be updated to reflect your target platform.

like image 176
Markon Avatar answered Oct 27 '25 00:10

Markon



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!