美文网首页
IOS中FrameWork的创建,真机和模拟器的合并

IOS中FrameWork的创建,真机和模拟器的合并

作者: 幽玄727 | 来源:发表于2020-07-23 10:48 被阅读0次

一 创建项目

本文将基于Xcode9创建一个简单的工程,来教大家如何制作一个自己的framework,目的就是简单易学的制作framework。这种方法可以使得你的代码易分享,在多个工程中复用,并且可以隐藏实现细节,控制公开的头文件。

二 步骤

1、打开Xcode,新建工程。
不要选择“Application”,选择“Framework & Library”。选择第一个,然后Next。

image image

2、创建功能类。
首先创建一个继承自NSObject的HelloWorld类

image

3、实现功能。
在新创建的类里面声明方法并实现。这里我写一个helloWorld的方法

HelloWorld.h

#import <Foundation/Foundation.h>
@interface HelloWorld : NSObject

(void)helloWorld;
@end
HelloWorld.m

#import “HelloWorld.h”

@implementation HelloWorld
-(void)helloWorld {
NSLog(@“helloWorld”);
}
@end

4、更改参数

在TARGETS下选中工程,在Build Settings下更改几个参数。

image

因为如果集成的项目支持 bitCode 就设置成yes 不支持就设置成NO

image

5、设置Headers
将你要公开的头文件拖至Public下,要隐藏的放在Private或者Project下,当然,隐藏的头文件就无法再被引用。

image

三 打包Framework

方法有很多 我们这里只说一种
--------真机打包
1.选中Generic iOS Device,编译程序 (只支持手机格式)

image

2.编译成功后,选中图中所标示的framework,然后右键show in finder。

image image

3.将framework拷贝出来保存,这就是我们最终制作的framework。
------------模拟器打包
1.选中模拟器,编译程序 (只支持模拟器格式)

image

2.编译成功后,选中图中所标示的framework,然后右键show in finder。

image image

四 合并framework

为了framework 支持真机 也支持模拟器 将两个framework 合并
我们通过终端命令将两个framework合为一个模拟器和真机都可使用的framework。
1 在终端 输入 lipo -info加真机上的这个文件路径
注意: 文件末尾要带上framework的名字

lipo -info xxxFramework.framework/xxxFramework  //后加库名
看最后 arm64 说明是真机,如此方法测试模拟器文件,需得到i386 x86_64才对。

需要将真机和模拟器framework包中这个文件合并

lipo -create 真机路径/库名 模拟器路径/库名 -output 真机路径/库名

可以直接将最终生成的文件路径设置为真机Framework包下该文件的路径,生成的文件直接进行覆盖,生成完毕后,直接拷贝走使用

相关文章

网友评论

      本文标题:IOS中FrameWork的创建,真机和模拟器的合并

      本文链接:https://www.haomeiwen.com/subject/iepclktx.html