制作动态库.framework总结
此过程制作的debug模式的,,release的过程相同,,修改运行release 模式
- 创建一个工程
创建一对文件
添加方法
+(void)testMethod;
+(void)testMethod{
NSLog(@"-=-=-=-=-=-=-=-");
}
NSLog(@"-=-=-=-=-=-=-=-");
}
将新添加的.h 文件 设置为可见
此时testMethod 方法在project 里 拖到public
分别运行于模拟器 和真机环境生成两个环境的framework文件
将两个环境的framework 文件进行合并
点击 New Run Script Phase
添加脚本
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}/"
#ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers"
lipo -create "${DEVICE_DIR}/${PROJECT_NAME}""${SIMULATOR_DIR}/${PROJECT_NAME}" -output"${INSTALL_DIR}/${PROJECT_NAME}"
#open "${DEVICE_DIR}"
open "${SRCROOT}/Products"
fi
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}/"
#ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers"
lipo -create "${DEVICE_DIR}/${PROJECT_NAME}""${SIMULATOR_DIR}/${PROJECT_NAME}" -output"${INSTALL_DIR}/${PROJECT_NAME}"
#open "${DEVICE_DIR}"
open "${SRCROOT}/Products"
fi
运行 弹出合并后的framework文件夹
设置为动态库 编译
创建完成
在使用的工程中 导入framework 开始使用
#import<testFrame/testMethod.h>
- (void)viewDidLoad
{
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[testMethodtestMethod];
}
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[testMethodtestMethod];
}