[英]iOS framework and Category import
我刚刚开始创建自己的框架重新组合一些有用的帮助器,工具,工具等。一切正常,我只是想知道是否可以直接在我的主头文件框架文件中导入我的类别。
例如,我的框架名为myFramework。 我在公共标题中放了一个类名myFramework.h,我写了所有的导入:
#import "MyCategory+Helper.h"
#import "MyOtherCategory+Helper.h"
#import "AClass.h"
...
然后我构建我的框架并将其分发给我的团队开发人员。
我期望其他开发人员只需要导入访问我所有框架的类别。 当我进行子类而不是使用类别时,这是可以的,但它不是我所期望的。
暂时 ,我使用LoadableCategory.h使我的类别在我的框架中工作,并指定我的开发人员他们应该在“Other Linker flags”设置中使用-ObjC标志并导入每个类别,如下所示:
#import <myFramework/MyCategory+Helper.h>
#import <myFramework/MyOtherCategory+Helper.h>
...
可能是不可能,但我想知道为什么? 我想念一些东西:)
谢谢 ! Pebie
PS:抱歉我的英文...
如果要在链接框架时确保包含类别,则需要在“构建设置”的“ 其他链接器标志”部分中指定-all_load
参数。
正如CaptainRedmuff所说,
我犯了一个错误。 经过几次尝试,我看到使用-all_load
链接器标志它甚至可以用于类别导入。 我的错误在于我的主头文件:糟糕的导入,丢失了一些东西等等。最后在set -all_load
标志之后没有重新加载我的项目。
现在我在myFramework.h
:
#import "MyCategory+Helper.h"
#import "MyOtherCategory+Helper.h"
#import "AClass.h"
...
在我使用框架的项目中:
1 /将“Other Linker Flag”设置为-all_load
(如有必要,重新加载XCode)
2 /在myProjectApp-Prefix.pch
只需#import <myFramework/myFramework.h>
例如
然后我不必导入我项目中的所有其他东西。 尽管在添加我的框架后第一次需要重启XCode,但一切似乎都没问题。
感谢CaptainRedmuff,我已经测试了你的解决方案但是徒劳无功。 经过更多的测试,没关系!
*编辑一切正常,直到我找到一个使用我的类别之一的班级。 XCode指定我,我的错误就像类别不存在一样。 清理代码时出现同样的问题:((
没有可见的接口...声明选择器...
**编辑如果我在myProjectApp-Prefix.pch
导入<myFrameWork/myFramework>
但不在#ifdef __OBJC__ conditional
,则可以。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.