最近工作中遇到的问题,分享出来,仅供参考!
一、
dyld: launch, loading dependent libraries
DYLD_LIBRARY_PATH=/usr/lib/system/introspection
DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib
(1)报错原因是在target--Genaral->Frameworks,Libraries,and Embedded Content中,第三方库的Embed选择的Do Not Embed
,如下图
(2)解决方案是将Embed设置未的Embed&Sign
,如下图
Embed,嵌入,对于静态库选择Do Not Embed,动态链接选择Embed。
Sign,签名,如果代码没有签名则选择Embed & Sign,否则Embed Without Signing。
参考
iOS framework之Embed、Signing
二、“ld: library not found for -l xxx”
报错信息,如下图
我出现这个报错,是由于删除了报错库,又重新导入导致的(删除之前不报错)。
我的解决方案是,
方案一在
target--Build Setting--Other Link Flags
删除报错的库,如下图方案二:target--Build Setting--Library search path
将报错的三方库拖到Library search path中,如下图
参考 顽固的 “ld: library not found for -l xxx”
三、Xcode报错:Target ‘‘ (project ‘‘) has copy command from''
解决方案
在Build Phases中的Copy Bundle Resources中把对应文件删除即可
参考Xcode报错:Target ‘‘ (project ‘‘) has copy command from''
四、xcode编译错误:The Legacy Build System will be removed in a future release.
解决方案:
The Legacy Build System will be removed in a future release. You can configure the selected build system and this deprecation message in File > Workspace Settings.
解决方法:
file -> Workspace Settings ->Build System:Legacy Build System (Deprecated) 改成 :New Build System
如下图
五、
Undefined symbol: OBJC_CLASS$_RPScreenRecorder
参考
https://cloud.tencent.com/developer/article/1748958
六、iOS解决两个静态库(.framework或.a)中.o文件冲突
https://www.jianshu.com/p/a95ab079cbe2
七、Command Libtool failed with a nonzero exit code
①报错
[图片上传失败...(image-992a28-1659524726162)]
②解决方案
参考文章Command Libtool failed with a nonzero exit code
出现该错误是因为libtool 工具连接的文件不存在导致的
查找问题
+1. 找到报错的target
+2. 切换工程到target->Build Phases->Link Binary With Libaries
+3. 查看该文件,如果是置灰的,说明是该文件连接处问题了.
报错情况下debug,设置的是NO,如下
[图片上传失败...(image-9064e1-1659524726162)]
修改称YES即可
[图片上传失败...(image-f9db01-1659524726162)]