App Tracking Transparency problem

LiveCode is the premier environment for creating multi-platform solutions for all major operating systems - Windows, Mac OS X, Linux, the Web, Server environments and Mobile platforms. Brand new to LiveCode? Welcome!

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller

trevix
Posts: 1077
Joined: Sat Feb 24, 2007 11:25 pm
Contact:

App Tracking Transparency problem

Post by trevix » Tue Nov 02, 2021 10:58 pm

Hello. Always great help here. Thanks to all.

I went from LC 9.6.3 to LC 9.6.5 and tried to publish an update of my App on the Apple store. (note that the previous update with 0.9.3 was accepted)
The App was rejected with the motivation below.
As a matter of fact, installing from fresh the standalone on the iPhone, doesn't show any "warning" that I suppose should be seen by the user and i guess is what the reviewer want to see.
My standalone settings has the App Tracking Transparency checked together with explanation (see picture)
We do collect user data and eventually want to share them, so this is mandatory.

Any suggestions?
Thanks
Schermata 2021-11-02 alle 22.54.52.png
Guideline 2.1 - Information Needed


We’re looking forward to completing our review, but we need more information to continue. Your app uses the AppTrackingTransparency framework, but we are unable to locate the App Tracking Transparency permission request when reviewed on iOS 15.1.

Since you indicated in App Store Connect that you collect data in order to track the user, we need to confirm that App Tracking Transparency has been correctly implemented.

Next Steps

Please explain where we can find the App Tracking Transparency permission request in your app. The request should appear before any data is collected that could be used to track the user.

If your app does not track users, please update your app privacy information in App Store Connect. You must have the Account Holder or Admin role to update app privacy information.

If you’ve implemented App Tracking Transparency but the permission request is not appearing on devices running the latest OS, please review the available documentation and confirm App Tracking Transparency has been correctly implemented.

Resources

- Tracking is linking data collected from your app with third-party data for advertising purposes, or sharing the collected data with a data broker. Learn more about tracking.
- See Frequently Asked Questions about the new requirements for apps that track users.
- Review developer documentation for App Tracking Transparency.

We look forward to reviewing your app.
Last edited by trevix on Wed Nov 03, 2021 9:27 am, edited 1 time in total.
Trevix
OSX 14.6.1 xCode 15 LC 10 RC1 iOS 15> Android 7>

richmond62
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 10094
Joined: Fri Feb 19, 2010 10:17 am

Re: App Tracking Transparency problem

Post by richmond62 » Wed Nov 03, 2021 7:23 am

LC 0.9.3 to LC 0.9.6
Those version numbers do not make sense.

LCMark
Livecode Staff Member
Livecode Staff Member
Posts: 1232
Joined: Thu Apr 11, 2013 11:27 am

Re: App Tracking Transparency problem

Post by LCMark » Wed Nov 03, 2021 9:05 am

@Trevix: What version of Xcode / macOS are you building on?

The 'user tracking description string' was added in 9.6.3 - but you need to be building using the iOS14.4 or iOS14.5 SDK as the iOS 'feature' was only added in iOS14.

This means you need to be using either Xcode12.4 (macOS 10.15.4) or Xcode12.5 (macOS 11.x).

When built against that version of the iOS SDK, if there is a 'User tracking usage description' set then the engine should request permission on startup - which you can find the result of later by using the function iphoneTrackingAuthorizationStatus().

richmond62
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 10094
Joined: Fri Feb 19, 2010 10:17 am

Re: App Tracking Transparency problem

Post by richmond62 » Wed Nov 03, 2021 9:11 am

And don't even think of attempting any sort of mobile build
on MacOS 12 as you can only install xCode 13 there.

trevix
Posts: 1077
Joined: Sat Feb 24, 2007 11:25 pm
Contact:

Re: App Tracking Transparency problem

Post by trevix » Wed Nov 03, 2021 9:35 am

I'm using xCode 12.4 on OSX 10.15.7. Deploy to iOS 14.4.2

Sorry for my typing in the previous post
Trevix
OSX 14.6.1 xCode 15 LC 10 RC1 iOS 15> Android 7>

LiveCode_Panos
Livecode Staff Member
Livecode Staff Member
Posts: 864
Joined: Fri Feb 06, 2015 4:03 pm

Re: App Tracking Transparency problem

Post by LiveCode_Panos » Wed Nov 03, 2021 9:41 am

Hello Trevix,

Do you by any chance use a custom plist? If yes, could you attach the custom plist here, or send it to me (panos.merakos@livecode.com) directly?

Kind regards,
Panos
--

trevix
Posts: 1077
Joined: Sat Feb 24, 2007 11:25 pm
Contact:

Re: App Tracking Transparency problem

Post by trevix » Wed Nov 03, 2021 9:53 am

On a new install on iPhone hardware, while I never get asked for transparency permissions, the "iphoneTrackingAuthorizationStatus()" reports "denied".
See the custom plist attached
Attachments
info.plist.zip
(2.46 KiB) Downloaded 162 times
Trevix
OSX 14.6.1 xCode 15 LC 10 RC1 iOS 15> Android 7>

LiveCode_Panos
Livecode Staff Member
Livecode Staff Member
Posts: 864
Joined: Fri Feb 06, 2015 4:03 pm

Re: App Tracking Transparency problem

Post by LiveCode_Panos » Wed Nov 03, 2021 10:07 am

Thanks Trevix.

Could you also post the plist that is included in the .ipa you have submitted?

