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

ios – 在Swift应用程序中使用Obj-C子项目

发布时间:2020-12-14 18:00:52 所属栏目:百科 来源:网络整理
导读:我的团队有一些完整的Obj-C库,我们喜欢在我们的项目中重用.为此,我们通常设置一个git子模块,然后将其作为子项目添加到 xcode项目中(使用目标依赖项,链接二进制文件库并更新用户标题搜索路径) 到目前为止,它只在完整的Obj-C项目中完成,我现在正尝试在Swift项
我的团队有一些完整的Obj-C库,我们喜欢在我们的项目中重用.为此,我们通常设置一个git子模块,然后将其作为子项目添加到 xcode项目中(使用目标依赖项,链接二进制文件库并更新用户标题搜索路径)

到目前为止,它只在完整的Obj-C项目中完成,我现在正尝试在Swift项目中使用它,但迄今为止收效甚微.我试图添加briding-header文件,在项目中引用它并填充它如下:

#import "MyLibraryHeader.h"

目标标题位于用户标题搜索路径中.

它让我构建,但在我的Swift文件中使用它时:

let test = MyLib();
    let secondTest = MyLib.classMethod1("some_arguments");

我在secondTest上得到一个EXC_BAD_INSTRUCTION,以及调试器中的以下日志:

(lldb) po test
error: <EXPR>:1:1: error: use of unresolved identifier 'test'

(lldb) po secondTest
error: Error in auto-import:
failed to get module 'MyProject' from AST context:
/Users/siegele/Sources/MyProject_iOS/MyProject/Classes/MyProject-Bridging-Header.h:12:9: error: 'MyLibraryHeader.h' file not found
#import "MyLibraryHeader.h"
        ^
failed to import bridging header '/Users/siegele/Sources/MyProject_iOS/MyProject/Classes/MyProject-Bridging-Header.h'

发现以下问题没有答案:Xcode 6 crashing when using Objective-C subproject inside Swift

任何帮助,将不胜感激.

解决方法

我按照可以在这里找到的HockeyApp教程:
http://support.hockeyapp.net/kb/client-integration-ios-mac-os-x/integrate-hockeyapp-for-ios-as-a-subproject

最后,我在正确的轨道上,但搞砸了标题搜索路径:

>将子项目xcodeproj添加到工作区>在主项目上:将二进制文件与库链接,并添加子项目产品库(奖励点:也将其添加为目标依赖项)>相应地更新标题搜索路径(不是用户标题搜索路径)>在主项目Bridging-Header.h文件中导入Library.h

(编辑:李大同)

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

    推荐文章
      热点阅读