Xcode15+iOS17适配以及遇到的问题

今天更新了 Xcode15,遇到了一些问题,做下记录希望大家少走点坑。

1.iOS17 SDK 安装失败

Xcode更新完成后,打开项目一直显示 no fund  iOS17 sdk,根据项目不同提示可能有区别,根据提示下载后提示安装失败,试了几次还不行,就去官网查看一下情况,苹果已经给出解决方案;

解决:

终端执行以下命令:

# sudo xcode-select -s /Applications/Xcode.app 
# xcodebuild -runFirstLaunch
# xcrun simctl runtime add "~/Downloads/iOS_17_Simulator_Runtime.dmg"

当然网络也是一方面;

成功的提示:

D: 40037F44-7F14-4FE3-B2A7-34EA5F24AC36 iOS (17.0 - 21A328) (Ready)

出现这个之后会提示验证,验证通过重启 Xcode 即可。

2023.10.07

今天打开电脑直接提示更新14.0 Macos版本,更新成功后打开Xcode会提示下载 iOS17SDK,看来新版本苹果已经修复此问题,大家遇到此问题最好看看系统版本。 

2023.10.23

今天更新Xcode15.0.1版本,又出现的同样的问题,看来此问题会长期存在,推荐大家一种简单有效的方式:

1.直接在Apple官网找到你要下载的文件,https://developer.apple.com/download/all/ 

2.下载到本地,完成后

3.在终端执行命令:

# sudo xcode-select -s /Applications/Xcode.app
# xcodebuild -runFirstLaunch
# ""里面是文件路径最后是文件名,一定要记住文件类型要加上
# xcrun simctl runtime add "/Users/xxx/Downloads/iOS_17.2_Simulator_Runtime.dmg"

会进入验证状态,验证通过后重启Xcode即可使用;

注意

此方式可以避免很多坑,因为文件很大,很多时候5个G以上,网络很容易挂掉,xcode下载还没有断点续传,下载一断就需要重新下载,我们避开了Xcdoe的下载方式,只需要Xcode验证安装文件就行;

下载的文件名字里可能有空格,但是在终端执行命令时空格会转成下划线,最好是直接复制文件名,在终端粘贴的时候会自动转,大家千万不要在命令里空格,那样就会出现下面的问题

如果提示:(2) No such file or directory 说明路径有问题,多检查下。

2.项目编译失败,提示.a里的文件重复添加

我很确定文件没有重复添加,

解决:

Build Settings -> Other Linker Flags 中添加 -ld64

重新编译即可。

3.swift项目或者flutter项目报:DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead

原因应该是Xcode15改变了某些配置路径,导致pod获取的配置和xcode不匹配,

解决:

有两个方法解决

1.Pod已经立刻进行了版本更新,1.13.0版本已经修复了此问题;

2.在podfile文件添加:

post_install do |installer|
  installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
      flutter_additional_ios_build_settings(target)
      xcconfig_path = config.base_configuration_reference.real_path
      xcconfig = File.read(xcconfig_path)
      xcconfig_mod = xcconfig.gsub(/DT_TOOLCHAIN_DIR/, "TOOLCHAIN_DIR")
      File.open(xcconfig_path, "w") { |file| file << xcconfig_mod }
      end
  end
end

重新install既可

4.项目中有使用沙盒的读写的,会报:Sandbox: bash(xxx) deny(1) file-write-create 

解决:

在项目的project里,设置User Script Sanboxing改为NO以及编译的Xcode版本选择最新的Xcdoe15,pod工程右则工具栏一样改成Xcode15.0

重新编译应该就可以了

5.Cycle inside xxx;   building could produce unreliable results.

解决:

根绝错误提示重新排序即可

持续更新中。。。

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值