更新了Xcode15之后,出现了很多bug,怀疑人生啊
一、WebKit错误
在相应的podspec文件中添加
s.platform = :ios, '13.0'
或者
在相应SDK Build Phases -> Compile Sources 删除 -DOS_OBJECT_USE_OBJC=0
二、Assertion failed
Assertion failed: (false && "compact unwind compressed function offset doesn't fit in 24 bits"), function operator(), file Layout.cpp, line 5758.
此错误信息看的一脸懵逼,找了好多答案告诉你OTHER_LDFLAGS中添加 “-ld64” 但是在自己项目中添加是没有任何用的,最后发现在对应报错的SDK中添加可以解决这个问题 如下
#podfile里添加
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
if target.name == "alipay_kit_ios"
config.build_settings['OTHER_LDFLAGS'] = "-ld64 #{config.build_settings['OTHER_LDFLAGS']}"
end
end
end
end
三、duplicate symbols
华为OBS.Framework在升级前运行正常,升级后提示富豪重复。自己与自己重复,无语了很久
duplicate symbol '_OBJC_IVAR_$_OBSInternalUploadFileRequest._websiteRedirectLocation' in:
/Users/**/**/OBS.framework/OBS[arm64][65](OBSUploadFileModel.o)
/Users/**/**/OBS.framework/OBS[arm64][65](OBSUploadFileModel.o)
duplicate symbol '_OBJC_IVAR_$_OBSCORSResponse._accessControlMaxAge' in:
/Users/**/**/OBS.framework/OBS[arm64][96](OBSServiceBaseModel.o)
/Users/**/**/OBS.framework/OBS[arm64][96](OBSServiceBaseModel.o)
ld: 1639 duplicate symbols
clang: error: linker command failed with exit code 1 (use -v to see invocation)
一次突然的灵感,把Other Linker Flags 中关于OBS.framework的信息删除了,再次运行,正常!!!
四、iconv2.4.0"not found
ld: library not found for -liconv.2.4.0
clang: error: linker command failed with exit code 1 (use -v to see invocation)
网上很多答案告诉你OTHER_LDFLAGS中添加 “-ld64”
这个方法之前对我有用,后不知什么原因突然失效了。检查发现Pods-*.debug 与release 中有 "liconv.2.4.0" -l
手动删除掉运行正常。
次方法也只是暂时解决,再下次pod install 的时候,还会重置,需要重新删除操作。目前也没发现有好的方法,若有好的建议请告知,相互学习!