3

我将 Ensembles 添加到我的 Swift 项目中 - 在这里找到https://github.com/drewmccormack/ensembles。我没有运气为我的应用程序添加 iCloud 支持并跨设备同步数据,所以希望这能奏效。

我已按照以下说明将框架添加到我的应用程序,

  1. 在 Finder 中,将 Ensembles iOS.xcodeproj 项目从 Framework 目录拖到您的 Xcode 项目中。
  2. 在左侧的源列表中选择您的 App 的项目根目录,然后选择 App 的目标。
  3. 在 General 选项卡中,单击 Linked Frameworks and Libraries 部分中的 + 按钮。
  4. 选择 libensembles.a 库并添加它。
  5. 选择构建设置选项卡。找到 Other Linker Flags 设置,并添加标志 -ObjC。

    这就是它在我的项目中的样子,我不确定我是否正确地完成了这一步。

在此处输入图像描述

  1. 选择构建阶段选项卡。打开目标依赖项,然后单击 + 按钮。
  2. 找到 Ensembles Resources iOS 产品,并将其添加为依赖项。
  3. 打开源列表中的 Ensembles iOS.xcodeproj 项目,然后打开 Products 组。
  4. 将 Ensembles.bundle 产品拖到应用程序的 Copy Bundle Resources 构建阶段。
  5. 在预编译的头文件或使用 Ensembles 的任何文件中添加以下导入。

我遇到问题的是第 10 步。我必须创建一个桥接头还是将框架导入到我的 swift 文件中?

这就是我在CoreDataStack.swift文件中导入的方式

import UIKit
import CoreData
import Ensembles

class CoreDataStack: NSObject, CDEPersistentStoreEnsembleDelegate {

}

这给了我错误;

没有这样的模块“合奏”

我尝试通过执行以下操作来创建桥接头;

  • 添加新的头文件
  • 导入合奏

这就是它的样子;

#ifndef Header_h
#define Header_h
#import <Ensembles/Ensembles.h>

#endif /* Header_h */

但是仍然没有运气,有人知道我在尝试导入框架以与我的 swift 项目一起使用时哪里出错了吗?

4

1 回答 1

2

创建桥接头时,您不需要使用 import。

但是我认为您可能没有正确添加桥接头,转到文件,新建文件,添加一个 Objective-C 文件,然后应该会弹出一个对话框,询问您是否要创建一个桥接头。添加两个文件,但删除 Objective-C 文件并保留桥接头。

然后像这样将集成框架导入桥接头。

#import <Ensembles/Ensembles.h>

成功创建桥接文件后,您不需要在 swift 文件中导入框架,它应该在整个项目中都可用。有关更多信息,请参阅这篇文章 -将 Objective C 框架连接到 Swift iOS 8 应用程序(解析框架)

于 2016-04-06T12:30:49.847 回答