升级项目 swift:2.3 -> 3.2
2017-10-23 17:15
471 查看
shopins從 swift2.3升級到 Xcode9可以泡的 swift3.2步驟:
1.用Xcode8.3.3打开2.3版本,此时会提示转换 swift 版本,在弹出的面板中选择自己文件的代码,也就是不要選擇第三方的,其他的轉換成swift3的版本,不能自動轉換的就接著進行餘下代碼的轉換工作
2.移除Plugins,將相關代碼全部移除
3.用pod升級所用第三方庫 :升級到3.2版本
4.pod 升級完畢後,在 Edit 中選擇轉換第三方的Swift版本,轉換完成後(主要是第三方的轉換),不要 save代码,選擇 cancel,即不要自動轉換的代碼(不要更改第三方代碼),此時在 Xcode8.3.3運行會報錯,直接關閉Xcode
5. 關閉8.3.3,用 Xcode9打開項目 ,可以正常运行。
出现错误:
A:Undefined symbols for architecture arm64:
B:.int32value
C:Xcode9 中 CryptoSwift代码错误
代码报错
解决:
A:直接pod安装
'Firebase/Messaging'
B: huan'chengintvalue
C:版本换到0.7.0,然后用 Xcode8转换到版本 swift3(不要 save,就是转换后,弹出来的面板不要选择更改代码)
升级3.2后运行项目发现加密不一致問題:
加密字符串出現問題
:let tmp_data = "\(json_str!)\(sha256_key!)".data(using: .utf8)
sha256_key一定要加!,否則因為可選,導致不一樣(2.3没有这个问题)。
出现错误:
A:Undefined symbols for architecture arm64:
B:.int32value
C:Xcode9 中 CryptoSwift代码错误
代码报错
解决:
A:'Firebase/Messaging'
B: intvalue
C:版本换到0.7.0,然后用 Xcode8转换到版本 swift3(不要 save,就是转换后,弹出来的面板不要选择更改代码)
1.用Xcode8.3.3打开2.3版本,此时会提示转换 swift 版本,在弹出的面板中选择自己文件的代码,也就是不要選擇第三方的,其他的轉換成swift3的版本,不能自動轉換的就接著進行餘下代碼的轉換工作
2.移除Plugins,將相關代碼全部移除
3.用pod升級所用第三方庫 :升級到3.2版本
4.pod 升級完畢後,在 Edit 中選擇轉換第三方的Swift版本,轉換完成後(主要是第三方的轉換),不要 save代码,選擇 cancel,即不要自動轉換的代碼(不要更改第三方代碼),此時在 Xcode8.3.3運行會報錯,直接關閉Xcode
5. 關閉8.3.3,用 Xcode9打開項目 ,可以正常运行。
出现错误:
A:Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_GTMLogger", referenced from: objc-class-ref in FirebaseMessaging(GIPReachability_d54098c5c1e1fdc4fca31a4803478650.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
B:.int32value
C:Xcode9 中 CryptoSwift代码错误
代码报错
解决:
A:直接pod安装
'Firebase/Messaging'
B: huan'chengintvalue
C:版本换到0.7.0,然后用 Xcode8转换到版本 swift3(不要 save,就是转换后,弹出来的面板不要选择更改代码)
升级3.2后运行项目发现加密不一致問題:
加密字符串出現問題
:let tmp_data = "\(json_str!)\(sha256_key!)".data(using: .utf8)
sha256_key一定要加!,否則因為可選,導致不一樣(2.3没有这个问题)。
出现错误:
A:Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_GTMLogger", referenced from: objc-class-ref in FirebaseMessaging(GIPReachability_d54098c5c1e1fdc4fca31a4803478650.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
B:.int32value
C:Xcode9 中 CryptoSwift代码错误
代码报错
解决:
A:'Firebase/Messaging'
B: intvalue
C:版本换到0.7.0,然后用 Xcode8转换到版本 swift3(不要 save,就是转换后,弹出来的面板不要选择更改代码)
相关文章推荐
- 升级由swift2.3->swift4.0
- iOS项目更新之升级Xcode7 & iOS9 & swift2.0
- iOS10.0 & Swift 3.0 对于升级项目的建议
- 升级到Android Stduio 2.3 运行cordova项目报错Error: Could not find gradle wrapper within android sdk
- Oracle数据库迁移升级项目102030(HP-UX)->102056(SunOS)
- XCode8新建项目中使用swift2.3
- 升级CUDA版本导致VS2010错误:未找到导入的项目XXX,请确认<Import>声明中的路径正确,且磁盘上存在该文件
- Cocos2d-x 3.2 大富翁游戏项目开发-第十五部分 升级地块
- Android Studio 升级到2.3版本后Run项目不能自动启动APP的问题
- [置顶] Swift3.2 到Swift4 的升级工作(要处理SDK API的bug)
- 升级CUDA版本导致VS2010错误:未找到导入的项目XXX,请确认<Import>声明中的路径正确,且磁盘上存在该文件。。。。
- Swift 2.3-> 3.0
- 一个spring3.2的项目 从jdk1.7放到1.8的环境中编译,打开网页异常:spring jar包版本升级经历
- 升级CUDA版本导致VS2010错误:未找到导入的项目XXX,请确认<Import>声明中的路径正确,且磁盘上存在该文件
- 对KotlinArt项目,框架升级 2.0 ——> 3.0 的草稿。
- 升级CUDA版本导致VS2010错误:未找到导入的项目XXX,请确认<Import>声明中的路径正确,且磁盘上存在该文件。。。。
- Swift2.3 --> Swift3.0 的变化
- swift3.2升级到swift4.0 扫码不走回调方法
- Android Studio 升级到2.3版本后Run项目不能自动启动APP的问题
- 十款不容错过的Swift iOS开源项目