1. 程式人生 > >ArcGIS Runtime SDK For iOS 去除水印

ArcGIS Runtime SDK For iOS 去除水印

 對於 ArcGIS for iOS 地圖開發,這裡不再多提,網上很多教程.

在開發中,當一切部署完成,呈現地圖時,在我的地圖介面顯示了 "licensed for developer use only"水印.這對於公司專案開發肯定是不允許的,所以必須想辦法解決.

對於初次接觸 ArcGIS 地圖的我來說,前面一抹黑.但是既然發現了問題,那麼便需要解決問題.解決問題,必須要知道問題是如何產生的.於是百度一番,得到如下資訊:

從10.2.2版本開始,ArcGIS Runtime的許可授權分為開發模式和部署模式兩種。開發模式下,開發者丌需要對應用進行許可授權,即可使用全部的功能模組,但是地圖上會標註“Used for Developer Only”水印,在debug除錯資訊中也會列印相關提示資訊。在部署模式下基於ArcGIS Runtime SDK開發的應用要求必需提供許可授權,程式碼中註冊許可資訊後,地圖上的水印和debug除錯資訊將消失。
ArcGIS Runtime 許可分基礎版(Basic)和標準版(Standard)兩個版本。基礎版支援線上地圖顯示,編輯,執行基於服務的分析功能和離線地圖顯示。標準版包含了基礎版的全部功能,以及離線地圖編輯和同步,離線地理編碼和離線網路分析等高階功能。
在應用釋出部署之前,應用必須進行許可授權。對於基礎版許可,應用中需要註冊ClientID,ClientID可以以開發者賬戶戒arcgis.com組織試用賬戶登入esri開發者網站申請(免費)。標準版許可,使用者同樣需要註冊ClientID,另外可以通過以下兩種方式來解鎖標準版功能:
1)使用ArcGIS Online戒Portal for ArcGIS 組織賬戶授權。在應用中編碼向ArcGIS Online戒Portal獲取許可資訊,這種方式支援30天週期的標準版許可,在週期內許可可實現離線使用。但是超過30天最長使用期,應用需要在聯網狀態下重新獲取標準版許可,否則叧能使用基礎版功能。
2)購買ArcGIS Runtime SDK標準版永久授權,這種方式可以實現許可永久離線使用。在絕對禁止聯網的情況下,需要採用這種模式。
下表顯示了不同級別下所具有的功能

許可級別

可用功能

開發者(僅用於開發和測試)

所有功能(將產生水印和除錯訊息)

基礎版

除了下述功能的所有功能:

本地定位器(地理編碼)

本地路徑分析

本地地理資料庫編輯

本地地理資料庫同步操作

標準版

所有功能


知道了為什麼產生水印之後,那便是該如何解決水印了.根據上面連結可以知道,我們需要獲得一個授權,那麼 訪問 developer.arcgis.com 並用ArcGISfor Developer賬戶登入.通過一系列註冊得到Client ID字串.

拿到 Client ID 怎麼用?...百度了一圈,都是關於Android 對於Client ID的用法, iOS 相關資料少得可憐.最後,經過一番查詢,最終在百度文庫中得到了答案.

只需要在專案開始時,

   //設定ARCGisClientID,清除水印

[AGSRuntimeEnvironmentsetClientID:ArcGISClientIDerror:nil];

   如此,便大功告成了.再啟動專案,便發現水印消失了.