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.
我正在尝试在iPhone 5C上运行一个需要大量框架的项目。我添加了链接库中所需的所有内容。
The project works on an iPhone 5S and an iPad, but on an iPhone 5C it returns the following error:
该项目适用于iPhone 5S和iPad,但在iPhone 5C上它会返回以下错误:
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.
然后看起来似乎没有添加AVKit.framework。哦,但确实如此。
Now some of the suggestions I've read online was to:
现在我在网上看到的一些建议是:
- 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.
- 把它放在嵌入式二进制文件中 - 尝试过,但它没有做任何事情。我也不愿意尝试触摸任何适用于其他所有设备的项目。
- Clean and build - Tried it, didn't do anything.
- 清洁和建造 - 尝试过,没有做任何事情。
- Delete derived data - Nope.
- 删除派生数据 - 不。
- Switch
Embedded Framework with Swift
toYes
- Eh, my project was exported from Unity. No real Swift files as far as I know. - 使用Swiftto切换嵌入式框架是的 - 呃,我的项目是从Unity导出的。据我所知,没有真正的Swift文件。
- My
Runpath Search Paths
has@executable_path/Frameworks
already. - 我的Runpath搜索路径已经有@ executable_path / Frameworks。
iPhone 5C has the version of 7.0, while the Xcode project has the deployment target of 6.
iPhone 5C的版本为7.0,而Xcode项目的部署目标为6。
If it means anything the version of the iPhone 5S it worked on was 8.4.
如果它意味着它所使用的iPhone 5S的版本是8.4。
Any other suggestions?
还有其他建议吗?
1 个解决方案
#1
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.
您的iPhone5C iOS版本低于iOS 8.0。支持嵌入式框架的最低iOS版本是iOS 8.如果在运行7.x的设备上使用嵌入式框架部署应用程序,它将在运行时因错误日志(dyld:image not found)而崩溃,因为它不受支持。
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.
要解决此问题,只需将目标iOS版本升级至8.0以上即可。如果由于某种原因仍然需要在7.x下保持支持,则应该使用静态库而不是嵌入式框架。
这里是相关链接
#1
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.
您的iPhone5C iOS版本低于iOS 8.0。支持嵌入式框架的最低iOS版本是iOS 8.如果在运行7.x的设备上使用嵌入式框架部署应用程序,它将在运行时因错误日志(dyld:image not found)而崩溃,因为它不受支持。
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.
要解决此问题,只需将目标iOS版本升级至8.0以上即可。如果由于某种原因仍然需要在7.x下保持支持,则应该使用静态库而不是嵌入式框架。
这里是相关链接