I am submitting my app to the app store which uses location services (GPS dot) and MKPinAnnotations and doesn't use anything else for a map, and it looks from what I have researched that the Routing Coverage File is used for overlays?
I dont think I need a Routing Coverage File, but when I go to publish, xcode errors out saying it is missing in the Itunes Connect.
The category for the app is Utilities. It was also navigation but I unticked this hoping it would solve the issue and it didn't.
How can I get around this?
I had the exact same issue earlier today when trying to publish an application that uses the MapKit but does not offer routing capabilities. I resolved it by deselecting all supported routing modes under '{Target} --> Capabilities --> Maps'. If you are just looking at the Info.plist file then you can remove the the MKDirectionsApplicationSupportedModes key and the CFBundleTypeName key that equals MKDirectionsRequest.
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<!--Remove both of these key/value pairs -->
<key>CFBundleTypeName</key>
<string>MKDirectionsRequest</string>
<key>LSItemContentTypes</key>
<array>
<string>com.apple.maps.directionsrequest</string>
</array>
</dict>
</array>
and
<key>MKDirectionsApplicationSupportedModes</key>
<array>
<string>MKDirectionsModeBike</string>
<string>MKDirectionsModeBus</string>
<string>MKDirectionsModeCar</string>
<string>MKDirectionsModeFerry</string>
<string>MKDirectionsModeOther</string>
<string>MKDirectionsModePedestrian</string>
<string>MKDirectionsModePlane</string>
<string>MKDirectionsModeStreetCar</string>
<string>MKDirectionsModeSubway</string>
<string>MKDirectionsModeTaxi</string>
<string>MKDirectionsModeTrain</string>
</array>
turn off map capability solved my problem,
xcode - next to general tap, you should see capability tab,
scroll down to maps section, turn it off,
general tab, change you build and version different from last time,
re-upload to app store.
This time it would not ask for routing profile coverage file,
Done.
This took me a long time to figure out, but the problem was with my scheme. It was the routing app coverage file location. I just change it to "None". Go to your scheme -> Edit Scheme -> Run -> Options -> Routing App Coverage File, change it to None.
see here
Related
My IOS app is using the map function for showing route and following is the map related configuration from info.plist
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>MKDirectionsRequest</string>
<key>LSHandlerRank</key>
<string>Default</string>
<key>LSItemContentTypes</key>
<array>
<string>com.apple.maps.directionsrequest</string>
</array>
</dict>
</array>
<key>MKDirectionsApplicationSupportedModes</key>
<array>
<string>MKDirectionsModeBike</string>
<string>MKDirectionsModeBus</string>
<string>MKDirectionsModeCar</string>
<string>MKDirectionsModePedestrian</string>
</array>
The app is only focusing on sweden, and following is the "sweden.geojson" file. Where coordinates start with longitude then latitude, with three brackets to close a polygon. Last coordinate is same as the first one.
{
"type": "MultiPolygon",
"coordinates": [
[[[9.755,54.977],[24.960,54.977],[24.960,69.565],[9.755,69.565],[9.755,54.977]]]
]
}
The initial json format validation passes, so I can do the submit, but then I got the emails with error: invalid binary, IOS realease ITMS-90117: Missing routing app coverage file. I even tried the sample json file from apple documentation but it is same error. Been on apple developer forum searching, but it is only problem posting, and no one posts any solution. Help appreciated...
This may or may not help you as I don't know the purpose of your app, but I had the same problem and and have found a solution that works for me.
I use MapKit to provide directions inside the app, but it isn't a directions app.
The solution was to turn off Map from the app capabilities (on the Signing and Capabilities tab). This setting indicates that the app works as a general purpose directions app.
I'm theorizing (but don't know for sure) that the reason the binary was invalid before I turned off the Map capability was that you can't have the capability enabled without providing a way to start the app with a location.
iOS doesn't allow to navigate to http only url, allowing only https.
There is a solution, which is changing some code inside info.plist file
https://github.com/facebook/react-native/issues/8717
How can I change settings for iOS, as it comes with only .expo folder but nothing else.
Do I need to change server configuration for this at last? :(
As you properly find out, the problem is that iOS do not allow arbitrary calls to non-secure(http only) domains. It was a feature introduced with iOS 9 in order to push developers onto more secured connections.
As per writing of this(mid 2017), there is workaround. You should open
{Your-project}/ios/{Your-project}/Info.plist
and set proper values for the domain you are targeting(docs).
Following example will disable ATS and allow HTTP call to somedomain.com:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
In your situation, I believe you are looking for the Info.plist file in the wrong place. It is not part of the node modules, instead look at the ios path specified above.
Unfortunately Expo doesn't allow you to modify the App Transport Security Settings but may bake in a configuration option. Here's a Github thread.
You can eject from Expo but only do this if you are 100% sure.
This will give you a project very similar to one created by react-native init
This features an ios and android directory, navigating to ios/YourProject/ will reveal Info.plist.
How much of a struggle would it be to install an SSL certificate on your server? It may be more beneficial to do this and you can use a free service like letsencrypt.
I'm currently using a custom URL scheme to allow users to access my app (say, FoobarApp) from custom links (foobar://resource/42).
I set up the scheme like so :
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>com.acme.foobarapp</string>
<key>CFBundleURLSchemes</key>
<array>
<string>foobar</string>
</array>
</dict>
</array>
This works well when the users click the link in Safari.
Now I'd like them to be able to click said links in third-party apps (in my case Trello), to open my app.
This does not work, as the system (since iOS 9 if I'm not mistaken) now requires that apps whitelist URL scheme they want to query (with the LSApplicationQueriesSchemes in Info.plist).
(This is the message I get in the logs when I click the link in the third-party app:
iPad Trello(UIKit)[2368] : -canOpenURL: failed for URL: "foobar://resource/42" - error: "This app is not allowed to query for scheme foobar"
)
It's not reasonable to expect the third-party app to add my (enterprise) app's scheme to their LSApplicationQueriesSchemes list. Is their any option to "bypass" this protection? A kind of way to tell the system "It's fine, Trello can open my app"?
Summary
Custom app links foobar:// work in Safari
They don't work in third-party app (nothing happens, see log a few lines up)
How can I whitelist third-party apps so they can open my app?
an app has to tell ios it wants to query a url scheme. It has to declare this in its info plist at compile time!
There is no way around this on a apple allowed iPhone.
Sure when you jailbreak a phone, all can be done but... thats not a valid assumption either ;)
a workaround may be to link to a Website via HTTP and have the user open the app from there.
In my AppDelegate, I call
[Fabric with:#[CrashlyticsKit]];
and everything works fine. Now I pulled my code onto another machine, and the same line gives me the following error:
*** Terminating app due to uncaught exception 'FabricException', reason: '[Fabric] Value of Info.plist key "Fabric" must be a NSDictionary.'
I'm not aware of any additions in my project's plist. Any ideas what this error may be referring to and how to fix it?
Fabric automatically inserts of hunk of text into your application's plist when you install it. These are essential and Fabric throws an exception on initialisation if they're not present.
Unfortunately it doesn't actually tell you it does this, so we ran into this crash on a project where the plist was automatically generated by a tool - which overwrote what Fabric had added.
For reference, this is what the Fabric part of the plist looks like in the current version (not sure where the version number is, but the latest version as of 15th June 2015).
<key>Fabric</key>
<dict>
<key>APIKey</key>
<string>your-api-key</string>
<key>Kits</key>
<array>
<dict>
<key>KitInfo</key>
<dict/>
<key>KitName</key>
<string>Crashlytics</string>
</dict>
</array>
</dict>
One more way to solve this Using Fabric App.
Launch Fabric app and log in with your user ID.
Click on Add New App
Select your .xcodeproj file and follow on screen instruction
Do not manually add Fabric key in your .info plist file
The solution required us to update Crashlytics. The other targets that we had set up had the latest version and those were working fine, but the latest update (3.0.9 at the time of this post) seems to fix the issue.
It just happened to me and this is how I solved it (thanks for the leads to everyone.)
Context: When you have more than one different target in your Xcode project, by creating a New App in the Mac Fabric app is, apparently, not enough.
Solution: If you select the same project (to make it for your Pro version for instance) Fabric app does not touch the Pro´s .plist properly.
So just copy the Fabric dictionary entry of your non-pro version of .plist and paste it into your Pro´s version.
API key goes on Organisation level, so this is the right way to do it.
just change the Fabric key type from String to Dictionary. go to your-project-info.plist>Fabric>kits>item0>KitName and change type to Dictionary. problem resolved for me
May be this will look weird but the same problem happened to me and this is how i solved the problem. I have a project with multiple target and schemes, i have also two additional targets for unit tests and UI Tests. The solution was to uncheck these tests targets from "Analyse", "Run", "Profile" and "Archive" tabs under Manage Schemes > Edit > Build. See the image Below :
my two cents:
in my all I add for mistake to plist of "myAppTests" and not to "myApp" plist.
So as also Eugene noted, be careful to add in EVERY .plist.
For me the reason was:
While you are creating a new target - a new Info.plist files is created automatically.
Thus you need to put the Fabric property to all Info.plist files.
<key>Fabric</key>
<dict>
<key>APIKey</key>
<string>43336ce109856f4452829a8e6b6783886fefb</string>
<key>Kits</key>
<array>
<dict>
<key>KitInfo</key>
<dict/>
<key>KitName</key>
<string>Crashlytics</string>
</dict>
</array>
</dict>
At first I've missed that, and put this code only to the first one - initial Info.plist file.
I'd like to create a file associate with tiff files in my iOS app (i.e. so that my app appears as a target for opening tiff files from Mail or Safari). Adding the following to my Info.plist file doesn't seem to work:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeName</key>
<string>tiff</string>
<key>LSItemContentTypes</key>
<array>
<string>public.tiff</string>
</array>
<key>LSHandlerRank</key>
<string>Alternate</string>
</dict>
</array>
I have an app that I associate with PDFs in the same way and it works fine. I believe that it is not possible to associate an app with the tiff file type on iOS, but I can't find any documentation stating that.
Has anyone else had luck getting this to work or finding a definitive "no, you can't do that"?
I burned an Apple TSI on this (I never seem to end up using them anyway) and the official answer is: no, you can't do that.
I've logged an enhancement request on Apple's bug reporting site: http://developer.apple.com/bugreporter/ and I suggest you do too if this issue is a problem for you.
Acorn declares file associations for TIFFs, which seems to work fine.
The only differences I could see between Acorn's implementation and yours is that Gus omits CFBundleTypeName and adds LSIsAppleDefaultForType (set to true). You might want to give that a try.
LSIsAppleDefaultForType is undocumented. There's a reference to it here: http://lists.apple.com/archives/cocoa-dev/2006/Jun/msg00747.html
An general note - the Mail and Safari apps indeed does not allow you to "open with .." tiff files (still true in iOS8);
Nevertheless, a lot of other apps, such as Dropbox, GDrive, etc, does allow you to do that.