我定义了一个名为SexType的枚举,并希望用作以下内容:
public class People {
//@Property("copy, nonatomic") protected String location;
// @Property("copy, nonatomic") protected SexType sex;
public String name;
public SexType sex;
public People(String name){
this.name = name;
}
public String say(String text){
return this.name + " say:" + text;
}
public void setName(String name){
this.name = name;
}
}
它在java端运行正常,但在转换为objC时失败,错误是“SexType无法解析为类型”。 谁知道原因?
由于
答案 0 :(得分:1)
j2objc是一个Java编译器(它使用Eclipse的JDT作为其前端),并且需要与javac相同的路径标志。由于" 类无法解析为类型"是Java编译器错误,这意味着-sourcepath
标志可能不正确,因为Java编译器如何在其他Java源文件中找到类型。
在j2objc命令行中验证正确的源和类路径的快速方法是在javac命令中使用这些相同的标志,修复任何编译错误,然后在j2objc命令中使用这些相同的路径。要查看Xcode失败的命令,请输入" echo"在构建规则中的j2objc命令前面,构建应用程序,然后展开"运行shell脚本构建规则..."日志条目以查看命令。
命令日志的第二行有一个" cd"命令,打开一个终端窗口并运行该行,以便您在Xcode使用的工作目录中。
键入javac -sourcepath ../../j2ObjcDemon_SharedLib/src/main
以及指向其中一个或两个Java源的路径。修复源路径,直到javac可以编译这些文件,然后使用j2objc构建规则中的固定路径。