使用行動應用程式設定Oracle Mobile Hub SDK
您必須先設定Oracle Mobile Hub SDK 與行動應用程式,才能撰寫任何程式碼。
新增 SDK
在基本應用程式設定中 (不會介入中間的架構),您會將 iOS 從屬端 SDK 新增至應用程式。
-
將下載檔案
omce-ios-sdk-{n}.zip
(其中 {n} 是 SDK 的版本號碼) 解壓縮到您機器上的部分目錄中。 -
從壓縮檔的擷取內容中,將
oracle_mobile_ios_sdk
目錄拖放至 Xcode 專案導覽器。-
視需要選取複製項目。
-
選取建立群組。
-
按一下完成。
將特定程式庫的
.a
檔案複製到您應用程式的開發樹狀結構 (Xcode) 之後,您可以透過 SDK 呼叫對應的平台 API。此時,您的應用程式可以使用所有 SDK 的靜態程式庫。 -
-
選取專案的目標、選取建立階段頁籤、展開內容庫的連結二進位檔案、按一下+ 按鈕,然後新增下列內容庫:
-
CoreData.framework
-
CoreLocation.framework
-
libsqlite3.0.tbd
-
Security.framework
-
SystemConfiguration.framework
-
-
在專案的「組建設定值」段落中,按兩下「其他連結器旗標」(在「連結」底下),然後新增
-ObjC
。 -
此外,在「組建設定值」中,展開「搜尋路徑」與:
-
新增
oracle_mobile_ios_sdk/release-iphoneos
至程式庫搜尋路徑。 -
新增
oracle_mobile_ios_sdk/release-iphoneos/include
至使用者標頭搜尋路徑。
-
-
展開已解除封裝之壓縮檔的
Documentation
資料夾,複製OMC.plist
檔案,並將它置於應用程式主要應用程式組合的根目錄中。 -
編輯複製最終的
OMC.plist
檔案。 -
從 Xcode 7 開始,您必須說明「應用程式傳輸安全性 (ATS)」原則,這會強制使遠端通訊超過 HTTPS。
僅供開發之用,請在應用程式的
Info.plist
檔案中新增下列金鑰,以關閉應用程式的 ATS 原則。<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
注意事項:
您不應該在生產中使用此設定。為了確保您提供最佳的 App 安全性、請研究 Apple 的文件、並遵循 Apple 的建議停用特定網域的 ATS、以及為這些網域套用適當的安全性降低。
設定 SDK 特性
若要在 iOS 應用程式中使用從屬端 SDK,您必須將 OMC.plist
組態檔新增至應用程式,並在Oracle Mobile Hub中填入後端的環境詳細資訊以及其他組態資訊。而 SDK 類別則可使用這項資訊來協助管理授權、記錄日誌、事件追蹤、資料同步化及其他功能。
您可以將組態檔封裝在應用程式主要組合的根目錄中。
檔案基本上分為下列部分:
-
mobileBackend
索引鍵及其內容。如果您使用含有應用程式的後端,則會包括此部分。SDK 類別會使用您指定的環境和認證詳細資訊來存取後端,並建構對 api 進行 REST 呼叫的 HTTP 標頭。
-
整體套用至組態的索引鍵,例如
logLevel
與oAuthTokenEndpoint
。這些索引鍵通常會出現在檔案的最上方,但不一定要出現。
以下為文字格式的相同檔案:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"
<plist version="1.0">
<dict>
<key>logLevel</key>
<string>debug</string>
<key>logHTTP</key>
<true/>
<key>oAuthTokenEndPoint</key>
<string>https://MY_TOKEN_ENDPOINT</string>
<key>mobileBackend</key>
<dict>
<key>name</key>
<string>EasyShoppingMBE</string>
<key>baseURL</key>
<string>https://MY_CLOUD_DOMAIN.oracle.com</string>
<key>authentication</key>
<dict>
<key>type</key>
<string>oauth</string>
<key>oauth</key>
<dict>
<key>clientID</key>
<string>11dac238ffaa4b029e78e982114642ab</string>
<key>clientSecret</key>
<string>5624cbdd-a7c5-4c10-a758-6019a5ab8da8</string>
<key>enableOffline</key>
<true/>
</dict>
</dict>
</dict>
</dict>
</plist>
這裡有一些較重要的項目在 OMC.plist
檔案中的說明。
-
oAuthTokenEndPoint
—您應用程式從中取得其認證記號的 OAuth 伺服器 URL。必須為依賴 OAuth 認證的所有應用程式提供此金鑰。您可以從後端的「設定值」頁面取得此頁面。端點應該只是基礎 URL (格式為https://host.domain:port
)。 -
logLevel
—決定應用程式的主控台中顯示的 SDK 記錄日誌數量。預設值為error
。其他可能值 (在詳細資訊的增加層次中) 為warning
、info
以及debug
。您也可以將值設為none
。 -
logHTTP
—設為true
時,SDK 會記錄所有 HTTP 要求和回應的標題和主體。 -
mobileBackend
—包含後端認證詳細資訊以及其他選擇性詳細資訊 (例如同步化特性) 的字典項目。您可以從後端的「設定值」頁面取得認證詳細資訊 (例如 OAuth 和 HTTP 證明資料)。
-
mobileBackend/baseUrl
—您透過後端呼叫之所有 api 的基礎 URL。您可以從後端的「設定值」頁面取得此頁面。 -
mobileBackend/authentication
—包含具有下列元素的字典:-
type
子索引鍵,可能的值 (string
) 為oauth
、basic
、facebook
和tokenExchange
。 -
認證類型的一或多個子金鑰,其中包含具有認證證明資料的字典。
在
basic
和oauth
的子索引鍵內,您也可以新增enableOffline
索引鍵。此特性預設為true
。
-