Is using GMSMap reason for rejection? - ios

My app uses GMSMap to show some locations on map and users can open Yandex Navi, Google Maps app and also Apple maps to navigate selected poi. Only installed apps are listed to build route. Somehow my app is rejected. They send me the following message:
Your app's location feature is not integrated with the built-in mapping functionality, which limits users to a third-party maps app.
Specifically, revise your app to give users the option to launch the native Apple Maps app from any tabs and/or hyperlink(s) in the third party map interface.
Next Steps
Please revise your app to give users the option to launch the native Apple Maps app.
What is the main problem? Is it related to using GMSMap in my app or is it related to triggering apps?

I am posting this answer to help people with the same problem. After making phone call, reviewer said that using only GMSMapView is the reason for rejection and MKMapView should be given as an option to show coordinates. I used only GMSMapView in my app and they rejected it just for that! There is no written rule for this rejection. It is totally ridiculous.

I have gone through some more problems as such app getting rejection for the reason you stated and many people have posted this scenario in Google forums here
My opinion would be to update the GoogleMap SDK to the newest framework which is approved by the Apple team.
Check this answer for further discussion on this
EDIT
About the URL scheme have you added the respective URL Scheme in plist under the key LSApplicationQueriesSchemes
<key>LSApplicationQueriesSchemes</key>
<array>
<string>comgooglemaps</string>
<string>comgooglemaps-x-callback</string>
</array>
And then having a condition like canOpenURL and then opening the URL scheme.

Related

Firebase Dynamic Links for iOS work for my device and simulators, but do not work for users after release

So I have implemented Firebase Dynamic Links in my app. I thought that I had them set up correctly, because they work for my own personal device and the simulators perfectly. I released the update to the app, but when two of my friends tried to open them after updating to the new version, it takes them to the Firebase website citing an error. I click the same link and it opens my app and handles the link.
Firebase has added the apple app site association to my domain prefix, I have added the a--link in my app's capabilities, I am truly at a loss as to why this may be. Even if they click the link from notes, it does not give them the option to open the link with my app like it will for me.
Is there anything that I could be overlooking? Happy to supply any relevant details but I feel like I have to be missing something.
App Links:
applinks:share.***.app
URL Type is set up in Target Info.
Custom Dynamic Domain is set in info.plist.
For others that come across this, it seems to be an open Apple bug: http://www.openradar.me/radar?id=4999496467480576
After several days, the user's apps downloaded the proper AASA and the deep links began to work. There doesn't seem to be a workaround with Google Dynamic Links, but Branch.io offers forced URI redirect mode to avoid this issue.

Why does Apple think I'm serving ads?

Working with a Cordova app that we just added Google Analytics. The Google advertising flag is being left at the default "NO" setting. However, when I try to submit the app to Apple, it's saying that it's detecting IDFA and it asks me to specify what type of advertising we're doing. The problem is that we're not doing any advertising, so there's no valid option for me to select. Hence, I can't update the app.
Is there something that we've missed to setup just analytics without advertising?
This has been a problem with google-analytics-plugin since the AdSupport framework was added by this commit.
The quickest workaround is to use the fork at https://github.com/kju-digital-solutions/google-analytics-plugin:
cordova plugin add https://github.com/kju-digital-solutions/google-analytics-plugin
which removes the ad framework

Facebook redirection issue in iOS 9

