iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 在Swift应用程序中使用Obj-C子项目大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我的团队有一些完整的Obj-C库,我们喜欢在我们的项目中重用.为此,我们通常设置一个git子模块,然后将其作为子项目添加到 xcode项目中(使用目标依赖项,链接二进制文件库并更新用户标题搜索路径) 到目前为止,它只在完整的Obj-C项目中完成,我现在正尝试在Swift项目中使用它,但迄今为止收效甚微.我试图添加briding-header文件,在项目中引用它并填充它如下: #import "My
我的团队有一些完整的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

大佬总结

以上是大佬教程为你收集整理的ios – 在Swift应用程序中使用Obj-C子项目全部内容,希望文章能够帮你解决ios – 在Swift应用程序中使用Obj-C子项目所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。