今天更新了 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.
解决:
文章来源:https://www.toymoban.com/news/detail-724535.html
根绝错误提示重新排序即可文章来源地址https://www.toymoban.com/news/detail-724535.html
持续更新中。。。
到了这里,关于Xcode15+iOS17适配以及遇到的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!