Skip to main content
Participating Frequently
November 20, 2018
Question

Unable to install a debug app (.ipa) for iOS due to get-task-allow entitlement mismatch

  • November 20, 2018
  • 1 reply
  • 1388 views

I am trying to debug an iOS application built with AIR SDK 31.

We've had a enterprise certificate and a corresponding wildcard provisioning profile.

We used to be able to build ipa-debug-interpreter packages with those.

Then, we were told we could only install our apps onto a device if we built an ipa-ad-hoc package instead; however, you couldn't debug with that package.

We were told that to build a debuggable package, we had to use a development provisioning profile and a developer certificate.

So, I updated our development provisioning profile and rebuilt our app and packaged it as ipa-debug-interpreter.

Now, it fails to install. It says the entitlements are invalid.

Upon careful inspection, I see this:

codesign -d --entitlements :- "Payload/Math180.app" > Math180_entitlements.plist

PlistBuddy -c "Print :get-task-allow" Math180_entitlements.plist

false

codesign -d --entitlements :- "Payload/Math180.app" > Math180_entitlements.plist

PlistBuddy -c "Print :Entitlements:get-task-allow" Math180_mobileprovision.plist

true

Since they don't match - the error about invalid entitlements makes sense.

Can I override the iOS entitlements in my application configuration file, and/or is it simply a bug in the AIR SDK?

Also, my colleague says that he create a debug package (ipa-debug-interpreter) using the enterprise certificate and a wildcard provisioning profile.

In that build, both the entitlements and the embedded provisioning profile have get-task-allow as false.

Sincerely,

Chuck Doucette

This topic has been closed for replies.

1 reply

natural_criticB837
Legend
January 16, 2019

You can set the get-task-allow property in your application.xml file. There should be an iPhone node inside the application.xml. Inside is the Entitlements node, and there you can define the get-task-allow property. Like so, uncomment or comment the appropriate line, whether you are in production or development mode:

<iPhone>

    [...]

    <Entitlements><![CDATA[

            [...]

            <key>aps-environment</key>

            <!-- development: -->

            <!--<string>development</string><key>get-task-allow</key><true/>-->

            <!-- production: -->

            <string>production</string>

        ]]></Entitlements>

  </iPhone>