1

I'm trying to get a project running on an iPhone 5C, one that needs a lot of frameworks. I added all that was needed in Link Libraries.

The project works on an iPhone 5S and an iPad, but on an iPhone 5C it returns the following error:

dyld: Library not loaded: /System/Library/Frameworks/AVKit.framework/AVKit
  Referenced from: /var/mobile/Applications/28EC3D4B-1011-45EA-8A6C-7D62DBC9CC09/cnContainerApp.app/cnContainerApp
Reason: image not found

Then it would seem as if AVKit.framework has not been added. Oh, but it is.

enter image description here

Now some of the suggestions I've read online was to:

  1. Put it in Embedded Binaries - Tried that, but it didn't do anything. I'm also reluctant to try and touch anything on a project that works on every other device.
  2. Clean and build - Tried it, didn't do anything.
  3. Delete derived data - Nope.
  4. Switch Embedded Framework with Swiftto Yes - Eh, my project was exported from Unity. No real Swift files as far as I know.
  5. My Runpath Search Paths has @executable_path/Frameworks already.

iPhone 5C has the version of 7.0, while the Xcode project has the deployment target of 6.

If it means anything the version of the iPhone 5S it worked on was 8.4.

Any other suggestions?

zack_falcon
  • 3,625
  • 17
  • 54
  • 99

1 Answers1

2

Your iPhone5C iOS version is lower than iOS 8.0.
The lowest iOS version to support embedded frameworks is iOS 8.

If you deploy the app on a device running 7.x with the embedded frameworks, it would crash with your error log(dyld : image not found) at runtime because it is not supported.

To solve this, just upgrade your target iOS version at least to above 8.0.
If you still need to keep support under 7.x for some reason, you should use static libraries instead of embedded frameworks.

here is related link

Community
  • 1
  • 1
boraseoksoon
  • 1,792
  • 1
  • 16
  • 23