将Unity App构建到iPad

时间:2013-09-24 11:11:37

标签: ios xcode dll unity3d

我正在尝试构建我的简单应用程序以在iPad上运行。我的应用程序正在尝试从板载的pastebin读取,其中有一些数据通过第二个应用程序发送给它。

但是,在xcode上构建应用程序时,我遇到以下链接器错误:

  

架构armv7的未定义符号:“_ importString”,   引自:         RegisterMonoModules.o中的RegisterMonoModules()“ _exportString”,引自:         RegisterMonoModules.o中的RegisterMonoModules()ld:未找到架构armv7 clang的符号:错误:链接器命令失败   退出代码1(使用-v查看调用)

现在我知道它正在查看我的导入和导出字符串,但是没有任何东西以双下划线开头。看一下我在XCode中写的dll文件:

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


//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";
}

我在Unity应用程序中的姐妹课程:

    [DllImport("__Internal")]
private static extern string _importString();

//retrieves the clipboard contents from xcode
public static string ImportString()
{
    //Debug.Log ("import: "+_importString());
    if( Application.platform == RuntimePlatform.IPhonePlayer )
    {
        return _importString();
    }

    else
    {
        return "";
    }
}



[DllImport("__Internal")]
private static extern void _exportString(string exportData);

//passes string to xcode and xcode copies to clipboard
public static void ExportString(string exportData)
{

   // Debug.Log ("export: "+exportData);
    if( Application.platform == RuntimePlatform.IPhonePlayer )
    {
        _exportString(exportData);
    }
}

我已将dll文件存储在Unity中的以下文件夹结构中:

  

资产 - >插件 - >的iOS

但我不知道如何解决我的错误。有人可以帮忙吗?

更新

根据下面的建议,我已经从导入字符串和导出字符串中省略了下划线,我仍然遇到同样的问题。

0 个答案:

没有答案