将Swift pod导入Objective-C项目

时间:2015-11-26 05:56:33

标签: objective-c swift ios-frameworks ios-charts ios-library

我有一个用Objective-C编写的现有项目。我想在该项目中使用Swift中的iOS Charts library by Daniel Gindi。我怎样才能做到这一点?

importing swift framework into a objective-c project是相关的,但在我的情况下,我通过Cocoapods as instructed here安装它来使用该库。

在那个问题中,他至少能够导入标题,但就我而言,我无法进行。

第1步:创建Objective-C单视图项目。

第2步:创建Podfile并添加以下行 -

use_frameworks!
pod 'Charts'

第3步:安装pod

步骤4:尝试通过@import Charts在ViewController.h中导入图表,但此时会出错。错误是 - Module Charts not found

3 个答案:

答案 0 :(得分:10)

在我现有的项目中,我在项目的#include Charts-Swift.h文件中执行了main.m,这解决了我的问题。 @import Charts现在工作得很好。这是根据Apple文档here.

中的说明完成的

我创建了一个新项目并尝试了Anni S's answer,这次我在编写任何import语句之前使用cmd+B构建了项目,并且它也有效。我想在安装pod之后构建它一次并且在导入任何模块之前是必要的。

答案 1 :(得分:5)

我尝试了你在评论中提到的相同步骤但是我没有得到你得到的错误。我的项目只是构建和运行。我遵循的步骤:

  1. 创建Objective-C单视图项目。
  2. 添加了' Podfile'在项目目录级别(Podfile应该在xcodeproject文件级别)并添加以下行
  3. use_frameworks!
    pod 'Charts'
    
    1. 关闭xcodeproject
    2. 转到项目目录并从termial
    3. 运行'pod install'命令
    4. 打开工作区,即.xcworkspace文件
    5. 在视图控制器中导入图表文件,例如
    6.   

      #import "ViewController.h" @import Charts;

答案 2 :(得分:0)

我找到了它适用于新项目的原因,但是对于现有项目。

在项目设置中,删除Other Linker Flags属性的值。

大多数开发人员都错过了这种情况。