XKKit 0.0.3

XKKit 0.0.3

RyanMans 维护。



XKKit 0.0.3

  • ALLen、LAS

Xcode制作framework流程

在日程项目开发中可以使用用framework打包的静态库能够包含图片、xib等资源。
而用.a打包的静态库,我们需要再建立一个Bundle文件来包含图片、xib等资源 
  1. 首先创建一个 framework 项目

  1. 将构建阶段的执行文件类型设置成 static 类型/如果动态库,则选择 dynamic 类型

  1. 设置 framework 支持多种架构配置(Architecture 的配置)
 真机(armv7=3gs-4s,armv7s=5-5c, arm64=5s-6plus)
 
 模拟器(i386=3gs-5,x86_64=5s-6plus)

  1. 将 xib、图像资源包含到 framework 中,将需要暴露的.h 文件放在 Public 中,将需要编译的.m 文件放在 Compile Sources

  1. 在构建 framework 时自动生成的头文件中加入要 exposure 的头文件.h,否则会报 Warning

  1. 选择真机/模拟器,Command+B 编译,生成只支持真机/模拟器的静态库

  2. 在Finder中通过右键 Show In Finder 找到对应的静态库

  1. 对于真机和模拟器生成的 .framework 进行验证( Terminal-终端 验证)

使用Aggregate制作通用的framework

	制作通用库主要利用到Aggregate,其主要有两个特性 
	1、能给一次编译多个target
	2、能够在编译的时候运行自定义脚本(target也可以)

  1. 先创建一个Aggregate 文件

  1. 编写自定义 shell 脚本

#####脚本命令

if [ "${ACTION}" = "build" ]
then
INSTALL_DIR=${SRCROOT}/Products/${PROJECT_NAME}.framework

DEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.framework

SIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.framework


if [ -d "${INSTALL_DIR}" ]
then
rm -rf "${INSTALL_DIR}"
fi

mkdir -p "${INSTALL_DIR}"

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

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

open "${SRCROOT}/Products"
fi

  1. 运行Aggregate,验证framework 支持类型

使用framework静态库

  • 创建一个新工程,将framework静态库拖入工程中,并选中copy item选项

  • Build Phrase中配置如下,Copy Bundle Resources会将资源保存到Main Bundle中,《可以使用NSBundle接口获取资源》

  • 在头文件中添加需要的库的头文件