iOS UIフレームワーク

iOS UIフレームワーク

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

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

コアフレームワークの機能に加えて、UIフレームワークでは、Creatorアプリケーション内のコンポーネント向けに事前定義済みのビューコントローラーが提供されます。これにより、Creatorアプリのフォームレポート、およびページをiOSアプリに直接組み込み、Creatorアプリのデータを操作できるカスタムUIを構築できます。

前提条件

  • 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アプリの登録

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

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

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

  4. これにより、Creatorアプリケーションと連携するiOSアプリ用のClient ID、Client SecretPortal ID、RedirectURIが生成されます。

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

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

  1. Podを使用してZoho Creator SDKをインストールします。
    Podfileにpod specを追加します。
    target 'Demo' do
    use_frameworks!
    pod 'ZohoPortalAuth'
    pod 'ZCUIFramework'
    end
    post_install do |installer|
    installer.generated_projects.each do |project|
    project.targets.each do |target|
    target.build_configurations.each do |config|
    config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
    config.build_settings['IPHONE_DEPLOYMENT_TARGET'] = '13.0'
    end
    end
    end
    end
  2. Objective-Cブリッジングヘッダーに以下を追加します。
     #インポート <ZohoPortalAuthKit/ZohoPortalAuth.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)
}
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' //enter the accounts URL of your respective DC. For eg: EU users use 'https://accounts.zohoportal.eu'.
ZohoPortalAuth.initWithClientID(clientID, clientSecret: clientSecret, portalID: portalId, scope: scope, urlScheme: urlScheme, mainWindow: self.window!, accountsPortalURL: accountsUrl)

// To verify if the app is already logged in

ZohoPortalAuth.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 _ = ZohoPortalAuth.handleURL(context.url,
sourceApplication: context.options.sourceApplication,
annotation: context.options.annotation)
}
}
}

拡張機能 SceneDelegate: ZCUIServiceDelegate {
func oAuthToken(with completion: @escaping AccessTokenCompletion) {
ZohoPortalAuth.getOauth2Token {
(token, error) in
completion(token, error)
}
}
func openURL(for openURLTasks: [OpenUrlTask]) {
// Get Call back こちら when openurl have query string 'zc_MobileSDK_HandleOpenURL=true'
}
}

iOSアプリでZoho Portalログインを有効にするためのコード。
 func showLoginScreen() {
 ZohoPortalAuth.presentZohoPortalSign( in: {
(token, error) in
if token !=
nil {
//login success
}
})
}

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

    よくある質問

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

    参考情報

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

    ユーザー

    顧客