前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我怎么在`Object-C`中用`Swift`

我怎么在`Object-C`中用`Swift`

作者头像
君赏
发布2018-08-31 16:11:23
8370
发布2018-08-31 16:11:23
举报
文章被收录于专栏:君赏技术博客

我怎么在Object-C中用Swift

如果你想编译一个应用程序并且这个应用程序包含Swift文件,Swift支持的标准库已经添加到Bundle里面。你可以随时可以在终端运行otool -L查看一个产品包含的FrameWork。这个可以显示你的产品依赖的静态库和FrameWork

如果你用Swift,运行otool -L将会出现所有的Swift的FrameWork

在包含swift的MyFrameWork运行otool -L

Paste_Image.png

如果你编译的应用没有用到Swift的源文件,只是镶嵌了包含的FrameWork.Xcode将不会在你的app加入这些库。你的应用将会在启动的时候Crash打印下面的错误。

代码语言:javascript
复制
dyld: Library not loaded: @rpath/libswiftCoreGraphics.dylib
  Referenced from: /private/var/mobile/Containers/Bundle/Application/696F0EAD-E2A6-4C83-876F-07E3D015D167/<Your_App>.app/Frameworks/<Framework_Name>.framework/<Framework_Name>
  Reason: image not found

<Your_App><Framework_Name>分别是你应用的和你应用可见的framework。

对于上面问题的解决版本,在build setting里面设置Embedded Content Contains Swift Code (EMBEDDED_CONTENT_CONTAINS_SWIFT)为YES如下面的图所示。这个设置是你的工程包含Swift的代码让Xcode显示swift的静态库。

设置Swift的代码的静态库可见

Paste_Image.png

为了防止你的APP包含多个Swift的静态库副本,确保Embedded Content Contains Swift Code设置为NO。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.05.26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 我怎么在Object-C中用Swift
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档