iOS はじめに

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

 

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

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

Download the iOS SDK

iOS SDK のダウンロード

 

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

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

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

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

 

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

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

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

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 (いいえ)] に設定します。

ビットコードの無効化

ビットコードの無効化

 

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

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

AppDelegate.mAppDelegate.swift
#import "AppDelegate.h"
#import <KudanAR/ARAPIKey.h>

@interface AppDelegate ()
@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
    [[ARAPIKey sharedInstance] setAPIKey:@<Put API Key here>];
  
    return YES;
}

@end
import UIKit
import KudanAR.ARAPIKey

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
    
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

        ARAPIKey.sharedInstance().setAPIKey("<Put API Key here>")
        
        return true
    }

}

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

  • 独自のバンドル ID を使用している場合、これは Web サイトで生成したキーです。
  • com.xlsoft.kudanar 開発バンドル ID を使用している場合は、開発ライセンス キーを使用できます。このキーは透かしを表示しませんが、App Store へのアプリのアップロードには使用できません。アプリを公開するには、上記の Web サイトで無料のキーを生成するか、ライセンスを購入する必要があります。

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

ビュー コントローラーが ARCameraViewController のサブクラスであることを確認します。

ViewController.hViewController.swift
#import <KudanAR/KudanAR.h>

@interface ViewController : ARCameraViewController

@end

}
import UIKit
import KudanAR

class ViewController: ARCameraViewController {

}

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

ViewController.mViewController.swift
#import "ViewController.h"

@interface ViewController ()
@end

@implementation ViewController

- (void)setupContent
{   
  // ここに設定コードを記述
}

@end
import UIKit
import KudanAR

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

次のステップ

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

マーカーの基礎