微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在swift的iOS嵌入式动态框架中使用第三方库

现在我有一个项目,比如testApp,使用一些第三方库,比如alamofire和其他一些libs在 objective-c中.

现在我想添加一个今天的小部件.根据一些教程,我创建了一个新目标“testAppKit”作为共享动态框架,并将“testAppWidget”作为今天的扩展.公共代码将在testAppKit中重用.

现在我需要在testAppKit中使用第三方库.并在testAppKit的构建阶段添加了lib和header.然后我添加#import< theLib / TheHeader.h>在testAppKit.h中.但是有一个错误

Include of non-modular header inside framework module 'testAppKit'

所以,我想知道如何在这种嵌入式动态框架中使用第三方库(可能在Swift或Objective-C中).

解决方法

我在我的应用程序中使用DropBox Datastore API,最后我使用它来嵌入Cocoa Touch框架来共享Containing App和Today Extension的代码.

我发现在我的嵌入式框架中的Swift文件中,我可以导入我在项目中的任何第三方框架(即Farbic.framework,Crashlytics等),但不能导入DropBox.

有什么区别? “Modules”文件夹! DropBox.framework不提供模块映射文件.所以我根据Fabric.framework中的内容创建了它:

>转到项目目录中的DropBox.framework文件夹.
>创建新文件夹“模块”并进入
>创建一个名为“module.modulemap”的文件

文件内容

framework module DropBox {
    umbrella header "DropBox.h"

    export *
    module * { export * }
}

在这之后我需要添加导入路径.

>转到您的项目文件
>选择嵌入式框架目标
>转到“构建设置”并找到“Swift编译器 – 搜索路径”
>添加DropBox.framerowk的路径并设置“递归”选项.

我想在这里一个截图,但我还不能这样做 – 因为我的“声誉”;)

现在我可以在我的swift文件中执行“导入DropBox”:)

希望这可以帮到你 :)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