码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-12-21 16:28:26      阅读:308      评论:0      收藏:0      [点我收藏+]

标签:

在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

 

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

标签:

原文地址:http://www.cnblogs.com/xingjiu/p/4176688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!