美文网首页锻炼吃饭的家伙
iOS Xcode升级到14.3报错解决方案

iOS Xcode升级到14.3报错解决方案

作者: iOS_YS_李 | 来源:发表于2023-04-05 10:54 被阅读0次

    1.如果你电脑开启了自动更新还是建议你先关闭掉吧。避免第一时间更新xcode出现不知名报错找不到解决方案

    你可能遇到的报错问题:

    1)Build service could not create build operation: unknown error while handling message: MsgHandlingError(message: "unable to initiate PIF transfer session (operation in progress?)")

    2)library not found for -lXXX

    3)library not found for -IPos-xxxx

    4)打包报错

    5)pods下product文件的二进制库无法编译,libffi寻址不到(静态库兼容问题14.3)

    6)clang: error: linker command failed with exit code 1 (use -v to see invocation)

    第一个报错信息很少见,多发生在xcode配置出错或xcode更新导致的环境变化。所谓环境变化就是xcode更新如果是覆盖式更新则好一些,如果是完全卸载式更新,也就是xcode所有的编译缓存都删除了,全部再次安装编译生成一遍新的编译缓存

    上述错误就在于此

    2013/10/25新增xcode15此类错误

    1.Clean Xcode and Close Xcode

    2.delete ~/Library/Developer/Xcode/DerivedData

    Xcode 14.3版本移除了ARC相关的库,从而导致一些默认部署目标是iOS 8版本的第三方库出现报错。只要最低部署目标不低于iOS 9版本,运行项目时就不会去链接ARC相关的库,也就不会出现找不到库的报错。

    导致在链接库的时候因为找不到静态库。这时候你就要去排查你的报错的文件中。其实和版本也不是有太大关系,而是只要你引用了低于ios11的库,这个库含有静态库.a文件则无法编译

    解决方法:删除这个库的.a即可

    比如我们引入了通知的extension,该库最低支持ios10.且包含.a静态库

    如果你遇到上述错误,没必要删除pod的lock文件或pods文件不断尝试pod install或者关机重启,没有用!!!!,因为xcode14.3不再包含arc文件

    系统已经内置有ARC相关的库,所以没必要再额外链接,至少Xcode 14支持的最低部署目标iOS 11及以上版本的系统肯定是没问题的。如果应用部署目标不低于iOS 11还出现问题,那么应该是第三方库的部署目标有问题。现在Xcode 14.3移除arc目录的原因已经很清楚,是因为支持的最低部署版本的系统都已经内置了ARC相关的库。如果应用最低部署目标版本本身不低于iOS 11,解决这个问题很简单,只需要将第三方库部署目标的iOS版本设置成和应用最低部署目标的iOS版本一致。应用最低部署目标是iOS 11.0版本

    在Podfile文件中加上:

    post_install do |installer|

      installer.pods_project.targets.each do |target|

        target.build_configurations.each do |config|

          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'

        end

      end

    end

    如果必须支持老版本,你可以将未升级前的arc文件复制到Xcode 14.3

    二  14.3可能遇到的打包错误

    相关文章

      网友评论

        本文标题:iOS Xcode升级到14.3报错解决方案

        本文链接:https://www.haomeiwen.com/subject/jtueddtx.html