Xcode8报错:**Framework not found IOSurface for architecture arm64** 或者 **Framework not found FilePr...

简介: Xcode8 编译报错:Framework not found IOSurface for architecture arm64或者Framework not found FileProvider for architecture x86_64/arm64.原因IOSurface.framework和 FileProvider.framework是 iOS11 新增加的库,但 Xcode8下没有这个库。

Xcode8 编译报错:

Framework not found IOSurface for architecture arm64
或者
Framework not found FileProvider for architecture x86_64/arm64.

原因

IOSurface.framework和 FileProvider.framework是 iOS11 新增加的库,但 Xcode8下没有这个库。打包静态库的时候,有一个Link Frameworks Automatically设置,默认为YES,会自动链接框架。所以Xcode 9打包的静态库时,在Xcode 8项目编译时候会提示找不到 IOSurface.framework和 FileProvider.framework。

题外话,这个在 Xcode5 和 Xcode6 过度时,Metal.framework 时发生过,可能过了就忘记了。也发现 Xcode 很多特性平时没有注意,有空真要多看看 LLVM 的知识。

结果

如果升级到 Xcode9,则不受影响。如果 Xcode8 编译报错,网上最初给出的方案,在 Xcode8 中添加IOSurface.framework和 FileProvider.framework后打包,结果最后还是会被坑哦!

在 Xcode8 中添加IOSurface.framework和 FileProvider.framework后打包,上传iTunes Connet 报错:


img_94725a1612beb5b28ce7d86f450de4f9.jpe
iTunes Connet 报错使用非法 API.jpg

正确解决方案

Build Settings 中 Link Frameworks Automatically 把默认Yes 改成 No ,重新打Framework或.a文件,添加到 Xcode8 编译就能通过。

img_86b0446783f295861249a67c4a87f6d6.jpe
设置 Link Frameworks Automatically 为 NO.jpeg

参考&扩展阅读


注:本文首发于 iHTCboy's blog,如若转载,请注明来源。

目录
相关文章
|
6天前
|
iOS开发 MacOS Perl
解决Xcode运行IOS报错:redefinition of module ‘Firebase‘和could not build module ‘CoreFoundation‘
解决Xcode运行IOS报错:redefinition of module ‘Firebase‘和could not build module ‘CoreFoundation‘
31 4
|
6天前
|
iOS开发 Perl
解决Xcode15报错:DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS
解决Xcode15报错:DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS
28 1
|
6天前
|
iOS开发 Perl
解决Xcode报错Stored properties cannot be marked unavailable with ‘@available‘
解决Xcode报错Stored properties cannot be marked unavailable with ‘@available‘
17 0
|
6天前
|
iOS开发
解决Error (Xcode): File not found:XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a
解决Error (Xcode): File not found:XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a
11 0
|
3月前
|
iOS开发
Xcode报错“compact unwind compressed function offset doesn‘t fit in 24 bits
Xcode报错“compact unwind compressed function offset doesn‘t fit in 24 bits
36 1
|
3月前
|
Swift
use_frameworks引起的Undefined symbols for architecture arm64
use_frameworks引起的Undefined symbols for architecture arm64
39 0
|
3月前
|
Swift
swift相关项目包含私有库引起的Undefined symbols for architecture arm64
swift相关项目包含私有库引起的Undefined symbols for architecture arm64
35 0
|
3月前
|
开发工具 iOS开发 Perl
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
mac电脑升级到10.15.7含有支付宝SDK的组件更新报错:AlipaySDK.framework/AlipaySDK for architecture arm64
51 0
|
3月前
|
数据处理 编译器 数据库
x64 和 arm64 处理器架构的区别
x64 和 arm64 处理器架构的区别
|
6天前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。