In the plist you attached, the key for App Tracking Transparency is included, but also I see this:

Code: Select all

<key>CFBundleVersion</key>
<string>%%bundlebuild%%</string>
<key>CFBundleShortVersionString</key>
<string>%%bundleversion%%</string>
Did you by any chance forget to replace the %%bundlebuild%% and %%bundleversion%% placeholders?

In any case, could you test what happens if you remove the custom plist completely? If you see the App Transparency dialog in this case, then it means the problem is in the custom plist.

Kind regards,
Panos
--

LiveCode_Panos
Livecode Staff Member
Livecode Staff Member
Posts: 864
Joined: Fri Feb 06, 2015 4:03 pm

Re: App Tracking Transparency problem

Post by LiveCode_Panos » Wed Nov 03, 2021 10:16 am

Another thing you can test is to uncheck the "Push Notification" checkbox.

It might be the case the App Tracking Transparency and the Push Notification dialogs are somehow clashing on iOS 15, so we might have to do some tweaks and show the former one after X milliseconds delay.

Kind regards,
Panos
--

trevix
Posts: 1077
Joined: Sat Feb 24, 2007 11:25 pm
Contact:

Re: App Tracking Transparency problem

Post by trevix » Wed Nov 03, 2021 10:27 am

I fix the versions on a "on savingMobileStandalone" handle and it always worked fine:

Code: Select all

on savingMobileStandalone pTarget --simulator or device
     --fix the pList with version and build
     put URL("file:" & specialfolderpath("resources") & "/info.plist") into tinfos 
     rename specialfolderpath("resources") & "/info.plist" to specialfolderpath("resources") & "/info.plist2" 
     replace "%%bundleversion%%" with the cRevStandaloneSettings["iOS,Bundle version"] of stack "Segnapunto" in tinfos 
     replace "%%bundlebuild%%" with the cRevStandaloneSettings["iOS,Bundle build"] of stack "Segnapunto" in tinfos 
     put tinfos into URL("file:" & specialfolderpath("resources") & "/info.plist")
end savingMobileStandalone
I don't know how to recover the pList from the standalone I sent to Apple (unfortunately I deleted from my Mac).
But here is the pList of a standalone generated to install on my iPhone.

I would assume that, in order to see if the tracking transparency works, I would have to see a dialog on startup of new install, even if done for development. Is it correct?
Attachments
Info.plist.zip
(2.21 KiB) Downloaded 160 times
Trevix
OSX 14.6.1 xCode 15 LC 10 RC1 iOS 15> Android 7>

LiveCode_Panos
Livecode Staff Member
Livecode Staff Member
Posts: 864
Joined: Fri Feb 06, 2015 4:03 pm

Re: App Tracking Transparency problem

Post by LiveCode_Panos » Wed Nov 03, 2021 10:29 am

Yes this is correct, if you don't see the dialog, something is wrong.

We believe we have found the culprit. Could you please check if you see the ATT dialog if you uncheck "Push Notifications"

Cheers,
Panos
--

trevix
Posts: 1077
Joined: Sat Feb 24, 2007 11:25 pm
Contact:

Re: App Tracking Transparency problem

Post by trevix » Wed Nov 03, 2021 10:50 am

No. I still get the Notification dialog, even tough I unchecked both local and push notifications.
I guess I also have to modify the custom pList, in order to remove notification.
If I am correct, I have to remove
<key>com_livecode_UsesLocalNotifications</key>
<true/>
and
<key>CFSupportedRemoteNotificationTypes</key>
<array>
<string>CFBadge</string>
<string>CFSound</string>
<string>CFAlert</string>
</array>
Correct me if i am wrong: the custom pList and the final standalone pList are integrated when compiling, with the custom pList taking precedence:
that is, if I have PN on the custom pList, they get added to the standalone pList, even if unchecked on the standalone setting. But if I don't have PN on the custom plist and I have checked on the standlone setting, they get added to the final pList.
Trevix
OSX 14.6.1 xCode 15 LC 10 RC1 iOS 15> Android 7>

trevix
Posts: 1077
Joined: Sat Feb 24, 2007 11:25 pm
Contact:

Re: App Tracking Transparency problem

Post by trevix » Wed Nov 03, 2021 11:11 am

After removing both of the things from the custom pList, still no transparency dialog. Only the bluetooth one.
Trevix
OSX 14.6.1 xCode 15 LC 10 RC1 iOS 15> Android 7>

LiveCode_Panos
Livecode Staff Member
Livecode Staff Member
Posts: 864
Joined: Fri Feb 06, 2015 4:03 pm

Re: App Tracking Transparency problem

Post by LiveCode_Panos » Wed Nov 03, 2021 11:20 am

Could you also remove Bluetooth and try again?

trevix
Posts: 1077
Joined: Sat Feb 24, 2007 11:25 pm
Contact:

Re: App Tracking Transparency problem

Post by trevix » Wed Nov 03, 2021 12:38 pm

Removing the bluetooth was hard and at the end I could not install the standalone on the iPhone hardware anymore.
So I went back to the original custom Plist and Xcode STILL does not allow me anymore to install on hardware device: "Unable to install SegnaPunto"
Wich doesn't mean a thing to me. I had no problems before...

But I discovered that I can install it on the iPhone 8 iOS 14.4 simulator and the App Transparency APPEARS...
Now I am confused.
Trevix
OSX 14.6.1 xCode 15 LC 10 RC1 iOS 15> Android 7>

Post Reply