【问题标题】:Correct Documents Path with Sandboxed Mac application using MOAI使用 MOAI 使用 Sandboxed Mac 应用程序更正文档路径
【发布时间】:2013-12-19 17:34:18
【问题描述】:

我们有一个在 SFML 上下文中加载的 Mac 桌面 Moai 应用程序。应用程序本身已正确沙盒化,因为在我们的主机中它正在返回 ~/Library/Containers 中的路径:

NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

但是,当我们打印出 MoaiEnvironment.documentDirectory 时,它仍然返回路径 ~/Documents。查看 Moai 库,它似乎使用完全相同的代码设置路径:

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

我们如何确保 Moai 二进制文件也设置为返回沙盒路径?

【问题讨论】:

    标签: objective-c macos lua moai


    【解决方案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()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-31
      • 2020-10-27
      • 2017-09-19
      • 2020-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多