轉載 http://www.cnblogs.com/sss/archive/2010/08/27/ipaddevelop2.html
編寫HelloWorld
上文環境搞好後開啟xcode,顯示xcode的歡迎介面,如下:
點擊Create a new Xcode project,選擇iPhone OS-Application-View based Application,建立一個最簡單的iPad空白程式HelloiPad。點擊Build and Run後iPad模擬器自動啟動。
Xocde的檔案如下
找到HelloiPadViewController.xib檔案,雙擊後啟動Interface Builder,編輯使用者介面。點擊右上方的旋轉箭頭,可以旋轉為橫屏編輯,拖入一個標籤,一個編輯框和一個按鈕後,簡單編輯一下屬性後運行,如下顯示橫屏和豎屏兩個介面。
(請無視每個介面上的兩個小點點,那個是因為虛擬機器的截屏快速鍵正好跟模擬器的測試多點觸摸快速鍵衝突所致)
發現在橫屏下顯示是置中很好看,但是豎起來後並沒有自動適應而顯示在中間,這個是需要設定自動適應屬性,選中其中一個控制項,選中右邊屬性中帶有滑動塊的那頁,點擊中間正方形上的線,就可以設定控制項的自動適應屬性,這一點apple搞的非常好,滑鼠放在這個正方形上,右邊就會動畫顯示你所設定的自動適應的動畫,很好讓人理解。三個控制項設定完成後,儲存一下,或者直接點擊Build and Run會提示你儲存,現在再看看是否置中了。
目前螢幕是四個方向自動適應的,那如果我只想程式在特定的方向下顯示,怎麼辦呢?這就需要編碼控制了。回到Xcode,雙擊HelloiPadViewController.m檔案,找到如下代碼:
將return YES注釋,換為上面的代碼,再看看是不是只能兩個方向了呢。
這裡要說一下蘋果的方向定義。
我英文不好,不知道這個怎麼翻譯,橫屏叫:Landscape,left,right是指home鍵在左還是右。豎屏叫Portrait。(本人也是剛入門,看了兩章的書,所以很多都不懂)。
終於看到代碼了,這個可能也是程式員最喜歡的看到的。下面,就編寫一個點擊按鈕的響應事件。
首先在HelloiPadViewController.h檔案中添加如下(紅色為新增內容):
#import <UIKit/UIKit.h>
@interface HelloWorldViewController : UIViewController {
}
-(IBAction) btnClicked:(id) sender;
@end
在HelloiPadViewController.m中添加
-(IBAction) btnClicked:(id) sender {
//---display an alert view---
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Hello World!”
message:@”iPad, here I come!”
delegate:self
cancelButtonTitle:@”OK”
otherButtonTitles:nil];
[alert show];
[alert release];
}
這樣事件處理常式就已經寫好了,下面就是把這個事件處理常式掛到按鈕的點擊事件上,開啟Interface Builder,選擇按鈕,按住Control拖動到HelloWorldViewController.xib表單的File’s Owner,會出現一個彈出選擇,選中剛才編寫的btnClicked即可。編譯運行一下,點擊按鈕,如出現一個提示資訊。這個類似於VS系的MessageBox,Delphi系的ShowMessage,Justep系的jsDialogs。呵呵
程式編輯好了,下面我們在模擬器上按home鍵發現程式的表徵圖是白色的,下面我們就要給程式添加一個表徵圖。
找一個72*72的png圖片,書上是這麼說的,我沒找到這麼大的,小點的也是可以的。拖動圖片到Xcode的Resources檔案夾,出現提示後最好選擇拷貝(Copy)。如:
然後雙擊HelloiPad-Info.plist檔案,編輯Icon file值為剛才拖動的圖片名字,這裡是Apple.png。再B&R,按home回到首頁看看,如:
Ok,萬事俱備,只欠東風了。下面選擇編譯目標為Device,點擊Build and Archive,報錯了,如下:
什麼原因呢?因為你沒買99刀一年的認證,所以只能編譯到模擬器,不能編譯到裝置。555555555555
破解越獄xcode
上文說了不能編譯為裝置執行程式,這裡就介紹一個破解的辦法。我是參考的weiphone論壇上的(Xcode 3.1.4 認證破解+iphone 3G 3.1.2真機部署(對3.2.1同樣有效)),首先需要在macosx裡開啟程式-工具 + 生產力-鑰匙串,選擇認證助理,建立一個用於代碼編輯的認證,然後執行下面一系列命令,拷貝自weiphone論壇。
認證偽造:
先按照 該教程 的步驟添加認證。注意,原教程選擇的是“系統”認證,這裡我們用“登入”認證,切記。
Xcode破解
關閉Xcode,開啟你的命令列終端,複製粘貼下面的代碼:
#!/bin/bash
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf “\x8f\x2a\x00\x00″ >> working
dd if=iPhoneOS\ Build\ System\ Support of=working bs=1 skip=127504 seek=127504
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support
執行完後再複製粘貼下面的代碼到命令列終端:(需要internet網路連接)
mkdir /Developer/iphoneentitlements30
cd /Developer/iphoneentitlements30
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py
執行完指令碼後修改”/Developer/Platforms/iPhoneOS.platform/Info.plist”檔案,做如下修改:
新增如下兩項:
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO
再用文字編輯器開啟”/Developer/Platforms/iPhoneOS.platform/Info.plist”檔案,將所有“XCiPhoneOSCodeSignContext”替換為“XCCodeSignContext”,(非常重要,不進行此步驟會導致開啟專案檔Xcode會崩潰報錯退出)儲存退出。
開啟Xcode,開啟你的項目,Project>>Edit Project Setting,選擇“Build”頁面,Configurations和Show都選擇All,找到Code Signing Identity項,刪除其子項,並將“Code Signing Identity”賦值為“iPhone Developer”(其實是個選項)。
然後找到你項目的xxx-Info.plist檔案,添加“SignerIdentity”項,其值為“Apple iPhone OS Application Signing”.儲存。
期間會出現讓我們選擇簽署憑證,點選“允許”後,據說不能點永久。
Ok,再次點擊Build and Archive,成功!!
打包ipa
編譯完了的程式是HelloiPad.app檔案夾,我們需要製作成ipa安裝包,方便安裝在iPad上。
第一步,建立一個檔案夾,名字任意。找一個不大於500*500的jpg圖片,改名為:iTunesArtwork,注意不能有尾碼名。
第二步,建立一個檔案夾,名為:Payload,把剛才編譯的HelloiPad.app拷貝到這個檔案夾裡面。
第三部,修改app裡面的Info.plist檔案,windows下可以用Pledit.exe編輯,在<dict></dict>節點裡面加入:
<key>SignerIdentity</key>
<string>Apple iPhone OS Application Signing</string>
然後選中Payload和iTunesArtwork,右鍵生產壓縮zip檔案,比如:HelloiPad.zip,把尾碼名改為ipa就可以了。現在可以雙擊HelloiPad.ipa檔案,看看可以加入到iTunes了。
(請無視邊上那個,帶我兒子頭像的那個是剛打包的)
真機運行
Ipa檔案有了,你要用iTunes同步還是其他方法,那就隨便了,安裝到真機後的運行介面如下:
編寫HelloWorld
上文環境搞好後開啟xcode,顯示xcode的歡迎介面,如下:
點擊Create a new Xcode project,選擇iPhone OS-Application-View based Application,建立一個最簡單的iPad空白程式HelloiPad。點擊Build and Run後iPad模擬器自動啟動。
Xocde的檔案如下
找到HelloiPadViewController.xib檔案,雙擊後啟動Interface Builder,編輯使用者介面。點擊右上方的旋轉箭頭,可以旋轉為橫屏編輯,拖入一個標籤,一個編輯框和一個按鈕後,簡單編輯一下屬性後運行,如下顯示橫屏和豎屏兩個介面。
(請無視每個介面上的兩個小點點,那個是因為虛擬機器的截屏快速鍵正好跟模擬器的測試多點觸摸快速鍵衝突所致)
發現在橫屏下顯示是置中很好看,但是豎起來後並沒有自動適應而顯示在中間,這個是需要設定自動適應屬性,選中其中一個控制項,選中右邊屬性中帶有滑動塊的那頁,點擊中間正方形上的線,就可以設定控制項的自動適應屬性,這一點apple搞的非常好,滑鼠放在這個正方形上,右邊就會動畫顯示你所設定的自動適應的動畫,很好讓人理解。三個控制項設定完成後,儲存一下,或者直接點擊Build and Run會提示你儲存,現在再看看是否置中了。
目前螢幕是四個方向自動適應的,那如果我只想程式在特定的方向下顯示,怎麼辦呢?這就需要編碼控制了。回到Xcode,雙擊HelloiPadViewController.m檔案,找到如下代碼:
將return YES注釋,換為上面的代碼,再看看是不是只能兩個方向了呢。
這裡要說一下蘋果的方向定義。
我英文不好,不知道這個怎麼翻譯,橫屏叫:Landscape,left,right是指home鍵在左還是右。豎屏叫Portrait。(本人也是剛入門,看了兩章的書,所以很多都不懂)。
終於看到代碼了,這個可能也是程式員最喜歡的看到的。下面,就編寫一個點擊按鈕的響應事件。
首先在HelloiPadViewController.h檔案中添加如下(紅色為新增內容):
#import <UIKit/UIKit.h>
@interface HelloWorldViewController : UIViewController {
}
-(IBAction) btnClicked:(id) sender;
@end
在HelloiPadViewController.m中添加
-(IBAction) btnClicked:(id) sender {
//---display an alert view---
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@”Hello World!”
message:@”iPad, here I come!”
delegate:self
cancelButtonTitle:@”OK”
otherButtonTitles:nil];
[alert show];
[alert release];
}
這樣事件處理常式就已經寫好了,下面就是把這個事件處理常式掛到按鈕的點擊事件上,開啟Interface Builder,選擇按鈕,按住Control拖動到HelloWorldViewController.xib表單的File’s Owner,會出現一個彈出選擇,選中剛才編寫的btnClicked即可。編譯運行一下,點擊按鈕,如出現一個提示資訊。這個類似於VS系的MessageBox,Delphi系的ShowMessage,Justep系的jsDialogs。呵呵
程式編輯好了,下面我們在模擬器上按home鍵發現程式的表徵圖是白色的,下面我們就要給程式添加一個表徵圖。
找一個72*72的png圖片,書上是這麼說的,我沒找到這麼大的,小點的也是可以的。拖動圖片到Xcode的Resources檔案夾,出現提示後最好選擇拷貝(Copy)。如:
然後雙擊HelloiPad-Info.plist檔案,編輯Icon file值為剛才拖動的圖片名字,這裡是Apple.png。再B&R,按home回到首頁看看,如:
Ok,萬事俱備,只欠東風了。下面選擇編譯目標為Device,點擊Build and Archive,報錯了,如下:
什麼原因呢?因為你沒買99刀一年的認證,所以只能編譯到模擬器,不能編譯到裝置。555555555555
破解越獄xcode
上文說了不能編譯為裝置執行程式,這裡就介紹一個破解的辦法。我是參考的weiphone論壇上的(Xcode 3.1.4 認證破解+iphone 3G 3.1.2真機部署(對3.2.1同樣有效)),首先需要在macosx裡開啟程式-工具 + 生產力-鑰匙串,選擇認證助理,建立一個用於代碼編輯的認證,然後執行下面一系列命令,拷貝自weiphone論壇。
認證偽造:
先按照 該教程 的步驟添加認證。注意,原教程選擇的是“系統”認證,這裡我們用“登入”認證,切記。
Xcode破解
關閉Xcode,開啟你的命令列終端,複製粘貼下面的代碼:
#!/bin/bash
cd /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS\ Build\ System\ Support.xcplugin/Contents/MacOS/
dd if=iPhoneOS\ Build\ System\ Support of=working bs=500 count=255
printf “\x8f\x2a\x00\x00″ >> working
dd if=iPhoneOS\ Build\ System\ Support of=working bs=1 skip=127504 seek=127504
/bin/mv -n iPhoneOS\ Build\ System\ Support iPhoneOS\ Build\ System\ Support.original
/bin/mv working iPhoneOS\ Build\ System\ Support
chmod a+x iPhoneOS\ Build\ System\ Support
執行完後再複製粘貼下面的代碼到命令列終端:(需要internet網路連接)
mkdir /Developer/iphoneentitlements30
cd /Developer/iphoneentitlements30
curl -O http://www.alexwhittemore.com/iphone/gen_entitlements.txt
mv gen_entitlements.txt gen_entitlements.py
chmod 777 gen_entitlements.py
執行完指令碼後修改”/Developer/Platforms/iPhoneOS.platform/Info.plist”檔案,做如下修改:
新增如下兩項:
PROVISIONING_PROFILE_ALLOWED = NO
PROVISIONING_PROFILE_REQUIRED = NO
再用文字編輯器開啟”/Developer/Platforms/iPhoneOS.platform/Info.plist”檔案,將所有“XCiPhoneOSCodeSignContext”替換為“XCCodeSignContext”,(非常重要,不進行此步驟會導致開啟專案檔Xcode會崩潰報錯退出)儲存退出。
開啟Xcode,開啟你的項目,Project>>Edit Project Setting,選擇“Build”頁面,Configurations和Show都選擇All,找到Code Signing Identity項,刪除其子項,並將“Code Signing Identity”賦值為“iPhone Developer”(其實是個選項)。
然後找到你項目的xxx-Info.plist檔案,添加“SignerIdentity”項,其值為“Apple iPhone OS Application Signing”.儲存。
期間會出現讓我們選擇簽署憑證,點選“允許”後,據說不能點永久。
Ok,再次點擊Build and Archive,成功!!
打包ipa
編譯完了的程式是HelloiPad.app檔案夾,我們需要製作成ipa安裝包,方便安裝在iPad上。
第一步,建立一個檔案夾,名字任意。找一個不大於500*500的jpg圖片,改名為:iTunesArtwork,注意不能有尾碼名。
第二步,建立一個檔案夾,名為:Payload,把剛才編譯的HelloiPad.app拷貝到這個檔案夾裡面。
第三部,修改app裡面的Info.plist檔案,windows下可以用Pledit.exe編輯,在<dict></dict>節點裡面加入:
<key>SignerIdentity</key>
<string>Apple iPhone OS Application Signing</string>
然後選中Payload和iTunesArtwork,右鍵生產壓縮zip檔案,比如:HelloiPad.zip,把尾碼名改為ipa就可以了。現在可以雙擊HelloiPad.ipa檔案,看看可以加入到iTunes了。
(請無視邊上那個,帶我兒子頭像的那個是剛打包的)
真機運行
Ipa檔案有了,你要用iTunes同步還是其他方法,那就隨便了,安裝到真機後的運行介面如下: