【发布时间】:2014-03-20 08:36:51
【问题描述】:
我正在尝试编写我的第一个统一脚本。这是位于 Assets/Plugins 中名为 TestPlugin.cs 的文件的代码:
using UnityEngine;
using System.Runtime.InteropServices;
public class TestPlugin : MonoBehaviour
{
[DllImport ("__Internal")]
private static extern int getString ();
public static void Awake () {
print (getString ());
}
}
这是我导入到生成的 xCode 项目的 classes 文件夹中的两个文件的代码:
TestPlugin.h:
#import <Foundation/Foundation.h>
@interface TestPlugin : NSObject
-(int)getString;
@end
TestPlugin.m:
#import "TestPlugin.h"
@implementation TestPlugin
- (id)init
{
self = [super init];
if (self) {
// Initialization code here.
}
return self;
}
- (int)getString
{
return 7;
}
@end
最后,这是位于 Asset 文件夹中的 javascript 文件。
TestPluginTest.js:
function Update ()
{
TestPlugin.Awake ();
}
另外,请注意,我并不一定希望这一切都能正常工作,只是在此时进行编译(尽管欢迎提供额外的指针和提示)
尝试在 iPhone(实际设备)上构建时,我在 xCode 中遇到的错误是:
架构 armv7 的未定义符号:“_getString”,已引用 从: RegisterMonoModules.o ld 中的 RegisterMonoModules():未找到架构 armv7 collect2 的符号:ld 返回 1 个退出状态
“_getString”,引用自:
RegisterMonoModules.o 中的RegisterMonoModules()
ld:未找到架构 armv7 的符号
collect2: ld 返回 1 个退出状态
我被难住了!提前致谢!
【问题讨论】: