轉載請註明出處: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
動態共享庫也就是鏈接庫就算徹底創建完畢了, 下一步我們就要創建主程序並且打開共享庫 請看 動態鏈接庫的使用(二):打開