AppTrackingTransparency for IOS


Out apps use analytics to track user interactions etc in app. Based on an email from Apple they are now going to require ‘permission’ to track users information now. Is there currently a permissions module for this feature?

If not, could this be added to the permissions module?

Looks like it needs to call NSUerTrackingUsageDescription etc.

Apple threw us a bit of a curve ball a year or so after we implemented the permissions model where they started rejecting apps that reference permission keys when they are not actually being used by the app.

This ended up creating a situation where we had to break out the various NS*UsageDescription keys into the various modules that needed them (e.g. file, capture, geolocation etc.)

This meant that the permissions module ended up being rewritten as a small bit of wrapper code and why we can’t add any actual permissions code to the permissions module!

That said, it should be reasonably straightfoward for you to add it to a module of your own as it looks like all you need is something in ios/build_steps.json along the lines of:

{ "do": { "set_in_info_plist": {
        "key": "NSUerTrackingUsageDescription",
        "value": "This is a description of why we need to track you"
} } }

If you wanted to parametrize it so you can customize the description string in your app’s src/config.json, check out how we do it in the file module:

Otherwise, please give me a ping on if it’s something you’d prefer us to do for you!


So we would have to create a custom module that essentially just adds this permission check?

If that is the case, and just from the standpoint of ‘having less to manage’ would it not be possible to have it as something baked into the platform in some way? I understand that it needs to be tied to a specific module, I’m just wondering if it could be something where it could be managed outside of a custom module. I have a feeling this will become more common as most apps do ‘track’ user interactions in one way or the other for analytics etc. From the IOS side they are adding more and more things like this, might just be one of many to come as they now require the questionnaire for each app etc.

What might be cool is if there was a way ( don’t know if this is possible or not ) but as part of the core, there would be a way that you could have a prebuild dummy module that you can add to your project that could be added any number of times ( same core code base ) but as part of it you configure the config.json to include ‘name’ (would on-the-fly) pull and name the module, then has just the description, maybe the “key” and “value”

That way it could be used for any number of permissions that they may throw out?

Sorry, I know its a bit long winded here, just trying to think of ways to make it so we don’t have to manage more things if that makes sense. With all the stuff that has been going on we are having to manage a lot more servers so any way to manage less :smiley: would be great