前言

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

缺失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'
               end
          end
   end
end
  • 因为需求指定版别到有特殊要求,能够考虑从其他版别的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}")"

Xcode14.3坑爹问题汇总与解决

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的主动晋级,观望一段时间后再做决议。

Xcode14.3坑爹问题汇总与解决

参考文档

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…