• 手引き
  • プラットフォーム
  • パートナー
  • English
  • TLC Tealium Learning Center Tealium Learning
    Community
  • Discussions & Ideas Dicussions & Ideas
  • Product Guides Product Guides
  • Knowledge Base Knowledge Base
  • Developer Docs Developer Docs
  • Education Education
  • TLC Blog TLC Blog
  • Support Desk Support Desk
  • CDH Customer Data Hub Customer Data Hub

目次

  • SwiftからObjective-Cを呼び出す
    • ブリッジヘッダー
  • Objective-CからSwiftを呼び出す
    • ヘルパークラス
    • リンク
IOS SWIFT

Objective-Cとの連携

Objective-CとSwiftの連携のためにブリッジヘッダーを作成する方法について説明します。

Objective-Cプロジェクトの場合でも、当社のネイティブSwiftライブラリを使用することをお勧めしますが、Objective-Cライブラリを使用する必要がある場合は、このドキュメントをご活用ください。

SwiftからObjective-Cを呼び出す

Objective-Cライブラリは、ブリッジヘッダーをプロジェクトに追加し、適切なヘッダーをインポートすることで、Swiftコードから簡単に呼び出すことができます。

ブリッジヘッダー

ブリッジヘッダーの作成方法は次のとおりです。

  1. Swiftプロジェクトで新しいファイルを作成します。ファイルの種類を選択するよう求められたら、[Objective-C File]を選択します。
  2. このファイルに”placeholder.m”などの一時的な名前を付けます。このファイルは後で削除します。
  3. [Finish]をクリックすると、Xcodeで、ブリッジヘッダーを作成するよう求められます(求められない場合は、プロジェクト内にブリッジヘッダーが既に存在する可能性があります)。[Create Bridging Header]をクリックして続行すると、Xcodeによって自動的に新しいヘッダーファイルが作成されます。
  4. プロジェクトからplaceholder.mファイルを削除し、<ProjectName>-Bridging-Header.hという新しいファイルを確認します。
  5. この新しいブリッジヘッダーに次のimportステートメントを追加します。

    @import TealiumIOS;

次に、以下のコードを使用して、SwiftからObjective-Cコードを呼び出します。

class TealiumHelper {
    func somefunc () {
        let tealConfig = TEALConfiguration.init(account: "ACCOUNT", profile: "PROFILE", environment: "ENVIRONMENT")
        let teal = Tealium.newInstance(forKey: "KEY", configuration: tealConfig)
        teal.trackView(withTitle: "SCREEN_NAME", dataSources: ["DATA":"VALUE"])
    }
}

Objective-CからSwiftを呼び出す

SwiftライブラリはObjective-Cから直接呼び出すことができません。コード内に必要な注釈が存在せず、多くの場合で、モジュールがNSObjectを継承せずにネイティブのSwiftデータ型を使用するためです。 ただし、中間のヘルパークラスを使用することで、Objective-CからSwiftライブラリを呼び出すことができます。

ヘルパークラス

  1. Objective-Cプロジェクトで新しいSwiftファイルを作成します。ブリッジヘッダーがまだ存在しない場合は、ブリッジヘッダーを追加するよう求められます。この指示に従います。新しいSwiftファイルに”TealiumHelper.swift”という名前を付けます。
  2. 新しいヘルパーを呼び出すのに必要なファイルに、新しいSwiftヘッダー(<ProjectName>-Swift.h)をインポートします。

    #import "ProjectName-Swift.h"

ヘルパーファイル内のメソッドが、Objective-Cコードで利用できるようになります。ヘルパーはシングルトンにすることをお勧めします。

#import "TestSwiftBridge-Swift.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
	// instantiate the helper singleton
    TealiumHelper * help = [TealiumHelper sharedInstance];
    // call the start method, which initializes the Tealium library
    [help start];
    // trigger a new event tracking call from objective-c
    [help track:@"this is from objective-c!" data:@{@"mydata":@"hello from obj-c"}];
    return YES;
}

リンク

  • TealiumHelperファイル(Objective-Cとの互換性あり)
