加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 04:43:46 所属栏目:百科 来源:网络整理
导读:现在我有一个项目,比如testApp,使用一些第三方库,比如alamofire和其他一些libs在 objective-c中. 现在我想添加一个今天的小部件.根据一些教程,我创建了一个新目标“testAppKit”作为共享动态框架,并将“testAppWidget”作为今天的扩展.公共代码将在testAppKi
现在我有一个项目,比如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”:)

希望这可以帮到你 :)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读