Zoom Meeting SDKのiOS版のサンプルプロジェクトを実行する

Zoom Meeting SDKのiOS版のサンプルプロジェクトを実行する手順を説明します。

(1)Zoom Meeting SDKのiOS版をダウンロードする

Zoom Meeting SDKのiOS版をダウンロードします。

SDKのダウンロード方法がわからない場合は「はじめての Zoom Meeting SDK – 準備編 – Qiita」を参考にしてください。

今回は現在の最新版である「v5.14.0.7320」をダウンロードします。


ダウンロードが完了したら、ダウンロードした添付ファイルを展開します。

ついでに、「App Credentials」の「SDK Key」と「SDK Secret」を控えておきます。

(2)Xcodeで実装する

公式ドキュメントを見ながら作業を進めていきます。

展開した「zoom-sdk-ios-5.14.0.7320」フォルダーを開きます。
「MobileRTCSample」フォルダーの中にある「MobileRTCSample.xcodeproj」をXcodeで開きます。

JWTを入力する

AppDelegate.hファイルを開きます。

kSDKDomainの値を「https://zoom.us」にします。

KjwtTokenの値にJWTの値を入力します。
JWTがわからない場合は、JWTを簡単に生成できるページを作成しましたのでご利用ください。

//#define KjwtToken    @""
//#define kSDKDomain   @""
#define KjwtToken    @"ey ... FQ"
#define kSDKDomain   @"https://zoom.us"

表示名を入力する

MainViewController.hを開きます。
kSDKUserNameの値に表示名を入力します。

//#define kSDKUserName    @""
#define kSDKUserName    @"表示名"

プレースホルダーの入力

ここで、公式ドキュメントではビルドして実行すると書かれていますが、ビルドするとエラーになります。
エラーになる部分を修正します。

SDKInitPresenter.mを開きます。
context.appGroupIdの「Group ID」に適当な値を入力します。

//    context.appGroupId = Group ID;
    context.appGroupId = @"Group ID";

SampleHandler.mmを開きます。
self.screenShareService.appGroupの「Group ID」に適当な値を入力します。

//        self.screenShareService.appGroup = Group ID;
        self.screenShareService.appGroup = @"<#Group ID#>";

AppDelegate.mを開きます。
「Your URL scheme」に適当な値を入力します。

//    if ([[url scheme] isEqualToString:Your URL scheme] && [self isSSOLoginURL:url]) {
    if ([[url scheme] isEqualToString:@"Your URL scheme"] && [self isSSOLoginURL:url]) {

これで、ビルドができるようになりました。

プロジェクトの構成

プロジェクトのTARGETSの「MobileRTCSample」を選択し、「Singing & Capabilities」を選択します。

「Singing」を設定します。
「Bundle Identifier」は「com.example.MobileRTCSample」にしました。

プロジェクトのTARGETSの「MobileRTCSampleScreenShare」を選択し、「Singing & Capabilities」を選択します。

「Singing」を設定します。
「Bundle Identifier」は「com.example.MobileRTCSample.ScreenShare」にしました。

プロジェクトのTARGETSの「MobileRTCSample」を選択し、「General」を選択します。
「Minimum Deployments」をiOS「8.0」から「11.0」に変更します。

実行

Xcodeの実行ボタンを押します。

プロジェクトが正しく設定されていれば、アプリを実行できます。

Zoom SDKのサンプルアプリを実行するためにJWTを作成する

Zoom SDKのサンプルアプリを実行するためにJWTを簡単に作成します。

関連記事:Zoom Meeting SDKのiOS版のサンプルプロジェクトを実行する

使い方

  1. Zoom Marketplaceから「Meeting SDK」のアプリを選択します。
  2. 「App Credentials」を選択します。
  3. 「SDK Key」と「SDK Secret」をコピーし、入力欄に貼り付けます。
  4. 「Generate」ボタンを押すとJWTが作成されます。

SDK credentialsの入力

:

:

生成されたJWT

:


Xcode 14.3でArchiveがエラーになる問題の対策

Xcodeを14.3に更新したらArchiveがエラーになりました。

Command PhaseScriptExecution failed with a nonzero exit code

ログを見ると、このあたりでエラーになっているようです。

building file list ... rsync: link_stat "/sers/yamamoto/myapp/ios/MyApp/../../../IntermediateBuildFilesPath/UninstalledProducts/iphoneos/FLAnimatedImage.framework" failed: No such file or directory (2)

Upgrade from Xcode 14.2 to 14.3 rsync: link_stat failed: No such file or directory (2) for pods that were working earlier. · Issue #11808 · CocoaPods/CocoaPods」に書かれている次の方法で回避できます。

Workaround is to update all the generated ...-frameworks.sh files to add the -f flag to the call to readlink. In other words, replace
source="$(readlink "${source}")"
with
source="$(readlink -f "${source}")"

This is my first time contributing to CocoaPods though, so take it with a grain of salt!

XcodeでPods-XXXX-frameworks.shを開いて、

source="$(readlink "${source}")"

の行を

source="$(readlink -f "${source}")"

に置換します。

もう一度Archieveすると、今度はエラーにならず実行できました。

追記

この問題はCocoaPods 1.12.1 (2023-04-18)で修正されました。(参考
CocoaPodsを1.12.1に更新すると問題は発生しなくなりました。

Xcodeで古いバージョンのiOSをシミュレーターを追加する方法

  1. Xcodeを開きます。
  2. メニューバーから「Xcode」を選択し、「Preferences」をクリックします。
  3. 「Components」タブをクリックします。
  4. 「Simulator」の横にある「+」アイコンをクリックします。
  5. 追加したいバージョンのiOSシミュレーターを選択します。
  6. 「Download」をクリックします。
    ダウンロードが完了すると、シミュレーターが「Installed」のリストに追加されます。

以上で、Xcodeに古いバージョンのiOSシミュレーターを追加できます。