自定义 Framework创建及使用

分为两大步:

             一, 自定义 Framework

             二,使用Framework

一, 自定义 Framework

1,创建自定义framework 工程

2,创建自定义 framework 的类,相信大家都会了.但是还贴图.

3,将创建的类引入到以工程名命名的头文件中

4,配置 framework, 将要暴露的头文件配置好,很简单.

到此为止,直接编译得到的 framework 就是可用的,但是是有局限的,只能是在模拟器上的,真机直接就 GG了 ,恐怕为了 get 这个技能不只是为了ZB,所以为了真正的技术,还是要继续往下刨.comeon~~ follow me!

5,在原来的工程中,创建新的target, 名字按自己心情取.

然后添加 shell 执行脚本

shell 脚本如下:

# Sets the target folders and the final framework product.

# 如果工程名称和Framework的Target名称不一样的话,要自定义FMKNAME

# 例如: FMK_NAME = "MyFramework"

FMK_NAME=${PROJECT_NAME}

# Install dir will be the final output to the framework.

# The following line create it in the root folder of the current project.

INSTALL_DIR=${SRCROOT}/Products/${FMK_NAME}.framework

# Working dir will be deleted after the framework creation.

WRK_DIR=build

DEVICE_DIR=${WRK_DIR}/Release-iphoneos/${FMK_NAME}.framework

SIMULATOR_DIR=${WRK_DIR}/Release-iphonesimulator/${FMK_NAME}.framework

# -configuration ${CONFIGURATION}

# Clean and Building both architectures.

xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphoneos clean build

xcodebuild -configuration "Release" -target "${FMK_NAME}" -sdk iphonesimulator clean build

# Cleaning the oldest.

if [ -d "${INSTALL_DIR}" ]

then

rm -rf "${INSTALL_DIR}"

fi

mkdir -p "${INSTALL_DIR}"

cp -R "${DEVICE_DIR}/" "${INSTALL_DIR}/"

# Uses the Lipo Tool to merge both binary files (i386 + armv6/armv7) into one Universal final product.

lipo -create "${DEVICE_DIR}/${FMK_NAME}" "${SIMULATOR_DIR}/${FMK_NAME}" -output "${INSTALL_DIR}/${FMK_NAME}"

rm -r "${WRK_DIR}"

open "${INSTALL_DIR}"

6,选择刚刚创建的 target,command+B/R 编译,直接弹出生成的framework ,就是它,万能的 fw.

主要产物

二,使用Framework

1,创建一般的工程,名字无所谓,引入上面生成的 framework

重中之重来了,这个必须要添加的(特大号的字),直接上图

不然就是这样的结果:

Reason: image not found

以上完成后,就是调用了 ,so easy

结语:

是不是很简单,上手体验吧,get 新技能的必杀技,有了这个就可以让你的工程很简单,也可以发自己的framework 让别人用,高大上,有木有啊!!!哈哈

=============

作者:IMSong007

链接:https://www.jianshu.com/p/e807fdf229f8

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容