1

SFML コンテキスト内にロードする Mac デスクトップ Moai アプリがあります。これはホストで~/Library/Containersのパスを返すため、アプリ自体は正しくサンドボックス化されています。

NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

ただし、MoaiEnvironment.documentDirectory を出力すると、まだパス ~/Documents が返されます。Moai lib を見ると、まったく同じコードでパスを設定しているように見えます。

environment.SetValue ( MOAI_ENV_documentDirectory,  [[ NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory, NSUserDomainMask, YES ) objectAtIndex:0 ] UTF8String ]);

Moai バイナリがサンドボックス化されたパスを返すように設定するにはどうすればよいですか?

4

1 に答える 1

1

moaiext-ios、moaiext-osx に似た単純な AKU 拡張機能を作成するだけになりました。

// aku/AKU-macosx.h

#ifndef AKU_MACOSX_H
#define AKU_MACOSX_H

#import <Foundation/Foundation.h>

void AKUMacOSXInit ();

#endif

// aku/AKU-macosx.mm

#import <aku/AKU-macosx.h>

#include <moaicore/moaicore.h>

void AKUMacOSXInit () {

    MOAIEnvironment& environment = MOAIEnvironment::Get ();

    environment.SetValue ( MOAI_ENV_cacheDirectory, [ [ NSSearchPathForDirectoriesInDomains ( NSCachesDirectory, NSUserDomainMask, YES ) objectAtIndex:0 ] UTF8String ]);
    environment.SetValue ( MOAI_ENV_documentDirectory, [ [ NSSearchPathForDirectoriesInDomains ( NSDocumentDirectory, NSUserDomainMask, YES ) objectAtIndex:0 ] UTF8String ]);

}

このヘッダーをホストにインポートして、 を呼び出すだけAKUMacOSXInit()です。

于 2013-12-20T17:26:10.450 に答える