我想在Xcode中导入由Cocoa Touch Framework
中的j2objc翻译的文件,并得到一些错误。
我的实施步骤如下:
在PeopleProject
- > Pepole.java
:
class Pepole{
.....
}
配置j2objc(构建规则,Settings.xcconfig )
Settings.xcconfig
在框架项目中新建一个文件(Campony)并导入People.h
@interface Company : NSObject
@property(nonatomic) People *CEO;
@end
使用objCFrameWorkDemo
objCFrameWork
)
Company *c = [[Company alloc] init];
[c.CEO sayWithNSString:@"Hello"];
6.成功构建objCFrameWork。
7.Build objCFrameWorkDemo失败。
答案 0 :(得分:1)
如果Java源代码(A.java)声明它是包的一部分,则默认转换要求您将包作为子目录包含在内。例如,如果类A位于foo.bar包中,则标题需要引用为#include "foo/bar/A.h"
。
如果这不起作用(Xcode不能很好地支持子目录,那么很多项目都会避免它们),然后使用--no-package-directories
标志运行j2objc以生成不使用子目录的文件。这要求应用程序中的所有Java源文件都具有唯一的类/接口名称,因为不再有用于区分它们的包(例外是JRE类,它总是需要包子目录)。