OC项目逐渐向swift转移--踩坑淌雷-0

1 . 创建swift项目

跟创建OC项目一样,只不过改成选择swift语言而已

AB041354-42E1-45DE-8F9B-CFF295D73CF4.png

2 . 搞桥接文件

桥接文件可以自动生成 也可以自己自定义

自动生成桥接文件

在项目中没有OC文件情况下,创建第一个OC文件系统会提示是否自动生成桥接文件,点creat就ok啦~~~~(推荐 方便快捷)

CBF997B0-E1E6-41A1-B593-D2DDFB966F54.png
DD6F7B7E-E34E-4B72-BA59-080AC9041901.png
DE5036D4-4E38-41F2-9691-A87E79521299.png

自动生成的桥接文件系统会自动设置无需关心多余设置 只需要在此文件中把swift中需要用到的OC类import就可以了

//自定义
#import "KINGAllExtension.h"
#import "KINGAllDefine.h"
#import "KINGNetWorkHandler.h"
#import "KINGDataBase.h"
自定义桥接文件

创建一个.h文件,在buildSettings搜索bridging header 如下图就可以了

DE5036D4-4E38-41F2-9691-A87E79521299.png

3 . 把oc代码粘贴到新项目中

这步就比较简单了,直接按原有架构复制粘贴过来,在AppDelegate中把代码实现

3150A394-B3A3-45F9-AA85-9337845B0AA6.png

我踩到的坑s

坑1.自定义类型不识别

在原有OC文件中,有用到自定义类作为方法参数或者返回值时就会出现问题.如 : 上面声明的类,下面使用的时候就是一直提示unknown type name

FDB8540E-4538-4C6C-BEBE-76832EEB0B3C.png

用到的文件写到pch文件中,设置pch文件,问题解决了但没研究透到底是什么原因.分析原因可能是系统对pch文件有进行提前编译起到的作用.

坑2.模拟器运行正常,真机无法运行

586CCD8E-80E3-466A-9E19-F69E712A0E35.png

各种解决方式都试过了

http://stackoverflow.com/questions/26024100/dyld-library-not-loaded-rpath-libswiftcore-dylib

通过各种排除发现,不仅仅是项目的问题,新建swift项目不写代码直接也无法运行,怀疑xcode有问题,更新xcode到7.3.1没解决问题
下载xcode8.0beta 安装后运行ok,而且用7.3运行也ok了,未搞清楚原因,可能安装8.0时候对xcode某些设置进行了重置.

坑3.pod 和git无法使用

安装了两个xcode导致无法识别,需要进行选择

sudo xcode-select --switch /Applications/Xcode7.3.1.app搞定
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,292评论 4 61
  • 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 UI下拉刷新模糊效果A...
    袁俊亮技术博客阅读 14,115评论 9 105
  • 风动树摇 满眼的绿 围堵成一面墙 令我无法看到更远处的风景 我在墙内 景在墙外 即便是隐藏在枝丫里的巢 搜寻一个故...
    一团菌阅读 1,859评论 2 2
  • 早上要起床的时候看见一个朋友发的朋友圈,内容是李宗盛的几句歌词“岁月你别催 该来的我不推 该还的还 该给的...
    就像一阵风ya阅读 1,560评论 0 0