iOS UIフレームワーク

iOS UIフレームワーク

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


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

前提条件

  • Xcode IDE 26.0(最新のSDKバージョンに必要)
  • iOS 15以上
  • CocoaPods
Notes
メモ。
  1. MacにApple Silicon(M1、M2など)が搭載されている場合、Xcodeのシミュレーター対応は現在Rosettaの実行先でのみ利用できるため、Rosettaを有効にしてXcodeを実行することをお勧めします。
  2. 互換性を確保し、最新機能を利用するため、最新のSDKバージョンを使用することをお勧めします。CocoaPodsでは、初期設定で最新の安定版がインストールされます。特定のバージョンまたは以前のバージョンを使用するには、Podfileで明示的に指定してください。

    対応しているSDKバージョンと互換性のあるXcodeバージョンの一覧については、こちらを参照してください。
ZohoへのiOSアプリの登録

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

  1. 左側のペインで[モバイル]をクリックします。
  2. UIフレームワークを設定する対象のiOSアプリの行をクリックします。右側に[ユーザー向け - SDK]ペインが開きます。

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

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

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

ユーザーアプリへのiOS UIフレームワークのインストール

  1. Podを使用してZoho Creator SDKをインストールします。
    1. PodfileにPod仕様を追加します。
      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 Configuration

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' // enter the accounts URL of your respective DC. For eg: EU users use 'https://accounts.zoho.eu'.
ZohoAuth.initWithClientID(clientID, clientSecret: clientSecret, scope: scope, urlScheme: urlScheme, mainWindow: window, accountsURL: accountsUrl)

// To verify if the app is already logged in

ZohoAuth.getOauth2Token {
(token, error) in
if token ==
nil {
// Not logged in
self.showLoginScreen()
} else {
// App logged-in already.
// Ensure to use the following line of code in your iOS app before you utilize any of Creator SDK's methods
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') // enter the creator URL of your respective data center (DC). For eg: EU users must use 'https://creator.zoho.eu'
}
func handleBrowserURL(url: URL) {
// Get call back here whenever an openURL cannot be opened inside the application by the UI SDK
}
func openURL(for openURLTasks: [OpenUrlTask]) {
// Get Call back こちら when openurl have query string 'zc_MobileSDK_HandleOpenURL=true'.
// eg, https://app.zohocreator.com/appOwner/app-name/#Form:Test_Form?zc_MobileSDK_HandleOpenURL=true
}
}

iOSアプリにZohoログインを追加するコード。
func showLoginScreen() {
ZohoAuth.presentZohoSign( in: {
(token, error) in
if token !=
nil {
// success login
// Ensure to use the following line of code in your iOS app before you utilize any of Creator SDK's methods
Creator.configure(delegate: self)
}
})
}

Zohoからのログアウトを実装するコード。
func logout() {
ZohoAuth.revokeAccessToken {
(error) in
if error ==
nil {
//Logout Successfully
}
else {
//Error Occurred
}
}
}
  • ZCAppInfo.plistに次のキーの値を追加します。UIフレームワークで各サービスが使用されるため、Appleのプライバシー要件に準拠するには、これらのパラメーターが必須です。
    'NSCameraUsageDescription'、'NSContactsUsageDescription'、'NSLocationWhenInUseUsageDescription'、'NSMicrophoneUsageDescription'、'NSPhotoLibraryUsageDescription'、および'NSPhotoLibraryAddUsageDescription'
  • FAQ

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

    参考情報

    1. サンプルコードスニペットについては、サンプルページを参照してください。
    2. Mobile SDK for iOSについて理解を深めるにはこちらからサンプルアプリケーションをお試しください。
    3. 各種SDKメソッドの詳細についてはiOS SDKドキュメントを参照してください。
    4. iOSのプッシュ通知を設定するにはこちらを参照してください。

    ユーザー

    顧客