はじめに
要件
- Xcode 12.0以上
- CocoaPods v1.10.0
- サポートされているiOSバージョン:
- iOS 14以上
- Helpshift SDKのiOSサポートポリシーの詳細については、こちらの記事を参照してください。
CocoaPodsを使用した自動統合
プロジェクトでSDK X v10.4.1の使用を開始するには、次の行をPodfileに追加します。
pod 'HelpshiftX', '10.4.1'
そして、pod installまたはpod updateを実行してCocoaPodsの依存関係を更新します。
これで、「アプリ内でHelpshiftを初期化する」に進むことができます。
Swift Package Managerを使用した自動統合
SPMプロジェクトでHelpshift v10.4.1を使用するには、プロジェクトの「パッケージの依存関係」セクションに以下のパッケージURLを追加します
https://github.com/helpshift/HelpshiftX
バージョンのルールについては「Exact」または「Up to Next Minor」のいずれかを使用し、Helpshift SDK Xのメジャーバージョンがリリースされるタイミングでバージョン番号を手動で更新することをお勧めします。
これで、「アプリ内でHelpshiftを初期化する」に進むことができます。
手動での統合
最新のSDKのzipファイルを入手する
最新のHelpshift iOS SDKをダウンロードします。
このzipファイルには、以下のものが含まれています。
| HelpshiftX.xcframework | HelpshiftXのフレームワークです |
| NOTICE.txt | サードパーティ製コードのライセンス情報です。 |
SDK Xの非ビットコードビルド
AppleがXcode 14からビットコードを非推奨としたため、SDK Xのビルドには10.3.0のリリース以降ビットコードは含まれていません。
最新の安定版SDKリリースをプロジェクトに追加する
- SDKを解凍し、Xcodeプロジェクトに
HelpshiftX.xcframeworkをドラッグ・アンド・ドロップします - アプリのターゲットの
Generalセクションで、HelpshiftX.xcframeworkがFramework, Libraries, and Embedded Contentセクション 内に存在し、オプションの"Embed"ドロップダウンでEmbed and Signオプションが選択されていることを確認します。
- 統合に成功すると、
Build Phasesは以下のようになります。
アプリケーションのInfo.plistファイルにNSPhotoLibraryUsageDescriptionキーを追加する
もしもアプリがこのアクセス許可を使用しない場合には、このキーと説明を追加する必要があります。このキーと説明のペアを追加していない場合、アプリがリジェクトされてしまう可能性があります。
NSPhotoLibraryUsageDescriptionの説明テキストは、次の通りです。「このアプリは、ヘルプやサポートを目的として、添付ファイルとして送信する画像をユーザーが手動で選択できるようにするために、写真ライブラリにアクセスする必要があります。」
以下の説明は、SDK X 10.2.0以下のバージョンにのみ適用されます。
(前述した)NSPhotoLibraryUsageDescriptionとともに、アプリケーションのInfo.plistファイルにNSCameraUsageDescriptionキーとNSMicrophoneUsageDescriptionキーも追加する
もしもアプリがこのアクセス許可を使用しない場合には、これらのキーと説明を追加する必要があります。これらのキーと説明のペアを追加していない場合、アプリがリジェクトされてしまう可能性があります。
NSCameraUsageDescriptionの説明テキストは、次の通りです。「このアプリは、ヘルプやサポートを目的として、添付ファイルとして送信される画像をユーザーがクリックできるようにするために、カメラにアクセスする必要があります。」
NSMicrophoneUsageDescriptionの説明テキストは、次の通りです。「このアプリは、ヘルプやサポートを目的として、添付ファイルとして送信される動画をユーザーが撮影して送信できるようにするために、マイクにアクセスする必要があります。」
これらはあくまでも説明の提案であることにご注意ください。同様のローカライズが必要な場合には、お問い合わせください。
Helpshiftの使用を開始する
これでHelpshiftがアプリに統合され、ユーザーに関する有意義なデータを収集する準備が整いました。
アプリでHelpshiftを初期化する
最初に、Helpshiftダッシュボードでアプリを作成します

選択した
PlatformにiOSを指定してアプリを作成します
Helpshiftは、登録済みの各種アプリを以下の2つのトークンの組み合わせ を用いて一意に識別します。
Platform ID | アプリ固有のプラットフォームID(ダッシュボード上のアプリのApp IdがプラットフォームIDです) |
Domain Name | これがあなたのHelpshiftドメイン名です。例: happyapps.helpshift.com |
これらの値を取得するには、以下の手順に従ってください。
- 自身のHelpshiftダッシュボードにアクセスする
Settings、SDKs (for Developers)の順に移動する- ドロップダウンから目的のアプリを選択する
- 「iOS」テーブルに記載されている2つのトークンをコピーする

installWithPlatformId:メソッドを呼び出してSDKを初期化します。
オプションで構成辞書をinstallWithPlatformId: APIに渡すことも可能です。サポートされている構成を確認するには、「SDKの構成」ページをご確認ください。
- Objective-C
- Swift
@import HelpshiftX;
...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
NSDictionary *config = @{} // Your config
[Helpshift installWithPlatformId:@"YOUR_APP_ID"
domain:@"YOUR_DOMAIN"
config:config];
...
return YES;
}
import HelpshiftX
...
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
...
let config = [String:String]() // Your config
Helpshift.install(withPlatformId: "YOUR_PLATFORM_ID", domain: "YOUR_DOMAIN", config: config)
...
return true
}
...
中国向けのアプリでHelpshiftを初期化する
中国リージョン向けにHelphift SDKを統合するには、特別なインストール設定キーであるisForChinaを使用する必要があります。
この設定キーはブーリアン値を受け入れます。中国リージョン向けのアプリでSDKを統合する場合には、trueを渡してください。指定がない場合のデフォルト値は、falseです。
AppDelegateクラスに、以下のコードを追加してください。
- Objective-C
- Swift
@import HelpshiftX;
...
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
NSDictionary *config = @{
...
@"isForChina" : @YES,
...
};
[Helpshift installWithPlatformId:@"YOUR_PLATFORM_ID" domain:@"YOUR_DOMAIN" config:config];
...
return YES;
}
import HelpshiftX
...
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
...
let config = [
...
"isForChina": true
...
]
Helpshift.install(withPlatformId: "YOUR_PLATFORM_ID", domain: "YOUR_DOMAIN", config: config)
...
return true
}
...
インストール呼び出しの配置
インストール呼び出しは、application:didFinishLaunchingWithOptions:以外の場所には配置しないでください
これを他の場所に配置すると、実行時の予期せぬ問題が引き起こされてしまう可能性があります。
SDKキーの検証に失敗した場合、Helpshiftのインストール呼び出しはInstallExceptionをスローします。