iOS之老项目升级常见报错集合

2020-04-14  本文已影响0人  focusHYD

1、报错信息ViewTouch.xib Compiling IB documents for earlier than iOS 7 is no longer supported.

把build for 的版本更改为iOS7.0 或以上错误即可解决

B3862157-DF8C-4A56-AF73-BF5E24901432.png

2、does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

一种就是换成 enable bitcode 的第三方库,再有一种就是将工程的 ENABLE_BITCODE 设置为 false 就可以了。

EAC6764A-1661-442C-9D80-4DF21ED89542.png

3、iOS 11图片保存相册权限

This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.
NSPhotoLibraryAddUsageDescription是iOS 11新推出的隐私规则,在写入相册时会询问,没有的话就会闪退。

info.plist Source Code对应设置:
<key>NSCameraUsageDescription</key>
<string>请允许APP访问您的相机</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>请允许APP保存图片到相册</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>请允许APP访问您的相册</string

4、 修改build system

在Xcode菜单栏 -> File -> Project Setting,将build system修改为legacy build system,然后clean后编译。

WeChatbc087a2243327e42986c335d6a9e83fc.png

5、 library not found for -lstdc++.6.0.9

ld: library not found for -lstdc++.6.0.9
clang: error: linker command failed with exit code 1 (use -v to see invocation)

错误原因:

Xcode10中已去除这个library。项目中有用到的话,可以从旧版本Xcode中copy一份过来。

解决方法:

如果你自己的业务模块使用了libstdc++,那么就把模块代码重新调整为依赖libc++,然后重新检查是否存在问题,重新编译

如果你引用的三方库使用了libstdc++,那么向三方库寻求支持,进行升级

上一篇下一篇

猜你喜欢

热点阅读