iOSユーザーインターフェースフレームワーク

iOSユーザーインターフェースフレームワーク

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。


Notesこのヘルプページは Creator 6 をご利用のユーザー向けです。旧バージョン(Creator 5)をご利用の場合は、こちらをクリックしてください。ご利用中のCreator のバージョンを確認してください。
UI フレームワークは、コアフレームワークの機能に加えて、Creator アプリケーション内のコンポーネント向けにあらかじめ定義されたビューコントローラーを提供します。これにより、 フォーム レポート ページ を Creator アプリから直接 iOS アプリに組み込み、Creator アプリ内のデータを操作できるカスタム UI を構築できます。

前提条件

  • Xcode IDE 26.0(最新 SDK バージョン 4.1.1-beta26.0 に必須)
  • iOS 15 以上
  • CocoaPods
Notes
メモ:
  1. Mac が Apple シリコン(M1、M2 など)搭載の場合、Rosetta を有効にして Xcode を実行することを推奨します。現在、Xcode のシミュレーターは Rosetta のデスティネーション経由でのみサポートされています。
  2. 互換性を確保し最新機能を利用するため、最新の SDK バージョンを使用することを推奨します。CocoaPods はデフォルトで最新の安定版をインストールします。特定のバージョンや以前のバージョンを使用する場合は、Podfile で明示的に指定してください。

    サポートされている SDK バージョンと対応する Xcode バージョンの一覧は、こちらを参照してください。
iOS アプリを Zoho に登録する

iOS アプリを Zoho に登録すると、クライアント IDクライアントシークレット の組み合わせが生成されます。これらは iOS アプリを Creator アプリケーションと連携させるために必要です。iOS アプリを Zoho に登録するには、次の操作を行います。

  1. 左側ペインで モバイル をクリックします。
  2. UI フレームワークを設定したい iOS アプリの行をクリックします。右側に For User - SDK ペインが表示されます。

  3. Generate Client をクリックします。

  4. これにより、Creator アプリケーションと連携させたい iOS アプリ用のクライアント IDクライアントシークレットリダイレクト URI が生成されます。

  5. ZCAppInfo.plist ファイルをダウンロードし、プロジェクトに追加します。

