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

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

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

Notesこのヘルプページは Creator 6 をご利用のユーザー向けです。旧バージョン(Creator 5)をご利用の場合は、こちらをクリックしてください。ご利用中のCreator のバージョンを確認することもできます。

コアフレームワークの機能に加えて、UI フレームワークでは Creator アプリケーション内のコンポーネント向けに、あらかじめ定義された表示コントローラーが提供されています。これにより、 フォーム レポート ページ を Creator アプリから直接 iOS アプリに組み込み、Creator アプリ内のデータと連携できる カスタム UI を作成できます。

前提条件

Notesメモ: Mac が Apple Silicon(M1、M2 など)搭載の場合は、Rosetta を有効にして Xcode を実行することを推奨します。

Apple Silicon 搭載 Mac(M1、M2 チップなど)で Xcode 16.0 を使用する場合、現在は Rosetta を使用した Simulator 宛先での実行のみをサポートしています(Intel Mac での実行は対象外です)。

iOS アプリを Zoho に登録する

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

  1. 左側ペインの モバイル セクションに移動し、SDK タブをクリックします。
  2. UI フレームワークを設定したい iOS アプリの対象行をクリックします。右側に 顧客向け - SDK ペインが表示されます。

  3. クライアントを生成 をクリックします。

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

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

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

  1. Pod を使用して Zoho Creator SDK をインストールします。
    Pod ファイルに次の pod spec を追加します。
    target 'デモ' do
    use_frameworks!
    pod 'ZohoPortalAuth'
    pod 'ZCUIFramework'
    end
    post_install do |installer|
    installer。generated_projects。each do |プロジェクト|
    プロジェクト。targets。each do |target|
    target。build_configurations。each do |config|
    config。build_settings['CODE_SIGNING_ALLOWED'] = 'いいえ'
    config。build_settings['IPHONE_DEPLOYMENT_TARGET'] = '13。0'
    end
    end
    end
    end
  2. Objective-C ブリッジングヘッダーに次の行を追加します。
     #import <ZohoPortalAuthKit/ZohoPortalAuth.h> 
  3. Zoho Creator の iOS UI フレームワークを使用するために、ZCUIFramework をインポートします。
    import ZCUIFramework
  4. プロジェクトを次のコードで設定します(例: SceneDelegate ファイル内)。
    クラス 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)
       }
       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 portalId = '<Your Portal id>'
       let urlScheme = '<Your Url Scheme>'
       let accountsUrl = 'https://accounts.zohoportal.com' //それぞれの DC に対応するアカウント URL を入力します。例: EU ユーザーは 'https://accounts.zohoportal.eu'.
       ZohoPortalAuth.initWithClientID(clientID, clientSecret: clientSecret, portalID: portalId, scope: scope, urlScheme: urlScheme, mainWindow: self.window!, accountsPortalURL: accountsUrl)
    
       // アプリがすでにログイン済みかどうかを認証するには
    
       ZohoPortalAuth.getOauth2Token {
        (token, error) in
        if token == nil {
         // 未ログイン
         self.showLoginScreen()
        } else {
         // アプリはすでにログイン済みです。
         // Creator SDK のメソッドを利用する前に、必ず iOS アプリ内で次のコードブロックを使用してください
         Creator.設定する(uiDelegate: self)
        }
       }
      }
    
     func scene(_ scene: UIScene, openURLContexts URLContexts: Set <UIOpenURLContext> ) {
      if let context = URLContexts.first {
       let _ = ZohoPortalAuth.handleURL(context.url,
        sourceApplication: context.options.sourceApplication,
        annotation: context.options.annotation)
      }
     }
    }
    
    extension SceneDelegate: ZCUIServiceDelegate {
     func oAuthToken(with completion: @escaping AccessTokenCompletion) {
      ZohoPortalAuth.getOauth2Token {
       (token, error) in
       completion(token, error)
      }
     }
     func openURL(for openURLTasks: [OpenUrlTask]) {
      // openurl にクエリ文字列 'zc_MobileSDK_HandleOpenURL=true' が含まれている場合、ここでコールバックを受け取ります
     }
    }

    Zoho ポータルへのログインを iOS アプリで有効にするコード:
     func showLoginScreen() {
     ZohoPortalAuth.presentZohoPortalSign( in: {
      (token, error) in
      if token != nil {
       //ログイン完了
      }
     })
    }

    Zoho ポータルからログアウトするためのコード:
    func logout() {
     ZohoPortalAuth.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 コマンドを使用してください。

参考情報

  • 各種 SDK メソッドの詳細については、iOS SDK ドキュメントを参照してください。
  • サンプルアプリケーションを試して、iOS 向けモバイル SDK の使い方に慣れてください。サンプルアプリケーションはこちらから利用できます。
  • iOS 向けプッシュ通知を設定するには、こちらを参照してください。

ユーザー

顧客