我們已經掌握了一些基本知識,在動手編程之前,還需先配置下開發環境:
2.1 iOS 配置
1) Mac電腦(MacBook Air/ Pro、Mac mini和iMac都可以);
2) Snow Leopard(小版本10.6.2以上)、Lion(小版本10.7以上)或Mountain Lion作業系統
3) 下載並安裝Xcode開發工具(Xcode是蘋果的整合式開發環境):
a.最新的Xcode 4.5版本(附帶了iOS 6 SDK,安裝包大概1.56 G);
b.其他的Xcode 4.x版本(附帶了iOS 5 SDK,安裝包大概1.4 G)。
*Xcode可以從蘋果開發人員中心免費下載:https://developer.apple.com/downloads/index.action
4) 蘋果開發人員帳號,99刀/年,沒有Visa或學生可以考慮先用PJ帳號進行開發,但最終應用發布時必須用合法的帳號進行簽名。
*假如手頭沒有Mac,也可以考慮使用虛擬機器,見過有人用VMware Workstation 8.x建立Snow Leopard用的,聊勝於無嘛。
2.2 ArcGIS for iOS 配置
有了iOS開發環境,我們還需要配置ArcGIS for iOS:
1) 下載並安裝ArcGIS runtime SDK for iOS v2.3.2;
*ArcGIS runtime SDK for iOS安裝包(*.pkg檔案)可以從Esri資源中心免費下載:
http://www.esri.com/apps/products/download/index.cfm?fuseaction=download.all#ArcGIS_Runtime_SDK_for_iOS
2) 查看SDK檔案是否成功安裝,預設安裝路徑是${HOME}/Library/SDKs/ArcGIS/,其中包括了ArcGIS架構庫和一個MapViewDemo樣本工程。架構庫目錄中包括了庫檔案,資源套件,語言套件等。
* 如果升級安裝,建議先卸載老版本:
${HOME}/Library/ApplicationSupport/AGSiOSSDK/uninstallAGSiOSSDK
*如果Finder裡看不到Library(資產庫)目錄,可以在終端裡運行以下命令:
chflagsnohidden ~/Library/
3) 如果安裝出現問題,會寫日誌到 /var/log/install.log,常見的原因是使用者權限不夠或安裝包已損壞,需要升級為管理員權限和重新下載安裝包。
2.3 Xcode工程配置
啟動Xcode,建立一個iOS項目,選擇Single View Application (單視圖模板),接下來填寫項目名稱、機構資訊等,其中“Class Prefix”是類的前置標識名稱,“Device”選擇對應的裝置,勾上“Use
Automatic Reference Counting”選項可以簡化手動的記憶體管理、“Use Storyboard”和“includeUnit
Tests”兩項暫不選擇,避免增加新手的入門負擔。
圖2-1 建立項目
選擇項目的儲存路徑後,“HelloWorld Map”就建立成功了,Xcode挺好用,如所示從介面上可以劃分成3大地區:菜單和工具列、項目目錄視窗和內容編輯視窗。
菜單和工具列,包括了常規的專案管理、檔案編輯、視圖控制等,其中最常用的已經預設添加到工具列上:運行/停止、目標選擇、狀態列、裝置管理項等。
項目目錄視窗,包含檔案目錄檢視、邏輯分層視圖、查詢檢視表、訊息視圖、調試視圖、斷點視圖和日誌視圖,其中的檔案目錄檢視可以很好的管理檔案夾、代碼、介面、引用庫等。
內容編輯視窗,在檔案目錄檢視選擇某對象後,內容視窗就進一步展開該對象的內容,代碼編輯和程式介面布局都在這裡進行。
* 這裡僅介紹Xcode大體功能劃分,更為詳盡的介紹還請查看其協助文檔或其他iOS開發入門資料。
圖2-2 Xcode功能布局劃分
第一步:添加ArcGIS架構引用,選擇項目Targets,在“Build Setting”裡搜尋“Framework Search Paths”,雙擊進行編輯,添加:$(HOME)/Library/SDKs/ArcGIS/**。
圖2-3 添加ArcGIS架構引用
第二步:添加其他引用,由於ArcGIS架構自身也引用很多iOS基礎架構,需要在“Build Phases”的“Link Binary With Libraries”裡添加以下引用:
- UIKit.framework
- Foundation.framework
- CoreGraphics.framework
- CoreLocation.framework
- QuartzCore.framework
- CoreText.framework (v1.8新引入)
- libstdc++.dylib (v1.8新引入)
- MediaPlayer.framework (v2.0新引入)
- MobileCoreServices.framework (v2.0新引入)
- libz.dylib (v2.1新引入)
- Security.framework (v2.1新引入)
圖2-4 添加其他引用
*Mac的 Commond鍵功能類似與PC的Ctrl鍵,按住它可以進行多選。
第三步:修改編譯標記,ArcGIS架構要正常運行還需要添加編譯標記,在“Build Setting”裡搜尋“Other Linker Flags”,雙擊進行編輯,添加:-all_load -ObjC -framework ArcGIS。
圖2-5 修改編譯標記
第四步:添加資源套件,ArcGIS架構提供了常用的圖片、視圖和語言套件資源,都打包放在“ArcGIS.bundle”中,該檔案位於:${HOME}/Library/SDKs/ArcGIS/ArcGIS.framework/Versions/Current/Resources。
*如果不喜歡資源套件裡的某個表徵圖,比如GpsDisplay.png,想用自訂的圖片代替,只需要把你的圖片添加到項目中,並保持相同命名(GpsDisplay.png)即可。
第五步:添加地圖,包括地圖容器MapView和地圖控制器Map Controller的建立,在下一節將詳細說明。
*如果以上配置過程讓你感到厭倦,就會問:幹嘛不直接提供一個ArcGIS項目模板?這是個好問題,官方解釋是蘋果公司並不允許在Xcode裡整合第三方模板,退而求其次,我們可以使用預設安裝的MapViewDemo樣本工程,其中已經配置並添加好了地圖,該工程位於:
${HOME}/Library/SDKs/ArcGIS/Samples/MapViewDemo
另外:推薦博文:
ArcGIS
Runtime SDK for iOS開發系列教程(1)——開發前準備:http://www.cnblogs.com/esrichina/archive/2012/09/01/2666398.htmlArcGIS
Runtime SDK for iOS開發系列教程(3)——Objective-C文法基礎:http://www.cnblogs.com/esrichina/archive/2012/10/25/2671149.html