ユーザーアプリ向け iOS UI フレームワークをインストールする

  1. Pod を使用して Zoho Creator SDK をインストールします。
    1. Podfile に次の pod spec を追加します。
      target 'Demo' do
      use_frameworks!
      pod 'ZohoAuth'
      pod 'ZCUIFramework'
      end
      project.targets.each do |target|
      target.build_configurations.each do |config|
      config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
      end
      end
      end
      end
    2. Podfile を含むフォルダーをターミナルで開き、次を実行します。
      $ pod install
  2. Objective-C ブリッジングヘッダーに次を追加します。
    #インポート <ZohoAuthKit/ZohoAuth.h> 
  3. Zoho Creator の iOS UI フレームワークを使用するには、ZCUIFramework をインポートします。
    インポート ZCUIFramework
  4. プロジェクトを次のコードで設定します(たとえば SceneDelegate ファイル内)。
    class SceneDelegate: UIResponder, UIWindowSceneDelegate {
    var window: UIWindow?

    func scene(
    _ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
    if let windowScene = scene as? UIWindowScene {
    let window = UIWindow(windowScene: windowScene)
    }

    // ZohoAuth の設定

    let scope =
    ['aaaserver.profile.READ','zohocontacts.userphoto.READ','ZohoContacts.contactapi.READ','ZohoCreator.meta.CREATE','ZohoCreator.meta.READ','ZohoCreator.meta.UPDATE','ZohoCreator.meta.DELETE','ZohoCreator.data.CREATE','ZohoCreator.data.READ','ZohoCreator.data.UPDATE','ZohoCreator.data.DELETE','Stratus.stratusop.READ','ZohoCRM.modules.READ','ZohoCRM.users.READ']
    let clientID = '<Your Client ID>'
    let clientSecret =
    '<Your Client Secret>'
    let urlScheme =
    '<Your Url Scheme>'
    let accountsUrl =
    'https://accounts.zoho.com' // ご利用のデータセンター (DC) に対応するアカウント URL を入力します。例: EU データセンターを利用する場合は 'https://accounts.zoho.eu' を使用します。
    ZohoAuth.initWithClientID(clientID, clientSecret: clientSecret, scope: scope, urlScheme: urlScheme, mainWindow: window, accountsURL: accountsUrl)

    // アプリがすでにログイン済みかどうかを確認

    ZohoAuth.getOauth2Token {
    (token, error) in
    if token ==
    nil {
    // 未ログイン
    self.showLoginScreen()
    } else {
    // アプリはすでにログイン済み
    // Creator SDK のメソッドを利用する前に、必ず次のコード行を iOS アプリ内で実行してください
    Creator.configure(uiDelegate: self)
    }
    }
    }

    func scene(
    _ scene: UIScene, openURLContexts URLContexts: Set <UIOpenURLContext> ) {
    if let context = URLContexts.first {
    let
    _ = ZohoAuth.handleURL(context.url,
    sourceApplication: context.options.sourceApplication,
    annotation: context.options.annotation)
    }
    }
    }

    拡張機能 SceneDelegate: ZCUIServiceDelegate {
    func oAuthToken(with completion: @escaping AccessTokenCompletion) {
    ZohoAuth.getOauth2Token {
    (token, error) in
    completion(token, error)
    }
    }

    func configuration() -> CreatorConfiguration {
    return CreatorConfiguration(creatorURL:
    'https://creator.zoho.com') // ご利用のデータセンター (DC) に対応する Creator URL を入力します。例: EU データセンターを利用する場合は 'https://creator.zoho.eu' を使用します。
    }
    func handleBrowserURL(url: URL) {
    // UI SDK によってアプリ内で openURL を開けない場合、ここでコールバックを受け取ります
    }
    func openURL(for openURLTasks: [OpenUrlTask]) {
    // openurl にクエリ文字列 'zc_MobileSDK_HandleOpenURL=true' が含まれている場合、ここでコールバックを受け取ります。
    // 例: https://app.zohocreator.com/appOwner/app-name/#Form:Test_Form?zc_MobileSDK_HandleOpenURL=true
    }
    }

    Zoho ログインを iOS アプリに追加するためのコード:
    func showLoginScreen() {
    ZohoAuth.presentZohoSign( in: {
    (token, error) in
    if token !=
    nil {
    // ログイン成功
    // Creator SDK のメソッドを使用する前に、必ず iOS アプリ内で次のコード行を使用してください
    Creator.configure(delegate: self)
    }
    })
    }

    Zoho からログアウトを実行するコード:
    func logout() {
    ZohoAuth.revokeAccessToken {
    (error) in
    if error ==
    nil {
    // ログアウトに成功しました
    }
    else {
    // エラーが発生しました
    }
    }
    }
  5. ZCAppInfo.plist に、次のキーの値を追加します。これらは UI フレームワークでそれぞれのサービスを使用しているため、Apple のプライバシーコンプライアンスにおいて必須のパラメーターです。
    'NSCameraUsageDescription', 'NSContactsUsageDescription', 'NSLocationWhenInUseUsageDescription', 'NSMicrophoneUsageDescription', 'NSPhotoLibraryUsageDescription' and 'NSPhotoLibraryAddUsageDescription'

FAQ

  1. M1 Mac を使用していますが、依存関係の追加時に問題が発生します。どうすればよいですか?
    続行するには、arch=x86_64 pod install コマンドを使用してください。

参考情報

  1. サンプルコードスニペットについては、examples ページを参照してください。
  2. モバイル SDK for iOS に慣れるには、サンプルアプリケーションをお試しください。 こちらからアクセスできます。
  3. 各種 SDK メソッドの詳細については、 iOS SDK ドキュメントを参照してください。
  4. iOS のプッシュ通知を設定するには、 こちらを参照してください。

ユーザー向け

顧客向け