React-native-onesignal: Does OneSignal use advertisingIdentifier (IDFA)? [submitting for App Store review] [advertising identifier] (potential Apple rejection from store)

Created on 31 Jul 2020  Â·  12Comments  Â·  Source: OneSignal/react-native-onesignal

Description:

I'm gonna publish my app to App Store, but I'm not sure if my app uses advertisingIdentifier.

I tried to use "find . | grep -v .svn | grep ".a" | grep -v ".app" | xargs grep advertisingIdentifier" to find files that include advertisingIdentifier inside of it.

Output:

Binary file ./node_modules/react-native-onesignal/ios/libOneSignal.a matches
grep: ./node_modules/object.assign: Is a directory
grep: ./node_modules/object.assign/test: Is a directory
grep: ./node_modules/object.assign/dist: Is a directory

Screenshot of other searches for advertisingIdentifier in project directory:

image

If it uses advertisingIdentifier, what options should i choose before publishing, and I'm not going to display any ad for now.

Here are possible options:

image

Environment

"react-native": "0.62.2",
"react-native-onesignal": "^3.9.0"

Question

Most helpful comment

Howdy,
This is a great question. I see we have answered this in the past but could have provided more elaboration.

First of all, we only use IDFA if the app already uses it (source). This means the OneSignal SDK isn't a factor on needing to check that box when submitting to Apple.

What does OneSignal use IDFA for?
We use IDFA (if already in use) to prevent duplicate records if someone re-installs the app. Furthermore, if the user opts out of IDFA on the device level we also respect that setting and don't use it at all.

@luckytiger1
So in your case, if no other SDK you are using uses it and you're not using it yourself, you don't have to check the box.
I hope this helps answer your question.

Edit:
Please double check that you don't have the AdSupport.framework anywhere in your Xcode project since this would trigger this as well.

Note that we plan to remove IDFA support right after the next major release (version 3.0+) so keep an eye out for that one.

Enjoy using OneSignal!

All 12 comments

Howdy,
This is a great question. I see we have answered this in the past but could have provided more elaboration.

First of all, we only use IDFA if the app already uses it (source). This means the OneSignal SDK isn't a factor on needing to check that box when submitting to Apple.

What does OneSignal use IDFA for?
We use IDFA (if already in use) to prevent duplicate records if someone re-installs the app. Furthermore, if the user opts out of IDFA on the device level we also respect that setting and don't use it at all.

@luckytiger1
So in your case, if no other SDK you are using uses it and you're not using it yourself, you don't have to check the box.
I hope this helps answer your question.

Edit:
Please double check that you don't have the AdSupport.framework anywhere in your Xcode project since this would trigger this as well.

Note that we plan to remove IDFA support right after the next major release (version 3.0+) so keep an eye out for that one.

Enjoy using OneSignal!

@rgomezp it seems that Apple isn't smart enough to figure out the plugin isn't using IDFA. Apple is rejecting our app when react-native-onesignal is installed due to "IDFA usage" :/

I think we should open this issue and investigate further.

image

image

@ilyakar ,
Please double check that you don't have the AdSupport.framework anywhere in your Xcode project since this would trigger this as well.

I don’t :/ It was the first thing I removed but Apple is still complaining.

Sent from my iPhone

On 16 Oct 2020, at 20:57, Rodrigo Gomez Palacio notifications@github.com wrote:


@ilyakar ,
Please double check that you don't have the AdSupport.framework anywhere in your Xcode project since this would trigger this as well.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Confirmed, App Store rejection happening due to OneSignal plugin.
image

I'll open a new issue.

@rgomezp Thank you for your help

For OneSignal/OneSignal-iOS-SDK/issues/778
I made sure that AdSupport.framework is not linked anywhere in my Xcode project However the IDFA collection rejection error is still there.

Also, I guess release 4.0 is still far away since the latest release of the iOS SDK is still 3.0 beta2.
Is there anyway we can fix this issue with the current release of the SDK?

Howdy @wassimseif ,
That was a typo. I meant to write 3.0 for the iOS native SDK major release version. At the moment I don't know that there is a way to fix the issue without a change to the SDK itself. We will investigate potential workarounds but as of now, we just kindly ask for your patience until we get out the release.

For anyone wanting a challenge, feel free to make an open-source contribution to the iOS Native SDK with the fix.


cc @emawby

Thank you @rgomezp. For now, I removed all references of OneSignal to get our app into the stores. Looking forward to hearing from you when you guys manage to get the fix out.

From my digging, it seems that the SDK does indeed need to be updated to remove all references of advertisingIdentifier which Apple is looking for.

@ilyakar Is there any drawbacks you noticed after removing this ?

@rgomezp what is the current workaround to get the react-native version of OneSignal + iOS Onesignal without the IDFA collection?

Howdy,
We have removed the use of IDFA in the iOS major-release. It will be a part of the beta 5 version of the RN SDK which will go out of beta very soon. There are no drawbacks from removing this.

Thanks for your patience.

Howdy,
This has now been resolved in the last major release.

Enjoy!

Was this page helpful?
0 / 5 - 0 ratings