Page 1 of 2

App Tracking Transparency problem

Posted: Tue Nov 02, 2021 10:58 pm
by trevix
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.

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 7:23 am
by richmond62
LC 0.9.3 to LC 0.9.6
Those version numbers do not make sense.

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 9:05 am
by LCMark
@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().

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 9:11 am
by richmond62
And don't even think of attempting any sort of mobile build
on MacOS 12 as you can only install xCode 13 there.

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 9:35 am
by trevix
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

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 9:41 am
by LiveCode_Panos
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
--

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 9:53 am
by trevix
On a new install on iPhone hardware, while I never get asked for transparency permissions, the "iphoneTrackingAuthorizationStatus()" reports "denied".
See the custom plist attached

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 10:07 am
by LiveCode_Panos
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
--

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 10:16 am
by LiveCode_Panos
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
--

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 10:27 am
by trevix
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?

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 10:29 am
by LiveCode_Panos
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
--

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 10:50 am
by trevix
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.

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 11:11 am
by trevix
After removing both of the things from the custom pList, still no transparency dialog. Only the bluetooth one.

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 11:20 am
by LiveCode_Panos
Could you also remove Bluetooth and try again?

Re: App Tracking Transparency problem

Posted: Wed Nov 03, 2021 12:38 pm
by trevix
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.