App rejected by Apple caused by using Google Maps SDK - ios

I've been using GoogleMaps iOS SDK in my app for a while, everything goes fine when I submit to App Store.
But this time I got rejected by Apple, and they say I'm using non-public selector in my app.
The selector is called imageWithName
First, I use Xcode to search if there is any class using this method, result shows nothing.
Then, I use grep -r imageWithName, the result shows GoogleMaps is using the selector
I'm using CocoaPods to install GoogleMaps, and the version is 1.13.0
Previous successful submission is using 1.13.0, too.
So I'm wondering if this is a bug caused by Apple or Google Maps.
I've filed a issue to Google's forum, and accepted by Google staff.
(https://code.google.com/p/gmaps-api-issues/issues/detail?id=9704)
Wondering if anyone facing same issue with me?
Screen shot of App Store reject

Finally solved the problem, reported this issue to Google Maps API Forum,
They've released a new version v1.13.2, this version works and approved by Apple app review team.
https://code.google.com/p/gmaps-api-issues/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Introduced%20Fixed%20Summary%20Stars%20ApiType%20Internal&groupby=&sort=&id=9704

Related

Expo v33 Managed Application - Facebook and Google login not working on deployed iOS

It works on Android as well as on the Simulator and Expo Client but doesn't work when we publish the App on the App Store or manually add .ipa on the iPad.
Have tried most of the solutions
https://blog.expo.io/react-native-google-sign-in-with-expo-d1707579a7ce
https://docs.expo.io/versions/latest/sdk/google-sign-in/
Getting the following error for Facebook:
Tried t operform Facebook login iwth behavior '(null)'
, but no Facebook app id was provided.
Specify app id in Info.plist or switch to 'web' behavior
Google failing as well and not able to get any error for Google.
First of all, since this is a very fresh incident, I inform that this response is not a definitive answer, but rather an educated guess.
I am also facing this issue, and in my case it is working fine on simulator using expo app version 2.13.x but happening while running the expo app (version 2.14.1.107621) on physical iphone.
I haven't tested on android (neither simulator nor real device), but most people say it is happening on iOS only.
I did some research and found that according to expo SDK 36 blog post, the facebook module now has to be initialized with initializeAsync() BEFORE calling logInWithReadPermissionsAsync(). Of course that this should be applicable only to apps using version 36 of expo SDK, but maybe the latest expo-cli (3.11.1) and expo-app (2.14.x) for iOS have issues that prevent them from realizing the legacy behaviour on facebook module of previous SDKs (like mine, version 33), thus producing the error.
Meanwhile, let us see the new replies on this thread of expo forums: https://forums.expo.io/t/facebook-login-promise-rejection-on-ios/30969

Unity Facebook SDK IOS Not Returning to app

I'm trying to use Facebook login with an iOS app built in Unity. I'm using the Facebook Unity SDK (7.9.0). The login seems to work fine, but afterwards, instead of returning to the app, I stay in the safari window, with a blank white screen.
enter image description here
I saw some similar questions on StackOverflow, but none were answered in enough detail for me to work out what to do to fix it, and I don't have enough reputation to ask clarifying questions :-(
So I never found out what caused this problem, but I uninstalled the Facebook SDK and then reinstalled it and it works as expected now. I suspect that I didn't copy the code across from their examples exactly correct or something.
In case anyone finds this question when searching on Google like I did. I was running iOS 10.3 with Unity 5.6 and had this happen. The specific reason I found was that Firebase Invites was not compatible with the Unity Facebook sdk. Once I removed it everything worked as expected so make sure to check your other third party libraries.
TLDR : Place these 2 files into Plugins/iOS folder and that fixes it.
What version of Unity are you using?
This seems to be a Unity 5.5 bug, see this conversation on Facebook Developer forum

Improper IDFA usage, your app is not respecting the Limit ad tracking setting in ios

I have checked the iTC settings
I have uploaded the same app 2 days ago and it works fine but when today I uploaded the same app with a minor bug fix it's now showing this error.
I'm using Admob, Revmob and Applovin. But I know admob is the culprit.
The only solution for me was to trash the Admob-SDK and integrate the Startapp-SDK, It is compliant with the apple's new IDFA policies, you can read their documentation here.
I will let you know if Admob guys fix this issue.
From Applovin Folks
I wanted to update you on an IDFA change Apple made on Saturday. Apple's systems are automatically rejecting apps that are uploaded if the app has SDKs in it that access IDFA and still support pre-iOS 6 (where IDFA wasn't present). Our new SDK 2.3.6 (and in Unity, 3.0.9) will now pass Apple's screen since we have deprecated support for iOS 4 and 5 (only 1.5% of traffic); and note that many popular SDKs in the market act similarly so you may need to work with your other vendors on updating their software for compatibility.
Edit
I uploaded an update today(5th May, 2014) with admob 6.8.0 and it was uploaded sucessfully
It validated for me also. Initially I thought admob was the issue and might have been but after removing TapJoy and all references the app validated.
I had to remove both InMobi and Conversant (aka ValueClick/Greystripe). Then it stopped being an "Invalid Binary" and went into "Waiting for Review". I can confirm that AdColony, Chartboost and TapJoy all definitely pass Apple's check with latest SDKs. InMobi issued an SDK update on 29/4 (v4.3.0) but it does NOT pass this test.
I used Google AdMob and Flurry. With AdSupport framework removed, shows it's AdMob that's the culprit.
I can't find any recently released SDK for AdMob and Flurry, so I just change the status back to ready for binary upload again, select the answer as shown above in the screen dump, and it works for me, some screen dumps on my blog below. Hope this helps. Thanks!
http://new2objectivec.blogspot.com.au/2014/05/app-store-invalid-binary-error-due-to.html
I've submitted an app with AdMob today with the same settings.
It's now in Waiting for Review state.
I've used Xcode Organizer to submit the app. Maybe Apple have re-adjusted the validation.
I uploaded an app with admob sdk 6.8.0 successfully today (after removed mmedia sdk 5.2.0). I think you need to check other ad network sdk.
It appears your issue is actually coming from Applovin, not AdMob. Others seem to have succeeded with AdMob in some way, so it would make sense. These guys have come to the conclusion that it is Applovin -> Source
I've finally got mine to validate! If you remove AdSupport.framework, any culprits causing this failed validation will NOT cause a linker error. So the SDK's that are showing errors are the ones using the framework correctly, remove any others and try again. In my case Millennial was the problem.
I had an app that was at state "waiting for upload" before 12th April. After which the itunes guidelines were updated to contain section of IDFA usage when the app state is "Prepare for upload". So, because of this situation every time I turned in the binary I would get an error of "Improper IDFA usage".
For me the solution was
1.upload a binary without IDFA sdks.
2.make it "developer rejected".
3.Update the settings of IDFA after choosing "ready to upload binary" option from itunes connect.
4.Upload a new binary with IDFA sdks.

