3

我正在尝试从目标 C、iPhone 5 应用程序中调用 Java 类。我正在使用 Xcode 4.5.1。在这个阶段,我什至无法加载虚拟机而不会出现以下错误:

架构 i386 的未定义符号:

“_OBJC_CLASS_$_NSJavaVirtualMachine”,引用自:main.o ld 中的 objc-class-ref:未找到架构 i386 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

这些是我遵循的步骤,

1) 在 main.m 中:

@autoreleasepool {

      [NSJavaVirtualMachine defaultVirtualMachine]; //Added this line to load the Java VM.

        id vector=[[NSClassFromString(@"java.util.Vector") alloc] init];
        [vector add:@"one item!"];
        NSLog(@"item 1=%@",[vector get:0]);

 return 0;

}

2)我通过以下方式添加了JavaVM.Framework:(右键单击)框架->“将文件添加到项目”-> JavaVM.Framework->(将项目复制到目标组的文件夹并创建文件夹引用...->单击添加

(它也出现在 Build Phases -> Link Binary with Libraries)

3) 在 info.plist 中,添加了以下属性:

Cocoa Java Application = Yes

Java 类路径和 Java 根目录

两者都设置为我存储 Java 文件的全局目录。

我正在尝试调用 Java 类的 add 和 get 函数Vector。但我似乎根本无法将 VM 加载到 Xcode 中!请帮忙。

4

1 回答 1

1

你不能在 iOS 上使用 NSJavaVirtualMachine。Cocoa/Java 绑定仅在 OS X 中可用,即使在那里也已弃用。

于 2013-02-28T04:37:08.427 回答