创建自己的framework
来源:互联网 发布:免费购物软件 编辑:程序博客网 时间:2024/05/04 03:16
1、创建一个framework
2、创建两个类
zwTool1:
#import <Foundation/Foundation.h>@interface zwTool1 : NSObject- (void) print;@end@implementation zwTool1- (void) print{ NSLog(@"%s",__FUNCTION__);}@end
zwTool2:
#import <Foundation/Foundation.h>@interface zwTool2 : NSObject- (void) myPrint;@end#import "zwTool1.h"@implementation zwTool2- (void) myPrint{ zwTool1 *tool = [[zwTool1 alloc]init]; [tool print];}@end
3、导入头文件
4、创建一个target,生成一个同时支持模拟器和真机的framework
5、选择 Cross-platform->Aggregate
6、选中target,点击➕新建 run script phase
7、粘贴以下脚本
set -eset +u# Avoid recursively calling this script.if [[ $SF_MASTER_SCRIPT_RUNNING ]]thenexit 0fiset -uexport SF_MASTER_SCRIPT_RUNNING=1SF_TARGET_NAME=${PROJECT_NAME}SF_EXECUTABLE_PATH="${SF_TARGET_NAME}.framework/${SF_TARGET_NAME}"SF_WRAPPER_NAME="${SF_TARGET_NAME}.framework"if [[ "$SDK_NAME" =~ ([A-Za-z]+) ]]thenSF_SDK_PLATFORM=${BASH_REMATCH[1]}elseecho "Could not find platform name from SDK_NAME: $SDK_NAME"exit 1fiif [[ "$SDK_NAME" =~ ([0-9]+.*$) ]]thenSF_SDK_VERSION=${BASH_REMATCH[1]}elseecho "Could not find sdk version from SDK_NAME: $SDK_NAME"exit 1fiif [[ "$SF_SDK_PLATFORM" = "iphoneos" ]]thenSF_OTHER_PLATFORM=iphonesimulatorelseSF_OTHER_PLATFORM=iphoneosfiif [[ "$BUILT_PRODUCTS_DIR" =~ (.*)$SF_SDK_PLATFORM$ ]]thenSF_OTHER_BUILT_PRODUCTS_DIR="${BASH_REMATCH[1]}${SF_OTHER_PLATFORM}"elseecho "Could not find platform name from build products directory: $BUILT_PRODUCTS_DIR"exit 1firm -rf buildProductsmkdir buildProducts# Build the other platform.xcrun xcodebuild -project "${PROJECT_FILE_PATH}" -target "${TARGET_NAME}" -configuration "${CONFIGURATION}" -sdk ${SF_OTHER_PLATFORM}${SF_SDK_VERSION} BUILD_DIR="${BUILD_DIR}" OBJROOT="${OBJROOT}" BUILD_ROOT="${BUILD_ROOT}" SYMROOT="${SYMROOT}" $ACTION# Smash the two static libraries into one fat binary and store it in the .frameworkxcrun lipo -create "${BUILT_PRODUCTS_DIR}/$PRODUCT_NAME.framework/$PRODUCT_NAME" "${SF_OTHER_BUILT_PRODUCTS_DIR}/$PRODUCT_NAME.framework/$PRODUCT_NAME" -output "${PROJECT_DIR}/buildProducts/$PRODUCT_NAME"cp -rf ${BUILT_PRODUCTS_DIR}/$PRODUCT_NAME.framework ${PROJECT_DIR}/buildProductsmv ${PROJECT_DIR}/buildProducts/$PRODUCT_NAME ${PROJECT_DIR}/buildProducts/$PRODUCT_NAME.framework
8、选中framework 这是需要暴露的头文件
9、commod +b 编译,选中项目找到静态库的位置
10、将库导入工程
11、导入头文件
#import <frameworktest/frameworktest.h>
zwTool2 *ttol2 = [[zwTool2 alloc]init]; [ttol2 myPrint];
不出意外的话,会有以下崩溃
12、选中工程配置如下
13、调用结果:
2016-12-16 15:47:08.711 zwTool[66386:435568] -[zwTool1 print]
0 0
- 创建自己的framework
- 创建自己的framework
- 创建自己的cocoa framework。
- 创建自己的cocoa framework
- 创建自己的cocoa framework方法
- 使用Xcode 5创建自己的Framework
- 使用Xcode5创建自己的Framework
- IOS:导入自己创建的framework出错
- IOS_创建自己的Framework静态库
- 创建自己的Framework静态库
- 自己创建Cocoa touch FrameWork
- 读译文之总结------创建自己的framework
- 如何创建自己的framework并上传到自己的私有库
- 如何创建自己的framework并上传到自己的私有库
- 创建你自己的Framework
- iOS Framework的创建
- 在Android的Framework中自己创建Exception并使用的方法
- framework添加自己的服务
- 柳峰微信公众平台开发教程企业号修改篇(AccessToken篇)
- 判断一个字符串里是否包含另一个字符串所有的字符
- 信号量和“调用者运行策略”
- Java:按值传递还是按引用传递详细解说
- Deep Learning vs Machine Learning vs Pattern Recognition
- 创建自己的framework
- SpringMVC 读取配置文件
- NDK一直整不了
- ARM、Intel、MIPS处理器的区别
- eclipse javadoc帮助文档生成
- x264命令参数与代码对应关系
- IDEA创建SSH项目
- CDN工作机制--浅析
- phpexcel导入导出的完美应用