I can see Crashlytics, Answers, Stripe etc. but cannot find Twitter in Fabric.
Mike from Fabric here.
EDIT April 2019: As Sunil mentioned below, Twitter Kit is no longer available and has been deprecated by Twitter: https://blog.twitter.com/developer/en_us/topics/tools/2018/discontinuing-support-for-twitter-kit-sdk.html
Related
I am using the latest Xcode (13.1) on the latest macOS (Monterey 12.0.1), using Swift, and I would like my iOS app to read the contacts in a specific group message in Messages. The last I looked, Apple does not allow this, and I have found not information to answer this question on Apple's developer website or on stackoverflow, but I would like to know if this has changed since the latest release of iOS.
I had Branch.io deep links on iOS working correctly for months but when I implemented a sign in on Firebase app in order to get an id token I noticed that branch deep links stopped to work. If I remove the Firebase sign in deep links works perfectly but I need to have Firebase sign in implemented. I expended almost three days trying to find a solution I need help.
Did you experience a similar issue?
I could solve the deep link issue setting the Firebase app configuration before the branch init session. It is weird because I couldn't realize what is happening when I set branch first. I also asked for help to branch.io support but they told me that they never experienced problems with Firebase integration.
I could realize how to fix the issue reading the doc on branch site: https://docs.branch.io/integrations/google-firebase/
Ensure you've completed the Firebase SDK implementation as
documented here
Ensure you've completed the Branch SDK implementation as documented here.
In the AppDelegate of the Branch iOS SDK, update the implementation as below:
FirebaseApp.configure()
Branch.getInstance().initSession(...
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
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.
I'm currently uploading my App to the App Store and Apple is asking me if this app users IDFA. I'm using the latest Admob SDK or 6.8.0 and I don't know if it uses IDFA or not, and if it does which check boxes should I hit X.X
Image http://i.gyazo.com/a7d36f95ac0cc066e5654517d4ec2f3f.png
I'm having the same issue here and I was a bit afraid of checking the last box, since I have no idea what the 3rd party SDK will do with the data collected and if they will respect the Limit Ad Settings.
But I found a post by a Google Admob programmer, Eric Leichtenschlag, on their forums:
The Google Mobile Ads SDK and the Google Conversion Tracking SDK utilize Apple's advertising identifier introduced in iOS 6 (IDFA). While each developer is responsible for how they access device data, the SDKs use IDFA under the guidelines laid out in the iOS developer program license agreement, including Limit Ad Tracking.
Including Limit Ad Tracking. This is what the last box is all about. So you must check the that box if you use AdMob. If you use other SDK I strongly recommend checking if they respect the guidelines as well.
Since I run only ads (Google AdMob), I checked the first (Serve ads...) and last box (I, ___, confirm...). App was approved and released, no issues.
Source: https://groups.google.com/forum/#!topic/google-admob-ads-sdk/BsGRSZ-gLmk
If you are lazy to check on each third party SDK if they use or not the IDFA you can use this command:
fgrep -R advertisingIdentifier . (don't forget the dot at the end of the command)
Go to your project/workspace folder and run the command to find which files are using the advertising identifier.
Then you just have to look in the guidelines of those SDKs to see what you need to do about the IDFA.
I recently submitted an app to Apple's App Store. My app was built using iOS 12, Xcode 10, and Swift 4.2. My app uses Google AdMob for the sole purpose of showing Interstitial Ads. When prompted these question, this is what I did:
1) Does this app use the Advertising Identifier (IDFA)? ANSWER: YES
a) Serve advertisements within the app - CHECKED
b) Attribute this app ... - NOT CHECKED
c) Attribute an action ... - NOT CHECKED
I, (my name), confirm that this app ... - CHECKED
My app was accepted and "Ready for Sale" in less than 24 hrs.
You can track all calls to [ASIdentifierManager advertisingIdentifier] with symbolic breakpoint in Xcode:
Yes, it does. From the AdMob page:
The Mobile Ads SDK for iOS utilizes Apple's advertising identifier (IDFA). The SDK uses IDFA under the guidelines laid out in the iOS developer program license agreement. You must ensure you are in compliance with the iOS developer program license agreement policies governing the use of this identifier.
If you have Google analytics or Facebook api in you app, you need to check all of them to make sure it works!
Edit: This is an old answer - see comments or other answers for an exact answer.
In app store connect now if we are using ads in our app then we will answer as yes to Does this app use the Advertising Identifier (IDFA)?
further 3 questions will be asked as
if your using just admob then check the first one and leave other two unchecked. Other two options (2nd , 3rd ) will be checked if your using app flyer to show ads.
all options are explained with detail here
BTW, Yandex Metrica also uses IDFA.
./Pods/YandexMobileMetrica/libYandexMobileMetrica.a
They say on their GitHub page that
"Starting from version 1.6.0 Yandex AppMetrica became also a tracking instrument and uses Apple idfa to attribute installs. Because of that during submitting your application to the AppStore you will be prompted with three checkboxes to state your intentions for idfa usage. As Yandex AppMetrica uses idfa for attributing app installations you need to select Attribute this app installation to a previously served advertisement."
So, I will try to select this checkbox and send my app without actually no any ads in it.
It seems many indie developers like me are desperately looking for an answer to these questions for years. Strangely, even after 5 years this question was asked, it seems the answer to this question is still not clear.
As far as I can see, there is not any official statement in Google AdMob documentation or website about how a developer can safely answer these questions. It seems developers are left on their own in the mystery about answering some legally binding questions about the SDK.
In their support forums they can advice questioners to reach out to Apple Support:
Hi there,
I believe it would be best for you to reach out to Apple Support for
your concern as it tackles with Apple Submission Guidelines rather
than our SDK.
Regards, Joshua Lagonera Mobile Ads SDK Team
Or they can say that it is out of their scope of support:
Hello Robert,
On this forum, we deal with Mobile Ads SDK related technical concerns
only. We would not be able to address you question as this is out of
scope for our team.
Regards, Deepika Uragayala Mobile Ads SDK Team
The only answer I could find from a "Google person" is about the 4th question. It is not in the AdMob forum but in the "Tag Manager" forum but still related. It is like so:
Hi Jorn,
Apple asks you about your use of IDFA when submitting your application
(https://developer.apple.com/Library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/SubmittingTheApp.html).
For an app that doesn't display advertising, but includes the
AdSupport framework for conversion attribution, you would select the
appropriate checkbox(es). In respect to the Limit Ad Tracking
stipulation, all of GTM's tags that utilize IDFA respect the limit ad
tracking stipulations of the SDK.
Thanks,
Eric Burley Google Tag Manager.
Here is an Internet Archive link in case they remove this page.
Lastly, let me mention about AdMob's only statement I've seen about this issue (here is the Internet Archive link):
The Mobile Ads SDK for iOS utilizes Apple's advertising identifier
(IDFA). The SDK uses IDFA under the guidelines laid out in the iOS
developer program license agreement. You must ensure you are in
compliance with the iOS developer program license agreement policies
governing the use of this identifier.
In conclusion, it seems most developers using AdMob simply checks 1st and 4th checkmarks and submit their apps without being completely sure about what Google exactly does in its SDK and without any official information about it. I wish good luck to us all.