前不久,伴随着iOS 12版本的发布,苹果升级了
Xcode
版本,最新的版本是
Xcode
10.1。不过升级后经常会遇到各种编译问题,下面就给大家总结一些常见的错误(我项目遇到的)。
话不多说了,来一起看看详细的介绍吧
library not found for -libstdc++
报错
的详细信息如: library not found for -lstdc++.6.0.9 。
报错
的原因是因为xocde 10后这个libstd++.6.0.9库已经废弃了,解决方法也简单,要么删除之前的依赖脚本,要么下载libstd++.6.0.9添加到项目中。然后,依次选择TARGETS—>B
Undefined symbols for archit
ec
ture armv7:
"_OBJC_CLASS_$_MyPageLogViewController", refer
打开Flutter SDK:flutter\packages\flutter_tools\gradle\flutter.gradle。8、解决方案很简单, Library not loaded找到不到swfit依赖的库,那我们就直接指定swift的本地路径就行了。找到Runpath Search Paths添加参数/usr/lib/swift。解决方案:在podflie文件添加新flutter版本需要。
Command
+ , ->Plugins 选择更新。flutter的版本对应标记的iOS是多少。
IOS 签名错误
前日,Macbook的硬盘不幸挂了,于是将开发环境迁移到Mac Mini下。大家知道,对于
Xcode
来说,最麻烦的就是各种证书、ProvisioningProfile的配置问题。将原来的各种开发证书和.p12证书导入到mini上,接下来就碰到了各种莫名其妙的问题。先是无法development(可以debug),发现是证书导错了(没有用Agent证书,只有Agent可以发布)。于是制作证书请求,重新下载证书。
等到部署的问题解决后,又发现无法调试——真机可以,但模拟器不行,一进入程序就退出,不报任何错误。试了各种招数都不行,怀疑是模拟器问题。于是卸了
Xcode
重装。重启后问题
Xcode
编译时
报错
“
Command
Com
pil
eSwiftSources
failed
with a
non
zero
exit
code
”。应该是项目中的Socket.IO-Client-Swift这个pod导致的。在Build Setting里添加一条user-defined。属性为SWIFT_ENABLE_BATCH_MODE,值为NO。
Command
Com
pil
eSwiftSources
failed
with a
non
zero
exit
code
可能是项目目录下存在“同名不同文件夹的文件”
解决方法:
检查“同名不同文件夹的文件”,选择应该删除的文件将其删除
Command
Com
pil
eAssetCatalog
failed
with a
non
zero
exit
code
在debug时候没问题,archive的
报错
。images.xcassets内包含特殊格式资源导致
之后三方库不再
报错
,只
报错
error build:
Command
PhaseScriptEx
ec
ution
failed
with a
non
zero
exit
code
。上面是我打包
报错
的详细信息,我发现
报错
的主要是高德地图的三方库,我就删除了
报错
的三方库,同时删除 pods文件夹 和 .lock文件 重新pod install。本来以为离成功更近一步,没想到解决这个错误折腾了好久。希望能帮助到遇到相同问题的童鞋,加油,祝好运🍀。2.清内存并且clear。
Command
Com
pil
eSwift
failed
with a
non
zero
exit
code
关键是代码中也没有
报错
,然后项目也可以正常运行,那么为啥在编译中会出现这么一个莫名其妙的
报错
呢?随便在网上搜索了一下,说是要改podfile的一些内容,我一个小萌新,也不敢随便改podfile的东西啊,万一出啥新问题了呢。最后几番查找,发现只要按下以下快捷键组合即可:
shift +
com
mond + k
这命令作用是clean build fold
Xcode
11 beat编译swift代码
报错
问题
<unknown>:0: error: unknown argument: '-w'
<unknown>:0: error: unknown argument: '-Xanalyzer'
<unknown>:0: error: unknown argument: '-analyzer-disable-all-c...
电脑上安装了好几个版本的
Xcode
,有
Xcode
13.x,
Xcode
14.x的,之前用
Xcode
13来打包的,后面较新版本项目都是用
Xcode
14打包的,所以在
Xcode
-Preferences-Locations的
command
line tools仍然是默认选择的
Xcode
13版本的命令行工具,然后就在这里将其修改为正确的
Xcode
14版本的,并重启
Xcode
,重新运行编译脚本,发现还是不行。一般来说,命令行的
Xcode
-sel
ec
t对应的都是。首先查看一下
Xcode
-sel
ec
t的版本。