Before iOS9, a Facebook post could successfully redirect an user to an installed app via short URL (like bet365://). Now, in iOS 9, bet365:// gives invalid link. From Safari it redirects fine, but not from Facebook browser. This is just an example, there are other apps that can't be opened from FB.
What do I need to do in order to open an installed iOS app from a Facebook post (in iOS9)?
PS: I understood that now, in iOS9, if Myapp1 wants to open Myapp2, it will need to populate info.plist with LSApplicationQueriesSchemes like this:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>url_to_Myapp2</string>
</array>
but it's strage to belive that Facebook will have to do the same with the apps he wants to open.
Many thanks!
There are some changes you need to make in your plist and add a few urls to whitelist Facebook urls. Try adding all of them. It should work then.
Facebook iOS 9 integration
There are various ways you could go about achieving the same:
1. Use a platform like Branch or DeepLink.me
Use links generated by these platforms which will be opened in Safari and then redirected to your app.
2. Facebook App Links
This is the deeplinking solution provided by Facebook itself. Instead of generating static app url scheme links, you should generate applinks for sharing in Facebook. These can then redirect to your app or even the app store page if the app is not installed.
3. Support Universal Links in iOS 9
You can have iOS recognize universal links for your application. These will be in the form of http://yourWebsite/path/to/content and will result in your app being opened directly.
From the documentation:
Universal links let iOS 9 users open your app when they tap links to
your website within WKWebView and UIWebView views and Safari pages, in
addition to links that result in a call to openURL:, such as those
that occur in Mail, Messages, and other apps.
Have a look here on how to configure the same.
I would suggest configuring all of the above for your application, as it will provide various ways for you to direct users directly to your app, each suitable for certain situations.

IOS App Submission Routing App

I am trying to submit my app for review in Itunes Connect, but when I try to submit it I get an error:
To configure this app as an IOS routing app, upload a routing app
coverage file on the app's Version page in My Apps on iTunes Connect.
To configure your app as an IOS routing app, the app's Info.plist must
contain the MKDirectionsApplicationSupportedModes key.
So in my project, in the Capabilities, the Maps is turned off. I do have the MapKit.framework in my project, as I do utilize the map, however I do not ever show routing information nor provide it in my app. Is the fact that this framework in my project causing this ITunes Connect error, and if so, how do I go about fixing it. And by fixing it, I want it to turn off routing.
My app is not made to provide routing information, nor do I want to set it as an iOS routing app.
Any help would be appreciated.
I am using XCode 6.
I figured it out. In my info plist there was a document type name of MKDirectionsRequest. Removing that solved the problem.
From the apple docs
(To use the features of the Map Kit framework, you must turn on the
Maps capability in your Xcode project.)
above the entire paragraph.(https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009497)
Location-based information consists of two pieces: location services
and maps. Location services are provided by the Core Location
framework, which defines Objective-C interfaces for obtaining
information about the user’s location and heading (the direction in
which a device is pointing). Maps are provided by the Map Kit
framework, which supports both the display and annotation of maps
similar to those found in the Maps app. (To use the features of the
Map Kit framework, you must turn on the Maps capability in your Xcode
project.) Location services and maps are available on both iOS and OS
X.
Not sure but maybe you only need to turn on mapkit
In my info.plist I had to delete two entries:
1) the document you referenced above - MKDirectionsRequest
and
2) MKDirectionsApplicationSupportedModes - MKDirectionsModeCar which is called "Maps routing app supported modes"
I just faced this exact issue last week.
I had accidentally turned on Map capabilities and turned it off later. Like your case, this didn't fix the issue.
I believe what fixed it was removing MapKit from here.
I was trying other things at the time so try this and if this isn't it then I'll see if something else I changed fix this.

Open my app from facebook app

I have an application on IOS, which posts photos and location on facebook.
I want my app to open once user tap on link(When viewing facebook from facebook app). Is this possible?
It's not possible using the built in iOS sharing but Facebook will open your app if you are using their SDK and posting with a Facebook app. (as in an app setup in their developer portal) You need to have deep linking turned on and your app profile setup to point back to your app store id. They also have a new app links thing they announced which is worth checking out. In any case your app will have to support custom URL schemes.
Sorry I can not get clearly but if I am not wrong then do you want to open your iOS app when user click on link on FB ?
If I am right then simple and sort answer, it is not possible because apple iOS dose not provide any such types of feature/API so it is better to stop fighting.

Resources