自定义静态库

时间:2012-09-12 12:34:48

标签: objective-c static-libraries xcode4.4

我创建了一个XCode项目,其中包含我在两个目标中实现的2个目标和静态库。我的静态库的某些类需要略有不同,具体取决于我编译的目标。

我不知道如何正确地做到这一点。 有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

他们需要以什么方式与众不同? (我的答案基于猜测可以通过在类中设置某种状态变量或通过自定义init方法来处理它)

我建议您为需要具有不同行为的类设置某种形式的自定义init方法或实例变量。然后,您可以在构建设置中为每个目标使用用户定义的设置。

检查此问题&回答更多信息:iphone: get User Defined variable in Target's setting by code?

基本上你可以设置一个像这样的字符串:“Standard”,你从

获取它
FooBarClass.h

typedef enum {   FooBarSettingNormal,   FooBarSettingFast } FooBarSetting;

-(id)initWithSetting:(FooBarSetting)setting;

然后从代码中获取buildsetting中的变量集并初始化FooBar对象:

SomeViewController.m

NSNumber* fooBarSetting = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"FooBarSetting"];
FooBar * baz = [[FooBar alloc] initWithSetting:[fooBarSetting intValue]];

这使您可以在类中具有不同的行为,并使静态库与您正在使用的项目保持独立和独立。

我希望你觉得这有点帮助:)