最近项目挺忙的,没太多时间来掘金更新文章,但是有关于Xcode14.3的问题,我不得不拿出来说一下,也就算是帮助到大家吧。

4月25日更新,这篇文章没想到得到了很多朋友的响应,于是把评论区里面掘友的经验也分享出来。

缺失libarclite_iphoneos.a

升级完Xcode14.3之后,编译项目,可能会出现下面的报错:

File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a

原因是libarclite_iphoneos文件缺失。

有两种解决方案:

  • 有的三方库支持版本过低,在podfile文件中指定版本
  • post_install do |installer|
        installer.generated_projects.each do |project|
              project.targets.each do |target|
                  target.build_configurations.each do |config|
                      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
    
  • 因为需要指定版本到有特殊要求,可以考虑从其他版本的Xcode拷贝libarclite_iphoneos.a放到对应的目录下即可:
  • open /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/
    

    如果你找不到libarclite_iphoneos.a文件,这个git资源可以帮助到你:github.com/kamyarelyas…

    不管是通过Xcode的Archive还是通过fastlane进行打包,到最后一定会报错,大致的信息如下:

    rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots

    Pods文件下面,找到Pods-工程名-frameworks.sh,将这段代码进行修改,注意,后续pod install之后,都要再进行修改。

    source="$(readlink "${source}")"
    
    source="$(readlink -f "${source}")"
    

    另外有掘友提醒通过升级cocopods的版本可以解决脚本异常的问题,这样应该就不用每次pod install了,记住将cocopods升级到1.12.1。

    Xcode 14.3: App built is not able to open on iOS 13.6

    很多人都反馈在Xcode14.3打包上架后,在iOS13.6的系统下安装App后,有异常,因为目前我手上的测试机都是是iOS14以上的,所以无法准确复现这个问题,不过考虑这么多人都在说这事,我觉得应该是真的。

    大家需要注意一下。

    可以考虑回退到Xcode14.2

    防止自动升级到Xcode14.3

    很多朋友都是Xcode自动升级到14.3版本的,为了防止类似的事情发生,我们最好的方法就是关闭App Store的自动升级,观望一段时间后再做决定。

    另外,还有掘友分享了一个管理Xcode版本的工具,我自己因为开发原因并没有测试,感兴趣的掘友可以试试喔:

    XcodesApp

    Missing file libarclite_iphoneos.a (Xcode 14.3)

    Xcode14.3问题记录

    developer.apple.com/forums/thre…

    developer.apple.com/forums/thre…

    developer.apple.com/forums/thre…