framework制做:http://www.cocoachina.com/ios/20141126/10322.htmlios
1.framework代码:framework必定要打包为动态库服务器
@implementation TestView -(id)initWithFrame:(CGRect)frame { if (self=[super initWithFrame:frame]) { UIButton *btn=[[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; [btn setBackgroundColor:[UIColor redColor]]; [self addSubview:btn]; } return self; } @end
2.将制做好的framework直接压缩成zip包FrameWorkOne.framework.zip,而后上传到服务器app
3.在iOS程序中下载zip并解压缩spa
4.NSBundle load解压缩的framework动态直接代码code
NSString* bundlefile = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/FrameWorkOne.framework"]; NSBundle *frameworkBundle = [NSBundle bundleWithPath:bundlefile]; if (frameworkBundle && [frameworkBundle load]) { NSLog(@"bundle load framework success."); }else { NSLog(@"bundle load framework err"); return; } Class pacteraClass = NSClassFromString(@"TestView"); if (!pacteraClass) { NSLog(@"Unable to get TestDylib class"); return; } UIView *v=[[pacteraClass alloc] initWithFrame:self.view.bounds]; [self.view addSubview:v]; [self.view sendSubviewToBack:v]; [frameworkBundle unload];