I've been getting reports of my app crashing on load in iOS 6. It's built with the iOS 8 SDK and works fine on 7 & 8.
I've just managed to get hold of an iOS 6 device to test and it does in fact crash on launch with the error:
dyld: Symbol not found: _UITransitionContextFromViewControllerKey
Referenced from:
/var/mobile/Applications/895BC1B3-A362-42C9-8560-5CF40A682A10/myapp.app/MyApp
Expected in: /System/Library/Frameworks/UIKit.framework/UIKit in
/var/mobile/Applications/895BC1B3-A362-42C9-8560-5CF40A682A10/myapp.app/MyApp
I understand that dyld is a linker problem, but have no idea where to start with this.
I've unlinked and re-added UIKit, but still doesn't work.
Thanks
This is because UITransitionContextFromViewControllerKey doesn't exist until iOS 7. Working around this probably isn't worth the effort--it means dropping all usage of UIViewControllerContextTransitioning, as the protocol is new in iOS 7, or creating a separate code path for iOS 6. If that's what you want, look into weak-linking UIKit, although this may result in slow startup.
Look like your using UIViewControllerContextTransitioning. It's available only on iOS 7+.
See this question for more details Restore pre-iOS7 UINavigationController pushViewController animation
Related
I've developed an iOS app that uses the url(forPublishingUbiquitousItemAt:expiration:) method of Apple's FileManager class. Starting with the first Beta of iOS 13 this function stopped working and now it throws an error, stating "This code has been removed. You should switch off of this SPI". But I can't find anything related to this function neither in the release notes of iOS nor in the documentation for this function, and it even states there that it would be supported on Mac Catalyst 13.0+.
This also has nothing to do with Xcode 10 and 11, as it occurs when the app is built using either one of those versions.
Does anyone of you know more about that? It would be great to get new information on that.
Thanks,
Fabian.
This is fixed in iOS 13 beta 6. Updated today and this error magically disappeared!
Had my mind blown when I saw this error message.
We have an app that is working properly with the UserNotification.framework being linked as required framework in Xcode 9. Everything works smooth here.
Now we are switching to Xcode 10. But there linking this framework as required leads to
dyld: Library not loaded: /System/Library/Frameworks/UserNotifications.framework/UserNotifications
Referenced from: /var/containers/Bundle/Application/1D41BD68-9B88-4D5D-B7AB-0D1C31979964/App.app/App
Reason: image not found
If I switch it to optional push notification (via Intercom) won't work anymore.
What is the reason? How can we fix that? Why is it even working in Xcode 9?
Update #1
using
#import UserNotification
does not fix it
Update #2
Its fixed by importing and using it actually (in AppDelegate.m) like this
UNNotificationRequest* unr = [UNNotificationRequest alloc];
unr = nil;
Why?
It is related to the same issue I have experienced already.
CABTMidiCentralViewController used in Storyboard only working if using code reference
Update #3
More generic question
Xcode sometimes removes linked library
UserNotification SDK is available on iOS 10+, Try to update the deployment Target to iOS 10 +
Can your please try removing the framework and adding that again ? I just created a new project this framework added in Xcode 10 and was able to run in the device without any errors.
I've just recently started working with Xcode, trying to build iOS version of our Unity3D game that is already made for Android. The problem I'm having occurs when trying to start my app in Xcode simulator, tried to find my exact problem in here but nobody is mentioning "__vtcOnSessionStart". Full error message:
dydl: Symbol not found: __vtcOnSessionStart
Referenced
from:/Users/kostitch/Library/Developer/CoreSimulator/Devices/ED13FE1B-5F33-4E82-8A68-66C59F043E0F/data/Containers/Bundle/Application/BC7ED012-F851-4BF2-89DD-964C198C9300/basicbingotwo.app/basicbingotwo
Expected in: flat namespace
For some reason I'm getting this in the iPhone Simulator when I try to call AddComponent on a script-created GameObject during another object's Awake() method. Removing this fixed the error.
So I have the following problem:
launching my application on iOS 8 on my iPhone 5s, I get no error, but launching my app on iOS 6.1.3 on my iPhone 3GS, I get this error:
dyld: Symbol not found: _OBJC_CLASS_$_NSNetService
Referenced from: /var/mobile/Applications/567E221A-FC5C-4011-90AD-E47E5FF033B1/BellyClient.app/BellyClient
Expected in: /System/Library/Frameworks/CFNetwork.framework/CFNetwork
in /var/mobile/Applications/567E221A-FC5C-4011-90AD-E47E5FF033B1/BellyClient.app/BellyClient
I imported a class named Server. The class uses the CFNetwork.framework, which contains the class NSNetService, which is avaiable since iOS 2.0.
Using NSClassFromString(#"NSNetService") is not really a solution I like.
I also don't know, why this error occurs, because the class NSNetService should be avaiable in iOS 6. Could it be the device?
I searched and found, that setting the framework to Optional, will solve this issue. But the problem is, that I cannot use the framework, when I run the application on iOS 6. When I do
if ([NSNetService class] == nil) {
NSLog(#"NSNetService is nil");
}
I get printed NSNetService is nil.
Is it possible to launch the app without crashing and without setting the framework as Optional
Thanks iComputerfreak
Try re-adding Foundation.framework:
Go to your project's target
Choose "General" tab
Under "Linked Frameworks an Libraries" look for Foundation.framework, select it and press the minus ('-') sign at the buttom to remove this framework.
Now press the plus sign ('+') and search for Foundation.framework - re-add it, and it's supposed to fix your crash.
Hope it works - it did for me.
There is no crashalytics crash report that I get. And the user says that the app just hangs on the opening screen.
And this started happening only a few days ago. Would anyone know why this happens? And is there any reason why this started happening now?
When I run the app on my simulator with iOS 5.1 it works just fine.
I emailed you the crash logs & console logs. The immediate meat of it looks like you have a problem with ACFacebookAppIDKey...
Dyld Error Message:
Symbol not found: _ACFacebookAppIdKey
Referenced from: /var/mobile/Applications/<removed by D80buckeye>/BusinessPlan.app/BusinessPlan
Expected in: /System/Library/Frameworks/Accounts.framework/Accounts
in /var/mobile/Applications/<removed by D80buckeye>/BusinessPlan.app/BusinessPlan
Dyld Version: 199.6
EDIT:
With a little more research I think I found your problem. ACFacebookAppIDKey is only available in iOS6 and above. From ACAccountstore Class Reference
ACFacebookAppIdKey
The Facebook App ID, as it appears on the Facebook website.
Available in iOS 6.0 and later.
Declared in ACAccountStore.h.
Mark Social.framework, Accounts.framework as 'optional' in XCODE, NOT required, in Targets/Build Phases/Link Binary with Libraries.