Import LocalAuthentication.framework crashes on iPhone5s with iOS 7.1 - objective-c

This question has been asked here before but the selected answer and comments does not resolve the problem. So I am asking it again and going to keep it simple.
I have an app in which am using Touch ID. It works fine in all devices except iPhone 5s with iOS 7.1.
To observe this thing.
Create a new Xcode project.
Add the LocalAuthentication framework.
Observe that the app crashes right away in iPhone 5s with iOS 7.1.
Now mark LocalAuthentication as optional but it still crashes on that specific device.
Note: I also set Link Frameworks Automatically to NO in build settings. Then I had to add "UIKit" framework to app manully. Apart from that I did nothing.
I also tried the same thing with apple sample code, it is also crashing for the same.
Crash Log:
dyld: Symbol not found: _objc_isAuto
Referenced from: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
Expected in: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/usr/lib/libobjc.A.dylib
in /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
Please suggest something.

Related

Works on Simulator, fails on device: error: WatchKit App doesn't contain any WatchKit Extensions

I am seeing the following error when trying to run a project on a real device, in the simulator it runs fine.
error: WatchKit App doesn't contain any WatchKit Extensions. Verify that the value of NSExtensionPointIdentifier in your WatchKit Extension's Info.plist is set to com.apple.watchkit
Things which may or may not be relevant
I am using cocoa pods in both the watch and main app target
The project is mostly objective-c but has a few swift files
Xcode 8.1 (8B62)
Device Software Versions: iOS 10.1.1 & WatchOS 3.1
Deployment Info > Deployment Target: iOS 10.0 watchOS 3.0
Things I’ve tried
I have checked several times that all the correct files belong to the watch target. I may have missed something here, but I assume it wouldn’t run on the simulator if this was the case
Bundle identifiers
main app’s identifier: < app id >
watch app’s bundle identifier: < app id >.watchkit
watch app’s WKCompanionAppBundleIdentifier: < app id >
watch extension’s bundle identifier: < app id >.watchkit.extension
watch extension’s NSExtension>NSExtensionAttributes>WKAppBundleIdentifier: < app id >.watchkit
NSExtension>NSExtensionPointIdentifier: com.apple.watchkit
WKWatchKitApp is set to YES in both the Watch Extension and the Watch App
I have removed and re-added the .appex from Build Phases>Embed App Extensions
Ensuring Mach-O Type is set to executable in all targets
Re-installing pods as described in this answer
Clearing derived data
Clearing build folder
Restarting Xcode
I tried an archive and this failed with the same error
In lieu of an answer, advice on debugging / troubleshooting this would be appreciated too.
I've seen this intermittently, but usually rebuilding a second time fixed it. I've never got to the bottom of why.
I've always assumed it's a bug in Xcode.
Sorry can't be more help, but you're not alone in seeing this.
I encountered this error, with 3 other errors.
Turned out the problem is that Valid Architectures is set incorrectly. Under Build Settings, make sure Valid Architectures includes i386 and armv7k.
Once that is fixed, the watch extension will be build, and all errors gone.

'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named UIKeyCommand'

My app is crashing when I try to display another view controller. It does work correctly when the iOS SDK is set to 7.0 and I am targeting iOS 7.0. But I need the app to target iOS 6.0. UIKit is (obviously) declared in the imports. The UITableViewController I am trying to present works perfectly fine as far as I'm aware - I created it for another app, using XCode 4.6.3, targeting 6.0 and it compiled without error (as does this one) but it also displays without crashing.
I could provide code, code which does nothing more than present the table view controller using a modal transition, but I even went to the point of connecting a UIButton to the UITableViewController - it worked on iOS 7, but not 6. It's my belief that when I compile with the iOS 6.1 SDK, it should be using iOS 6.1 frameworks?
UIKeyCommand is only available in iOS 7 and later, according to this. That gives me reason to believe that it is using the iOS 7.0 frameworks even though the iOS 6.1 SDK has been specified.
I've tagged this with the xcode tag as I believe it could possibly be caused by xcode incorrectly searching for the specified SDK's frameworks.
I had the same problem as you and here is what i did to solve it:
I opened the Storyboard as Source Code and searched for the tag : keyCommands , I found a tag similar to
<keyCommands> <keyCommand/> </keyCommands>
and i deleted it.
After that i runned the app in iOS 6 & 7 and it worked with no problem.
Let me know if this works on your app too!
Cheers!