ios app rejected due to charboost

My ios application was rejected automatically by the app loader and itunes connect.
I sent an email to chartboost, it says some of their partners experience this issue.
and send me a link to follow the steps.
uniqueIdentifier is called in chartboost
Upon trying out the command within the project, only chartboost sdk is detected with the function name.
I have follow the steps in the link, but the application is still rejected.
The charboost sdk in question is 3.2.1, the latest as if 2nd of Oct 2013.
Any idea what other issues can it be?
I'm having the same issue now as well. Email sent to Chartboost too hopefully they fix it soon http://thechocolatelabapps.com/

The app references non-public selectors in :setRefreshInterval

When trying to upload an iOS app for the appstore I am getting an error stating that
The app references non-public selectors in :setRefreshInterval
I am using a lot of libraries in my project from different Ad Network SDKs to three20, upon investigation I found out that the static library FlurryAds.a contains these methods and may cause an app rejection.
I have the latest Flurry SDK installed in fact I just downloaded it last night.
I asked one of my friends who recently integrated flurry ads that he got the same error but his app went through.
And now my question is did anyone else got this error while uploading the app to the appstore & if they did, were their app rejected?
For now I will be disabling FlurryAds but I will forward to your suggestions / pointers.
This warning is shown as a result of Flurry calling setRefreshInterval in two different mediated networks. Flurry is not calling any Apple private APIs. Many publishers have submitted with this, and since a private API is not called, there are no problems in submitting to the AppStore. (Full disclosure: I work in the Support team at Flurry)

Resources