モジュール
機能比較

 
  • モバイル
  • 始める
    • 概要
    • モバイルの概念
    • クライアントサイド
    • サーバーサイド
    • データレイヤー
    • 同意管理
    • イベントバッチ処理
    • ユーザーの位置情報とジオフェンシング
    • 機能比較
    • トラブルシューティング
  • Remote Commands
    • 概要
    • 仕組み
    • リモートコマンド
      • リモートコマンド:AppsFlyer
      • リモートコマンド:Braze
      • リモートコマンド:Contentsquare
      • リモートコマンド:Facebook
      • Firebase
      • リモートコマンド:Usabilla
  • Android (Java)
    • 概要
    • インストール
    • トラッキング
    • データレイヤー
    • データ管理
    • 同意管理
    • モジュールのリスト
      • Ad Identifierモジュール
      • Crash Reporterモジュール
      • Install Referrerモジュール
      • Lifecycle Trackingモジュール
      • Locationモジュール
      • Optimizely X Trackingモジュール
    • Android TV
    • Android Wear
    • APIリファレンス
      • ConsentManager
      • DataSources
      • LifeCycle
      • Tealium
      • Tealium.Config
      • TealiumLocation
    • リリースノート
  • Cordova
    • 概要
    • インストール
    • トラッキング
    • データ管理
    • モジュールのリスト
      • Ad Identifierモジュール
      • Crash Reporterモジュール
      • Install Referrerモジュール
    • APIリファレンス
    • リリースノート
  • Flutter
    • 概要
    • インストール
    • トラッキング
    • 同意管理
    • データ管理
    • APIリファレンス
    • リリースノート
  • iOS (Objective-C)
    • 概要
    • インストール
    • トラッキング
    • データレイヤー
    • データ管理
    • 同意管理
    • Tag Management
    • モジュールのリスト
      • Lifecycle Trackingモジュール
      • Optimizely X Trackingモジュール
    • tvOS
    • watchOS
    • APIリファレンス
    • リリースノート
  • iOS (Swift)
    • 概要
    • インストール
    • トラッキング
    • データレイヤー
    • データ管理
    • アイデンティティの解決
    • アプリ拡張機能
    • 同意管理
    • モジュール
    • モジュールのリスト
      • AppDataモジュール
      • Attributionモジュール
      • AutoTrackingモジュール
      • Collectモジュール
      • Connectivityモジュール
      • CrashReporterモジュール
      • DataSourceモジュール
      • DefaultStorageモジュール
      • Delegateモジュール
      • DeviceDataモジュール
      • DispatchQueueモジュール
      • FileStorageモジュール
      • Lifecycleモジュール
      • Locationモジュール
      • Loggerモジュール
      • PersistentDataモジュール
      • RemoteCommandsモジュール
      • TagManagementモジュール
      • VisitorServiceモジュール
      • VolatileDataモジュール
    • Objective-Cとの連携
    • 機能比較
    • APIリファレンス
      • TealiumConfig
      • TealiumConsentCategories
      • TealiumConsentManagerDelegate
      • TealiumConsentManager
      • TealiumInstanceManager
      • TealiumPersistentData
      • TealiumVolatileData
      • Tealium
    • リリースノート
  • React Native
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
    • リリースノート
  • Xamarin
    • 概要
    • インストール
    • トラッキング
    • データ管理
    • 同意管理
    • APIリファレンス
    • リリースノート
  • ウェブ
  • AMP
    • 概要
    • インストール
    • トラッキング
    • データレイヤー
  • Angular
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
  • JavaScript (Web)
    • 概要
    • インストール
    • トラッキング
    • データレイヤー
    • ユニバーサルデータオブジェクト(utag_data)
    • ユニバーサルタグ(utag.js)
    • データレイヤーオブジェクト(b)
    • 単一ページアプリケーション
    • 設定
    • デバッグ
    • APIリファレンス
    • リリースノート
  • サーバーサイド
  • C#
    • 概要
    • インストール
    • トラッキング
    • データレイヤー
    • APIリファレンス
    • リリースノート
  • HTTP API
    • 概要
    • エンドポイント
    • データレイヤー
  • Java
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
    • リリースノート
  • Node
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
  • Python
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
  • Roku
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
  • Ruby
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス
  • Unity
    • 概要
    • インストール
    • トラッキング
    • APIリファレンス

このページはお役にたちましたでしょうか?

最終更新日 :: 2020年August月27日       ご意見有難うございます。
  • 手引き
  • プラットフォーム
  • パートナー
  • モバイル
  • 始める
  • Remote Commands
  • Android (Java)
  • Cordova
  • Flutter
  • iOS (Objective-C)
  • iOS (Swift)
  • React Native
  • Xamarin
  • ウェブ
  • AMP
  • Angular
  • JavaScript (Web)
  • サーバーサイド
  • C#
  • HTTP API
  • Java
  • Node
  • Python
  • Roku
  • Ruby
  • Unity