【发布时间】:2012-10-22 20:58:12
【问题描述】:
我有一个项目需要作为框架导入到其他项目中,就像我们如何导入 Coredata 框架、Quartzcore 等一样。如何实现?如何将我的项目编译成可以导入其他项目的库或框架?请说明步骤。
提前致谢。
【问题讨论】:
标签: iphone objective-c frameworks static-libraries
我有一个项目需要作为框架导入到其他项目中,就像我们如何导入 Coredata 框架、Quartzcore 等一样。如何实现?如何将我的项目编译成可以导入其他项目的库或框架?请说明步骤。
提前致谢。
【问题讨论】:
标签: iphone objective-c frameworks static-libraries
https://github.com/jverkoey/iOS-Framework 尝试此链接以创建框架和资源包。将您在项目中使用的图像、xib 和其他资源打包成一个包,并将您的类复制到您的 Cocoa Touch 静态库项目中。
【讨论】:
如果你想编译像 UIKit.framework 这样的“标准”框架,试试这个Universal Framework iPhone iOS
其他
将所有从主包加载资源的代码替换为从 TestPluginBundle 加载资源。也许你想为 UIImage 添加一个类别,因为你想使用imageNamed:,这样你就可以使用[UIImage testPluginImageNamed:@"small.png"]。在您的项目中进行替换并添加相关的头文件很容易。以.xib文件为例:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
//self = [super initWithNibName:nibNameOrNil bundle:[NSBundle mainBundle]];
// you need to define a method to get the bundle 'TestPluginBundle.bundle', here I used '[TestPlugin TestPluginBundle]'
self = [super initWithNibName:nibNameOrNil bundle:[TestPlugin TestPluginBundle]];
...
}
在此之后将 .a 文件和 .bundle 文件添加到另一个项目。在另一个项目中需要重新添加相关框架。
我已经成功地将这种方法用于我的工作。
【讨论】: