Location Services not working in iOS 6 [duplicate] - cllocationmanager

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
iOS 6 and Location Services not working
Our app's location services have stopped functioning in iOS 6. They work fine in iOS 5. When I call CLLocationManager's startUpdatingLocation method it never prompts the user for access and our app doesn't show up in the Settings Location Services page.
Anyone seen this before? I really have no idea where to look. I have tried stripping down our app to just a single view controller and it still doesn't work. Maybe something in the build settings?
Edit:
I created a new target and it works in there.

It looks like the problem was we did not have CFBundleDisplayName declared in the .plist file. We had CFBundleName but not CFBundleDisplayName.

I created the project with XCode 4.4, after install Xcode 4.5 location doesn't work. Declaring in the .plist file key CFBundleDisplayName location now is working.

Related

How to change iOS app name based on Flutter Flavor?

I have 4 flavors for my flutter app and I want to give different app name for each of them. I found some answers about how to do it on Android, but couldn't find anything concrete for iOS.
I tried making changes to product name in build settings and info.plist file, but no luck. Can anyone help ?

Shared Web Credential failed to approve on iOS 10 real devices

recently a problem appeared in my iOS application. I'm using Shared Web Credential to get associated user credentials:
SecRequestSharedWebCredential(0, 0, ^(CFArrayRef lpCredential, CFErrorRef lpError) {
// stuff
});
It was working fine until recently, when I discovered it stopped working on iOS 10 devices (possibly only 10.2 devices but I don't have older versions to check). Everything should be in order (entitlements, signed apple-app-site-association file on the server) as it works on iOS 9 and 8. Also it works on every version in simulator (even 10.2).
But on real devices iOS 10 it doesn't work. Completion block is called with error code
-25293 (Authorization/Authentication failed.)
"www.webcredentialsurl.com" failed to approve "AppPrefix.AppID"
Does anybody have any idea what might be causing this? Did Apple change something recently? I'm using Xcode 8.2.
Okay, so I finally found out what was wrong. Since iOS 9.3, Safari searches for apple-app-site-association file in /.well-known directory. If there is no such page or it doesn't find this file, it goes to root directory. However, since iOS 10 it goes to root only if page is not found! If you have redirect there, it treats it as if apple-app-site-association doesn't exist. So you either need to remove redirect for /.well-known or put your apple-app-site-association file there.
Official Apple documentation (they updated it recently to inform about /.well-known more prominently. When I was looking for a solution it was only partially mentioned in brackets...)
https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html

Add Address Book Framework for iOS 8 with Xcode8

I am working on application in which I need to support iOS 8 onwards devices. Application used iOS contacts So I need to add both ABAddress and contacts framework.
I am facing a strange problem with Xcode 8 that ABAddressFramework not found at run time and application crashed.
I have added the framework in Link Binary With Library with required tag.
Please provide your input on this.
Besides checking for iOS 8 and iOS 9 to call functions,
make sure the framework that's not available on iOS 8 is set as Optional
Finally I resolved the issue and I tried removing and adding the ABAdressFramework and it works. I think Order is also playing important role:
https://github.com/OceanLabs/iOS-Print-SDK/issues/257

how to solve this the crash when running after updating to swift 3?

I just updated to Xcode 8 (swift 3). Converted code, etc. No errors. A few build warnings...nothing that should be an issue.
When I run, with my IPHone connected, it crashed with a Thread 1: signal SIGABRT . It has hardly anything in the trace back other than
0_abort_with_payload
5 _dyld_start
and the console error is
dyld: could not load inserted library '/Developer/usr/lib/libBacktraceRecording.dylib' because no suitable image found. Did find:
/Developer/usr/lib/libBacktraceRecording.dylib: code signature invalid for '/Developer/usr/lib/libBacktraceRecording.dylib'
I had the same error since upgrading to xcode 8 (swift 3). The fix, for me, was to add an entry in info.plist
To add the permission information for the microphone:
Open info.plist
Add a new key called "Privacy - Microphone Usage Description"
Enter a string that describes why the app need microphone access
Just restart your iPhone device.
It mainly crash because you have to write some privacy thing in info.plist if you are using hardwares like camera, gallery etc. Check console for details and add everything you are using in info.plist of your app.
I had the same problem and finally figured it out. I created a Framework in Swift 3 that I then added to one of my other projects. This project that I added it to uses both Swift and Objective-C but is originally an Objective-C project.
For some reason the Framework made in Swift 3 was causing my app to crash immediately when running on an iPhone with that exact error. I deleted the Framework and now it is running fine.
Again, not sure why this happens because the Framework was working fine with the app before and works fine on simulators. So I guess it has to do with the Framework being created in the latest XCode with Swift 3. Maybe someone else can clear this up.
Hope this helps someone!

iOS - Entry in Info.plist for only iOS 6 and above?

I have an entry in my app's Info.plist (a Dictionary), and I only want it to be used in iOS 6 and above. It involves font replacement, using FontReplacer, and I don't want to replace fonts for a device running iOS 5. You can see the example on GitHub for a better explanation.
Basically, is there a way for me to only use that Info.plist entry if the user's device is running iOS 6 or later?
Thanks.
No.
There isn't a way to tell the system to only have a specific entry available if >iOS 6.
There is, however, a way to tell whether you're on an OS > 6 in code, though:
#ifdef IPHONE_6_0
//...
#endif

Resources