Shell App SDK 1.4.1 以降、Xcode 7 以降の注意点

Shell App SDK 1.4.1 以降、Xcode 7 以降で実装しなければいけない項目や設定が増えていますのでその解説を行います。

MSASContext#handleOpenURL の実装必須化

Shell App SDK 1.4.1 以降では、application:openURL:sourceApplication:annotation: メソッドおよび application:openURL:options: メソッドで、以下のように MSASContext#handleOpenURL: メソッドを呼び出す実装が必須になります。

AppTransportSecurity の無効化と Custom Scheme 問い合わせの許可設定

Xcode 7 以降では、 TLS 1.2 SSL 以外の HTTP 通信をデフォルトで拒否する対応が入っています。Shell App SDK では、これを許可するための設定が必要になります。

また、アプリの Custom URL Scheme が使えるかどうかを確認するため、Info.plist 内にホワイトリスト設定が必要になります。

Info.plistをテキストで編集する場合

下記の項目をInfo.plistへ追記してください

※ ${appId}の箇所は、Ad SDK 登録時に発行されたアプリIDに置き換えます

Xcode のエディタ上で編集する場合

  1. アプリのターゲットから Info -> Custom iOS Target Properties を開く
  2. 適当な行の + で新規の行を追加し、Key に NSAppTransportSecurity を入力
  3. Type を Dictionary に変更
  4. NSAppTransportSecurity の右の + で行を追加し、Key に NSAllowsArbitraryLoads を入力し、Type: Boolean, Value:YES に設定する
  5. 適当な場所の + で行を追加し、Key に LSApplicationQueriesSchemes を入力
  6. Type を Array に変更
  7. LSApplicationQueriesSchemes の右の + で行を追加し、mobage-client-${CFBundleIdentifier} を入力 

Xcode 7.1 より、NSAppTransportSecurity は補完が効くようになりました。

  • App Transport Security Settings
  • Allow Arbitrary Loads
  • Exception Domains

などのkeyになっていますので「App」等と入力すれば補完されるようになってます。

※ LSApplicationQueriesSchemes はまだ対応していないようです。

SafariServices.framework の必須化

Shell App SDK 1.4.1 以降では、SafariServices.framework のインポートが必須になりました。Link Binary with Librariesより、SafariServices.framework を Optionalで追加する必要があります。

更新履歴

  • 2015/12/18
    • 新規作成
 

 

 

 

PREVIOUS

Shell App SDK for iOS 開発ガイド概要

NEXT

新規プロジェクトの作成による Shell App SDK for iOS の組み込み