iOS はじめに

このチュートリアルは、KudanAR を使用して iOS 上で拡張現実 (Augmented Reality、AR) プロジェクトをセットアップする方法を紹介します。

 

iOS 向け Kudan AR フレームワークのダウンロード

最初に、Kudan AR フレームワークが必要です。ダウンロード ページからダウンロードできます。

ios sdk download

iOS SDK のダウンロード

 

新規 Xcode プロジェクトの作成

いくつかのフィールドがありますが、[Product Name] と [Organization Identifier] は重要です。この 2 つのフィールドの入力値で [Bundle Identifier] が構成されます。この値は、API キーに関連付けられているバンドル ID と同じでなければなりません。これは、開発ライセンス キーを使用している場合は com.xlsoft.kudanar になります。

jpn ios new project

新規 Xcode プロジェクトの作成

 

Kudan AR フレームワークをプロジェクトにインポート

KudanAR.framework ファイルをプロジェクト フォルダーにコピーまたは移動します。次に、フォルダーからプロジェクト階層へファイルをドラッグ アンド ドロップするか、[File (ファイル)] メニューの [Add Files to “<Project>” (“<Project>” にファイルを追加)] をクリックしてファイルを追加して、プロジェクトにファイルをインポートします。

jpn ios import sdk

Kudan フレームワークをプロジェクトに追加

 

libc++ 標準ライブラリをプロジェクトに追加

libc++ ライブラリをプロジェクトにインポートします。プロジェクトのワークスペースを選択して、[General (全般)] タブの下部へスクロールし、[Linked Frameworks and Binaries (リンクされたフレームワークとバイナリー)] セクションにある小さな + アイコンをクリックします。そして、”libc++” を検索し、libc++.tbd ファイルを追加します。

libc++ をプロジェクトに追加

libc++ をプロジェクトに追加

 

ビットコードの無効化

この時点でプロジェクトをビルドすると、失敗し、次のエラー メッセージが表示されます。

Apple Mach-O Linker (ld) Error

ld: ‘/KudanAR.framework/KudanAR(KudanAR-arm64-master.o)’ does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

(ld: ‘<PathToProject>/KudanAR.framework/KudanAR(KudanAR-arm64-master.o)’ にはビットコードがありません。(Xcode の ENABLE_BITCODE 設定で) ビットコードを有効にしてリビルドするか、ベンダーから更新済みのライブラリを入手するか、またはこのターゲット (アーキテクチャー arm64) でビットコードを無効にする必要があります。

clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (呼び出しを確認するには -v を使用します)

これは、Kudan AR フレームワークはファット バイナリーをサポートしているためです。ビットコードを無効にするには、ワークスペースの [Build Settings (ビルド設定)] タブで [Build Options (ビルド オプション)] にスクロールして、[Enable Bitcode (ビットコードを有効にする)] を [No (いいえ)] に設定します。

ビットコードの無効化

ビットコードの無効化

 

Info.plist への追加

Info.plist key – アプリケーションの Info.plist はデータをどのように扱うかを記述したストリングを含む NSCameraUsageDescription key を含む必要があります。

“Privacy – Camera Usage Description”

 

Property Declaration の追加(Objective-C のみ)

Objective-C Declaration に AppDelegate.h を追加します。

AppDelegate.h
@property (strong, nonatomic) UIWindow *window;

 

ARAPIKey クラスを AppDelegate にインポート

プロジェクトで AppDelegate を開き、次のように変更します。

AppDelegate.swiftAppDelegate.m
import UIKit
import KudanAR

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        ARAPIKey.sharedInstance().setAPIKey("PUT_API_KEY_HERE")
        
        return true
    }
    // ...略...
}
#import "AppDelegate.h"
#import <KudanAR/KudanAR.h>

@interface AppDelegate ()
@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [[ARAPIKey sharedInstance] setAPIKey:@"PUT_API_KEY_HERE"];
    
    return YES;
}
// ...略...

@end

対応するバンドル ID の API キーを検索します。

  • com.xlsoft.kudanar 開発バンドル ID を使用している場合は、開発ライセンス キーを使用できます。このキーは App Store へのアプリのアップロードには使用できません。アプリを公開するには、無料のキーを申請するか、ライセンスを購入する必要があります。

ビュー コントローラーの設定

ビュー コントローラーを ARCameraViewController のサブクラスに変更します。

ViewController.swiftViewController.h
import UIKit
import KudanAR

class ViewController: ARCameraViewController {

}
#import <KudanAR/KudanAR.h>

@interface ViewController : ARCameraViewController

@end

これにより、ビュー コントローラーで setupContent メソッドを実装できます。setupContent メソッドは、ARCameraViewController が最初にロードするときに呼び出されます。次に例を示します。

ViewController.swiftViewController.m
import UIKit
import KudanAR

class ViewController: ARCameraViewController {

    override func setupContent() {
        // ここに設定コードを記述
    }
    // ...略...
}
#import "ViewController.h"

@interface ViewController ()
@end

@implementation ViewController

- (void)setupContent {
    // ここに設定コードを記述
}
// ...略...
@end
上記のようにビュー コントローラーを変更したら、アプリをビルドして実行できます。画面にカメラのストリームが表示されるはずです。ただし、まだ何かを検出したり、トラッキングすることはできません。そのための変更は、次のチュートリアルで行います。

次のステップ

画像トラッカブルを設定して、画像を追加します。

マーカーの基礎