动态链接库的使用(一):创建

转载请注明出处:http://blog.csdn.net/number_five/article/details/46561089

动态库学习流程:

 

1.创建

1.1动态共享库创建:

1.2接口准备(有xib和无xib)

 

2.打开

2.1主程序的创建:

2.2打开方式:

2.3调用入口接口:

 

3.数据共享方式

3.1本地存储:

3.2消息中心

 

      在苹果的WWDC2014上开放了动态库, 用动态库来更新程序是一个很好的选择 ,也很有意思 , 让我们来学习一下动态库吧 .

准备: Xcode 6 以上

 

1.1 动态共享库的创建

打开xcode 创建一个Cocoa Touch Framework ,如图1.1所示

 

   

图1.1 创建Cocoa Touch Framework

 

我创建的名字叫LinkPhone ,如图1.2 所示

图1.2 创建LinkPhone

 

然而我划横线的类并没有什么卵用, 对, 然并卵 , 可以删掉也可以不删, 随意了, 我删掉了.

 

然后创建一个继承与NSObject类的类 , 我叫Interface ,作为接口类,如图1.3 创建Interface

图1.3 创建Interface接口类

 

 

然后点击工程-->Target-->Build Phases-->Headers   将Projict里面我们要暴露出来的作为接口使用的头文件拖到Public下, 这样主程序就能访问到该头文件,如图1.4所示


图1.4 暴露接口

 

然后点击 “ +” 号按钮 , 创建Aggregate的target ,如图1.5


图1.5 创建共享库

 

 

名字叫做LinkPhone1 , 然后再Target-->LinkPhone1-->Build Phases -->Target Dependencies 点击“+” 把真正的动态库添加进去如图1.6所示



图1.6

 

然后在LinkPhone1-->Build phases 下点击加号,添加Script Phase 如图1.7所示


图1.7

 

 

然后在LinkPhone1-->Build Phases-->Run Script 下的黑色区域, 填写脚本代码

如图1.8所示


图1.8

脚本内容为:

 

#Sets the target folders and the final framework product.

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}" -sdkiphoneos clean build

xcodebuild-configuration "Release" -target "${FMK_NAME}" -sdkiphonesimulator 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 oneUniversal final product.

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

 

rm-r "${WRK_DIR}"

脚本的主要功能是:

1.分别编译生成真机和模拟器使用的framework; 2.使用lipo命令将其合并成一个通用framework; 3.最后将生成的通用framework放置在工程根目录下新建的Products目录下。

如果一切顺利,对LinkPhone1执行run操作以后就能生成一个如图1.9所示的通用framework文件了:



图1.9

 

 

1.2 接口准备

接口分为两类 : 1个是准备跳转不带xib文件的视图控制器, 另一个是跳转有xib的视图控制器

 

无xib:

1.  创建一个视图控制器,我的名字叫做FirstViewController如图2.0所示



图2.0

 

2.在Interface.h接口类中 , 写入口方法:

-(void)SetRootViewController:(UIViewController *)mainCon如图2.1所示



图2.1

 

在Interface.m中实现, 如图2.2所示



图2.2

 

 

有xib:

创建一个带有xib的视图控制器, 我就做XIBViewController,如图2.3所示



图2.3

 

在Interface.h中写:

-  -(void)setXibRootViewController:(UIViewController*)mainCon andBundle:(NSBundle *)bundle;如图2.4所示



图2.4

 

-   在Interface.m中写,如图2.5:



图2.5

动态共享库也就是链接库就算彻底创建完毕了, 下一步我们就要创建主程序并且打开共享库 请看 动态链接库的使用(二):打开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值