j2objc0.9.5使用二——xcode中使用j2objc

在Xcode中使用J2ObjC有两种方式:External Build和Xcode Build Rule。

Xcode Build Rules方式:

一、创建新工程

打开Xcode,选择新建工程——随便选择一个Application,比如Single View application。

Product Name和Organization Name等自己随便填。我的工程名为Java2ObjcTest

二、添加J2ObjC Build Rule

1、新建一个Settings.xcconfig文件,内容如下:

J2OBJC_HOME = ${J2OBJC_INSTALL_DIR}/dist;

HEADER_SEARCH_PATHS = $(inherited) "${J2OBJC_HOME}/include" "${DERIVED_FILES_DIR}";
LIBRARY_SEARCH_PATHS = $(inherited) "${J2OBJC_HOME}/lib";
OTHER_LDFLAGS = $(inherited) -l"z" -l"jre_emul" -l"icucore";

J2OBJC_HOME设置成通过J2Objc编译出来的dist目录。

2、将这个文件作为编译的配置:

工程——project——Info,debug和release都设置成这个配置文件。

3、添加自定义Build Rule:

工程——工程Target——Build Rules,点击加号创建新Rule。

Process选Java source files

Using选Custom script,在下面的输入框中输入:

if [ ! -f "${J2OBJC_HOME}/j2objc" ]; then echo "J2OBJC_HOME not correctly defined in Settings.xcconfig, currently set to ‘${J2OBJC_HOME}‘"; exit 1; fi;
"${J2OBJC_HOME}/j2objc" -d ${DERIVED_FILES_DIR} -sourcepath "${PROJECT_DIR}/Classes" --no-package-directories --prefix Othello.Engine=OE -g ${INPUT_FILE_PATH};

在Output Files中,点击加号,添加两行:

${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.h
${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.m

结果应该是这样的:

技术分享

4、添加java代码和依赖库

在工程中新建java source文件夹,并在其中加入java代码,比如我在TestJ2ObjC中添加了skylead/sign/SignTool.java。

代码如下:

package skylead.sign;

public class SignTool {

    public static String getSign(String sign) {
        String result = "sign is : "+sign;
        
        return result;
    }

}

在需要调用此方法的地方引入头文件:

#import "SignTool.h"

然后即可使用此类提供的静态方法:

NSString* test = [SkyleadSignSignTool getSignWithNSString:@"my sign"];

test的返回结果为:sign is : my sign

 

文章来自:http://www.cnblogs.com/xingjiu/p/4176688.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3