dyld: Symbol not found: __NSConcreteGlobalBlock after updating to OSX 10.8

I just updated to Mac OSX10.8 and I'm trying to compile a Mac app that ran perfectly when using 10.7 + Xcode 4.5. Now I get this error:
dyld: Symbol not found: __NSConcreteGlobalBlock
Expected in: /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
I've looked everywhere and things seem to be ok. The deployment target for the app is 10.6 which already supports blocks. Any ideas?
Thanks!!
It turns out that my project was trying to use an old version of the CoreServices framework which was causing this issue. I re-added all the frameworks that my project was using and the problem was gone :)
+1 on your question... Not sure if that would help finding the problem with OS X, but there is a similar error that happens with iPhone apps, with a solution in the link below. Another reason I am providing this link is that googling this error for the iPhone got me to this page.
iOS 4 app crashes at startup on iOS 3.1.3: Symbol not found: __NSConcreteStackBlock

Library not loaded

I added Social.framework in my application in the same way i use to add the other frame works. I have downloaded xcode 4.5 and iOS 6 . but my application crashes with follwing error only on device. It works fine on simulator.
dyld: Library not loaded: /System/Library/Frameworks/Social.framework/Social
Referenced from: /var/mobile/Applications/FC88291D-2052-45D6-A7BB-65CE340F07BF/Uploading Image.app/Uploading Image
Reason: image not found
I was getting this exact error. My app currently has a deployment target of 5.1. I wanted to add Facebook sharing. I found this old post, Conditionally including a library for different iOS SDK versions?. All I did was set "Social.framework" to 'optional' and it did the trick, then my app would run on ios 5.1 and ios 6.0. Of course you need to do checks at runtime for what OS the device is running otherwise you could run into a crash if you try to access social.framework in ios 5.1 or earlier. Hope that helps!
In Xcode go to targets, Go to build phase and search for Social frame work you will find that under "Link Binary with Libraries" section. There select social frame work and see there is an option on right hand side required/optional in that just change required to optional. Now you are able to run on all ios devices without any crashes.

Am I using Core Location correctly? It doesn't seem to be working

I just started doing some research into Core Location and it seems that the tutorials that I am following are not working for me. Even when I download the source code and run it, nothing happens. At present I have attempted this tutorial. When I run it, I get a popup asking if I want iPhone to use my current location. I press ok, and then nothing happens. Am I supposed to do anything else?
I am also using VMWare, and currently am unsure if this is the cause (although my internet connection works perfectly on it). I'm using base sdk ios 4.3 - running simulator.
In order for location to work, you need to be running the code on an actual device. The latest public iOS SDKs don't yet support location changes in the simulator. The simulator will always return 1 Infinite Loop, Cupertino, CA (Apple's headquarters) as the location.
See the Core Location documentation for more information on using location in your apps. (Although I can't find a citation for the limitation of the simulator at the moment.)
CoreLocation within the simulator is always going to return 1, Infinite Loop, Cupertino, CA, although Xcode 4.1 and iOS 5 have improved support for testing CoreLocation capabilities in the simulator.
iOS5 iPhone simulator supports location simulation.
If you are using 4.3, it does support location in some conditions. I notice that when I am tethering using my iPhone, my iPhone simulator is able to get location from my phone. I can see location update in my simulator when I'm working while commuting in a train. But this update is only through core location. Map gives u Cupertino unless u use iOS5