Google Map don't load in iOS - ios

I’m using GoogleMaps pod in my iOS application and it was working fine, but in my last build, apple reject my application. And the reason behind that is, the map was unable to load at the time of review on iPad running iOS 12.2 on Wi-Fi.
I did try to reproduce that bug on my device but I couldn’t.
Application do ask for location permission
Google Place API key also seems ok.
Is there any way to identify what the actual issue is and how I am supposed to solve this one?

Finally, I've solved that issue and for that, I've done some of the changes in my project.
1 - I've patched the latest Google Plist file in the project (I wasn't sure whether the old one was latest or not)
2 - I was using multi language in my project so before setting the delegate of google map, I've set the language for my project.
3 - instead of set the google map from Storyboard, I've set the google map programmatically in my view controller after setting language.
After surfing for so long to solve this issue, I came to know that this issue occurs when your App supports multi language. These some steps did work for me.

Related

Ionic 2 Storage does not work on iOS

I am using #ionic/storage as it looked quite promising after reading about it in the V2 Docs.
I use Chrome on my Windows 10 laptop so things appeared to be working perfectly fine at first. However, when I tested it on iPad, or even Firefox on my laptop, I was surprised to find out it did not work.
I was able to resolve the issue on Firefox by removing the sqlite plugin (I thought I will add it when I am ready for native testing):
cordova plugin remove cordova-sqlite-storage --save
Sadly, storage still doesn't work on the iPad. I tested it on Safari and Chrome. I am unable to debug this given the lack of developer tools or console.
I am quite frustrated how Apple makes you dependent on using a Mac to develop on their devices.
How do I go about fixing and debugging this?
I first import storage in Ionic 2:
import { Storage } from '#ionic/storage';
Then to save the data, I do this:
this.storage.set(pk, JSON.stringify(reportObj));
Where pk is just a unique key, and reportObj is an object that I stringify before storing. Again, keep in mind this just doesn't work in iOS.
Thanks.
Update:
So I managed to run the app in Safari and found out that .set actually works and the data gets stored in WebSQL. However, the get does not seem to work and I wasn't able to get any useful errors in the console.
OK, so after a lot of trial and error, I found out that the problem is not really with Storage. There appears to be some other issue with my UI, where it doesn't seem to work on iOS.
I decided to answer the part about testing the app on iOS while in development if you are not a Mac user. The best way for this appears to be to use Ionic View. You can use this simply by typing:
ionic upload
Make sure you create your account. In your iPad or iPhone, you can then download Ionic View app from iTune, sign in, and the app will appear there.
As you upload your code, simply upload again and almost instantly the app would upload on the device as you click Sync.
Hope other Windows users benefit from this.

Google Maps iOS street view URL scheme not working?

My app has some code for opening directly to Google Maps. We're attempting to open directly to Street View for a particular coordinate using a URL like so:
comgooglemaps-x-callback://?center=47.613371,-122.313167&mapmode=streetview&x-success=myurlscheme://noop&x-source=MyApp
I'm seeing an infinite spinner with the Street View never loading.
This URL scheme is documented and has worked for several years, until a recent update.
https://developers.google.com/maps/documentation/ios-sdk/urlscheme
Is this feature of the app busted or did the URL scheme change?
This has been fixed in the latest release of google maps iOS app. Please check it.
Reference : https://github.com/googlemaps/OpenInGoogleMaps-iOS/issues/6
This is a bug ( or documentation needs updating) as I was able to verify this working with the previous Google Maps iOS build of 4.14(the last update). Also verified with other iOS apps that use StreetView.
submitted issue but this has not been acknowledged as a bug yet.
https://code.google.com/p/gmaps-api-issues/issues/list?can=2&q=streetview&colspec=ID+Type+Status+Introduced+Fixed+Summary+Internal+Stars&cells=tiles
It looks like it's been accepted as a bug according to Google. I've heard that it will be fixed with next update, but that is not official.
http://code.google.com/p/gmaps-api-issues/issues/detail?id=9095&q=apitype%3AIosSDK%20type%3ADefect&sort=-stars&colspec=ID%20Type%20Status%20Introduced%20Fixed%20Summary%20Internal%20Stars
Google has a new app, I believe we are supposed to use this instead but I've not tried it yet!! I still have not seen updated documentation on website that confirms this.
https://itunes.apple.com/us/app/google-street-view/id904418768?mt=8
https://github.com/googlemaps/OpenInGoogleMaps-iOS/issues/6

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.

Google Maps freezing on __semwait_signal()

I am currently building an app that uses Google maps. Every so often, the app freezes in the main thread on this function, __semwait_signal(), as the superview the google map is in is about to close or navigate away.
Apparently it is an issue that spans multiple programmers.
https://code.google.com/p/gmaps-api-issues/issues/detail?id=6484
I am running the Google Map framework 1.7.2 and testing on an Iphone 4 with iOS 7.1
Can anyone find a work-around for this, or is it something that can only be resolved with the next update on the framework?
Updating the google map framework is all that it takes to fix this issue.
Check your Framework Search Paths to make sure that the only path to the a Google Maps Framework is the most recent version. I had multiple paths there, which caused other crashing issues as well. https://code.google.com/p/gmaps-api-issues/issues/detail?id=6672

Google Analytics integration not working in an iOS App

I am integrating Google analytics in an iOS App. I have a made a separate sample project and its working fine.
But when I am implementing the same in my App its not working.
Are there any frameworks that will restrict the App for not running Google Analytics?
First there are NO FRAMEWORKS that will restrict the app from running Google Analytics. But if you dont add certain frameworks you wont be able to compile the code.
Take a look at these links as these might be helpfull
https://developers.google.com/analytics/devguides/collection/ios/
https://developers.google.com/analytics/devguides/collection/ios/resources
mainly this one which is below
https://developers.google.com/analytics/devguides/collection/ios/v2/
Apart from this if you are working on Google Analytics for the first time. Let me tell you that you will only find your data on the Google Analytics Dashboard after some time. It may also take a day if its the first time.So be patient if have been able to compile the code and run the app. After the first time its quick. i.e. the data shows up much faster.
Finally, I have been able to do Google Analytics (GA) working as expected.
The problem was not due to any framework incompatibility, neither project build settings, nor plist option. I recreated the same configuration into another project to be sure.
From my point of view, the first problem I had was to try using the GA SDK v3 within an Xcode v4.6.3 while Xcode v5 is expected.
Then Downgrading the GA SDK version to 2 beta4 has not directly solved the problem because perhaps GA SDK's persistent data was kept in my app (by user default or core data).
#BhargaviShamukh, if you still have this issue, the way to solve it should be to clean the project (menu Product > Clean) and to uninstall the app from both simulator and device to be sure any GA SDK's data is deleted.
At least for me, this process has solved the problem.

Resources