Unity DLL的iOS捆绑包错误

时间:2013-09-24 09:53:30

标签: ios

我正在尝试创建一个小dll,以便我可以从Unity应用程序中读取粘贴板。

我有以下代码:

#define MakeStringCopy( _x_ ) ( _x_ != NULL && [_x_ isKindOfClass:[NSString class]] ) ? strdup( [_x_ UTF8String] ) : NULL

#define GetStringParam( _x_ ) ( _x_ != NULL ) ? [NSString stringWithUTF8String:_x_] : [NSString stringWithUTF8String:""]



    //[UIPasteboard generalPasteboard].string = @"the text to copy";
    //NSString *whatsOnThePasteboard = [UIPasteboard generalPasteboard].string;

    //send clipboard to unity
    extern "C" const char * _importString()
    {
        NSString *result = [UIPasteboard generalPasteboard].string;
        return MakeStringCopy(result);
    }

    //get clipboard from unity
    extern "C" void _exportString(const char * eString)
    {
        [UIPasteboard generalPasteboard].string = GetStringParam(eString);//@"the text to copy";
    }

但是我对UIPasteboard有以下错误

  

使用未声明的'UIPasteboard';你的意思是   'NSPasteboard'?

我查看了所需的框架,但无法看到UIKit.framework将其添加到我的包中。所以我的问题是:

如果我将其更改为NSPasteboard,它仍然可以在我的iPad上按预期工作吗?从我读到的UIpasteboard是针对iOS设备和NSPasteboard是针对OSX设备,还是我完全错误的假设?

1 个答案:

答案 0 :(得分:0)

不,iOS需要UIPasteboardNSPasteboard适用于OSX。 如果您已下载iOS SDK UIKit.framework,请访问:

  

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/Frameworks

请记住在路径中更改SDK版本。