自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iOS Xcode制作靜態(tài)庫詳解

移動開發(fā) iOS
一些iOS開發(fā),有開發(fā)靜態(tài)庫的需求,本身iOS的開發(fā),只允許靜態(tài)庫或者Framework。在Xcode上沒有找到允許編譯,如同Android上的*.so和Win32上的dll這樣的說法。不過Framework這樣的框架,估計也是類似動態(tài)庫的實現(xiàn),不過沒有具體研究過,后續(xù)繼續(xù)深入研究。
注意:首先確保你的XCODE4使用IOS5,否則請下載IOS5在繼續(xù)閱讀。
IOS程序是由Objective-c語言構成,而是Objective-c語言中每一個類又分成 .h .m 文件。靜態(tài)庫可以將這些程序的類封裝成一個.a文件,第三方應用程序只需要拿到這個.a文件和代碼對應的.h文件即可使用靜態(tài)庫中封裝的方法??偟膩碚f IOS靜態(tài)庫適合去制作第三方提供的SDK,廢話不多說了我們直接進正題。
首先打開Xcode4創(chuàng)建一個靜態(tài)庫工程,如下圖選擇Framework&Library ->Cocoa Touch Static Library (創(chuàng)建靜態(tài)庫),點擊右下角按鈕“next”繼續(xù)完成創(chuàng)建。

工程創(chuàng)建完畢后,我們開始編寫代碼。我們創(chuàng)建一個UIView類用來顯示一張圖片,并且點擊該視圖后打開一個網(wǎng)址。
創(chuàng)建視圖類的.h文件
  1. #import <UIKit/UIKit.h>   
  2.        
  3. @interface MyView : UIView   
  4.        
  5. @end   

創(chuàng)建視圖類的.m文件

顯示的圖片資源為通過URL下載后谷歌的LOGO,點擊該LOGO視圖后程序將打開百度的主頁。
  1. #import "MyView.h"   
  2. @implementation MyView         
  3. - (id)initWithFrame:(CGRect)frame   
  4.     {   
  5.         //初始化視圖位置   
  6.         self = [super initWithFrame:frame];   
  7.         if (self) {   
  8.                
  9.         }   
  10.         return self;   
  11.     }     
  12. - (void)drawRect:(CGRect)rect   
  13.     {   
  14.         //這里創(chuàng)建一個圖片視圖   
  15.         UIImage *image=[[UIImage alloc]initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com.hk/intl/zh-CN/images/logo_cn.png"]]];   
  16.         [image drawInRect:CGRectMake(00,self.frame.size.width , self.frame.size.height)];   
  17.         [image release];   
  18.     } 
  19. -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event   
  20.     {   
  21.       //點擊視圖后打開網(wǎng)頁   
  22.       [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.baidu.com"]];   
  23.     }   
  24. @end   

到這一步靜態(tài)庫中的代碼我們已經寫完,現(xiàn)在我們開始制作靜態(tài)庫。靜態(tài)庫的制作方法可分為兩種:第一種為在真機上使用的靜態(tài)庫,第二種為在模擬器中使用的靜態(tài)庫。這兩種方法制作起來有點小區(qū)別,請大家一定看好了,別眨眼睛喔, 我們開始從模擬器入手。

如圖,先選擇模擬器iPhone 5.0 Simulator,如果你的XCODE4不是IOS5版本那么你將沒有這個選項,然后Build工程,構建工程完畢后libSDKLib.a靜態(tài)庫文件遍生成了出來, 選擇該文件鼠標右鍵找到它。

找到文件以后,默認為Debug-iphoneos / libsdklib.a ,但是這個文件是不能在模擬器中使用的,并且它也不能在真機中使用。你需要選擇下面Debug-iphoneosimulator / libsdklib.a這個文件,將libSDKLib.a與對應MyView.h頭文件拖拽入使用它的工程當中。

接下來創(chuàng)建一個普通的IOS工程,先選擇模擬器運行 iPhone5.0 Simulator ,然后將libSDKLib.a 與MyView.h拖拽添加至程序當中即可。

運行工程即可看到效果,本例中通過URL加載了一張谷歌的LOGO,觸摸點擊該視圖后打開百度的首頁。

調用靜態(tài)庫的方法如下:

  1. #import "ViewController.h"    
  2. #import "MyView.h"    
  3. @implementation ViewController    
  4. - (void)didReceiveMemoryWarning    
  5.     {    
  6.         [super didReceiveMemoryWarning];    
  7.         // Release any cached data, images, etc that aren't in use.    
  8.     }     
  9.     #pragma mark - View lifecycle    
  10. - (void)viewDidLoad    
  11.     {    
  12.         [super viewDidLoad];    
  13.         //創(chuàng)建靜態(tài)庫視圖    
  14.         MyView *myView = [[MyView alloc] initWithFrame: CGRectMake(00120100)];    
  15.         //將靜態(tài)庫視圖添加至窗口當中    
  16.         [self.view addSubview:myView];    
  17.         [myView release];    
  18.     }    
  19. - (void)viewDidUnload    
  20.     {    
  21.         [super viewDidUnload];    
  22.         // Release any retained subviews of the main view.    
  23.         // e.g. self.myOutlet = nil;    
  24.     }    
  25. @end 

OK ,到這一步我們已經將靜態(tài)庫順利的應用在模擬器當中,下面我們學習如何將靜態(tài)庫應用在真機當中。我們再次回到制作靜態(tài)庫的工程當中,如圖打開工程后編譯環(huán)境選擇IOS Device,然后構建構成即可完成。

使用鼠標右鍵找到libSDKlib.a,這時候Debug-iphoneos / libSDKlib.a 就是可以在真機上編輯的靜態(tài)庫。
 
最后將libSDKLib.a 與MyView.h拖拽添加至程序當中,連接上真機運行工程即可在真機上看到效果了。值得注意的是模擬器和真機用的libSDKLib.a必需要嚴格的區(qū)分開,否則程序會報錯。
責任編輯:閆佳明 來源: oschina
相關推薦

2011-08-18 10:47:48

Xcode 4靜態(tài)庫

2011-08-02 14:15:05

XCode 靜態(tài) 鏈接庫

2011-07-22 16:15:11

IOS 靜態(tài)類

2015-09-01 10:37:54

ios靜態(tài)庫開發(fā)

2013-04-08 10:47:42

Xcode靜態(tài)代碼分析

2011-07-06 10:22:31

XCode IOS object-C

2011-07-07 16:08:41

2011-07-28 14:31:55

Xcode 調試 異常

2011-07-19 15:44:18

Xcode 卸載

2015-09-11 11:02:23

ios靜態(tài)庫開發(fā)

2011-08-03 14:54:09

2011-07-20 10:59:46

2021-12-06 11:51:43

靜態(tài)庫動態(tài)庫C語言

2011-07-26 14:44:53

調試 Xcode

2011-08-29 09:33:24

WindowsQt庫靜態(tài)

2011-08-04 18:09:32

Xcode 技巧 文檔

2011-08-01 16:24:04

XCode CodeTimer 測試

2011-07-22 18:41:11

Xcode 文檔 腳本

2011-08-11 13:10:34

XcodeSVN

2013-04-15 10:48:16

Xcode ARC詳解iOS ARC使用
點贊
收藏

51CTO技術棧公眾號