Tag: cocoa

如何使用NSTask运行.sh文件并获取其输出?

我需要运行.sh文件并获取其输出。 我还需要查看文件的设置。 .sh文件只是通过终端运行java应用程序。 有任何想法吗? 我真的被这个…… 以利亚 server.sh文件: echo Starting Jarvis Program D. ALICE_HOME=. SERVLET_LIB=lib/servlet.jar ALICE_LIB=lib/aliceserver.jar JS_LIB=lib/js.jar # Set SQL_LIB to the location of your database driver. SQL_LIB=lib/mysql_comp.jar # These are for Jetty; you will want to change these if you are using a different http server. HTTP_SERVER_LIBS=lib/org.mortbay.jetty.jar PROGRAMD_CLASSPATH=$SERVLET_LIB:$ALICE_LIB:$JS_LIB:$SQL_LIB:$HTTP_SERVER_LIBS java -classpath $PROGRAMD_CLASSPATH -Xms64m -Xmx128m org.alicebot.server.net.AliceServer $1 […]

kCFStreamPropertySocketSecurityLevel到kCFStreamSocketSecurityLevelNegotiatedSSL导致连接到Java的OSStatus errSSLXCertChainInvalid(-9807)

我有一个简单的Java服务器,它使用自签名证书来识别我用keytool创建的自己: System.setProperty(“javax.net.ssl.keyStore”, “../../pki/z-keystore.jks”); System.setProperty(“javax.net.ssl.keyStorePassword”, “ZZZZZZ”); System.setProperty(“javax.net.debug”, “all”); ServerSocketFactory serverSocketFactory = SSLServerSocketFactory .getDefault(); ServerSocket serverSocket = serverSocketFactory .createServerSocket(8443); System.out.println(“Waiting for connections on 8443”); final AtomicInteger nextSocketId = new AtomicInteger(); while (true) { final Socket socket = serverSocket.accept(); new Thread(new Runnable() { @Override public void run() { final int socketId = nextSocketId.getAndIncrement(); try { System.out.println(“Received connection from […]

未正确定义JAVA_HOME编译时出错

我正在使用一些java类在cocoa中开发一个应用程序。我收到错误“JAVA_HOME未正确定义我们无法执行/System/Library/Frameworks/JavaVM.framework/Home/bin/java”.I不知道如何解决这个..请任何人帮助我.. 提前致谢

将Java运行时嵌入到沙盒Cocoa Mac应用程序中

有没有人知道如何将Java运行时嵌入到Mac Cocoa(沙盒)应用程序中,以便应用程序可以运行.jar文件而无需用户单独安装Java? 我们有一个Cocoa应用程序,我们通过Mac App Store以及我们自己的站点销售,可以使用Java来执行特定任务。 它是一个编写应用程序,因为.doc,.docx和.odt的标准NSText导出器非常有限(不支持页眉,页脚,图像等),我们写出RTF然后使用基于Java的转换器(来自Aspose。 com)将RTF转换为.doc,.docx或.odt,具体取决于所选的导出格式。 我通过使用NSTask调用/ usr / bin / java并运行运行转换例程的捆绑.jar文件来实现此目的。 这一切都很好用 – 只要Java安装在用户的Mac上。 如果没有安装,我们的应用程序会询问用户他或她是否希望安装Java以从增强型转换器中受益,或者转而使用NSText有损转换器。 如果用户选择安装Java,我们调用java_home –request来调用OS X的Java安装程序。 但是,既然Apple已经结束(或即将结束)对Java的直接支持,这种方法就存在问题。 在我们上一次Mac App Store审核期间,我们被告知我们很快就会不再询问用户是否要安装Java。 我已经读过Apple推荐的路线是将Java Runtime Environment嵌入到需要运行Java的Cocoa应用程序中。 (例如: http : //lists.apple.com/archives/java-dev/2011/Jul/msg00038.html ) 在过去的几天里,我一直在研究如何在我的应用程序中嵌入JRE,但我没有找到任何关于如何在任何地方这样做的说明 – 至少我理解的是什么。 几年前有人问过类似的问题: 在Mac OS X上捆绑私有JRE 然而,那里以及我发现的其他网站上的答案都是关于将Java应用程序捆绑为Mac应用程序,而不是将JRE与现有的Cocoa应用程序包含在一起。 (虽然我接受我缺乏Java经验可能意味着我只是不明白如何根据我的目的转换指令 – 带我离开Xcode并且我已经离开了我的舒适区。)同样: https:/ /wikis.oracle.com/display/OpenJDK/How+to+embed+a+.jre+bundle+in+your+Mac+app 似乎有几个应用程序已经这样做了(例如Cyber​​duck),但还没有人记录过这个过程。 从我读过的内容来看,我认为我需要从Oracle的JDK或OpenJDK中获取Java虚拟机,并将其包含在我的Cocoa应用程序中并从中调用java,但如果我这样做,那么副本中的Java可执行文件JVM的沙盒不会被沙盒化,因此我的应用程序无法通过MAS审核流程。 所以我可能需要以某种方式构建JDK和沙箱的副本,最有可能作为我的大型Xcode项目的一部分? 我甚至不确定从哪里开始; 我猜它还处于早期阶段,并没有多少Mac开发人员必须这样做。 有没有人有过将JRE嵌入到Cocoa应用程序中的经验,应用程序只能使用NSTask调用它? 并且以这种方式使JRE完全沙箱化并因此被Mac App Store接受? 或者,是否有人成功创建了一个运行.jar文件的沙盒Cocoa应用程序,而无需单独的Java安装? […]

将Java代码移植到ObjC时,如何最好地表示已检查的exception?

我正在努力将Java代码库移植到Cocoa / Objective-C,以便在桌面Mac OS X上使用.Java代码有很多方法,例如: double asNumber() throws FooException { … } 在Objective-C中表示这些的最佳方法是什么? 例外或错误输出参数? – (CGFloat)asNumber { … // possibly [FooException raise:format:]; } 要么 – (CGFloat)asNumberError:(NSError **)outError { … } 我觉得out-errors通常是Objective-C的更好解决方案,但正如你所看到的……很多像上面那样的方法看起来很尴尬。 而且,还有很多这些。 当然要记住,由于这些是Java中的检查exception,我需要添加@try块或if (*outError) {…}检查调用这些方法的地方( 很多地方)。 我记得听说虽然在Objective-C中输入@try块曾经是昂贵的,但它在64位或SL或其他一些新的环境中是便宜的(不记得确切)。 我完全不关心向后兼容性,所以我绝对愿意只为新的热度而设计。

Java Developer在Mac OS上符合Objective-C

我在很多年前用C ++开发过,但是现在我主要是一名Java软件工程师。 鉴于我拥有一部iPhone,我准备在下个月开始使用MacBook,并且我对使用Mac OS开发(使用Objective C)感兴趣,我想我会把这个问题放在那里:下一步是什么? 更具体地说,我应该选择哪些书籍,是否有某些人可以指出的网络资源? 我计划购买的一些书籍: 在Objective-C 2.0中编程 适用于Mac OS X的Cocoa(R)编程(第3版) 有谁熟悉这些头衔? 最后,一旦我踏上这段旅程,我会非常感兴趣地总结一下我应该准备什么。 作为使用IntelliJ IDEA在Java中开发的人,当我转向在Xcode中编写ObjectiveC代码时,我会注意到哪些关键差异? Mac OS桌面开发和iPhone开发之间有什么区别? 习惯于Java垃圾收集,我应该了解ObjectiveC垃圾收集/内存管理。 是否有人想指出的任何其他语言特定问题? 如何构建UI? 它是否更接近Swing,构建代码与之交互的Visual C ++资源文件,还是更像是为guis生成代码的一些borland IDE?

Java相当于Cocoa委托/ Objective-C非正式协议?

什么是Java代替Cocoa代理? (我知道我可以将一个接口传递给一个类,并让该类调用适当的方法,但我想知道是否还有其他方法可以实现更接近Cocoa / Objective-C的非正式协议)

NSData到Java String

我最近一直在编写一个与iPhone交互的Web应用程序。 iPhone iphone实际上会以plist的forms向服务器发送信息。 所以看到像…这样的事情并不罕见 RandomData UW31vrxbUTl07PaDRDEln3EWTLojFFmsm7YuRAscirI= 现在我知道这些数据以某种方式进行了散列/加密。 当我用编辑器(属性列表编辑器)打开plist时,它向我展示了一种更“人类可读”的格式。 例如,上面的数据将被转换为类似…… 知道改变它的方法是什么? 主要是我想把它变成Java String。 谢谢!

使用JNI从Cocoa调用Java类函数

我真的很难弄清楚如何使用JNI从Objective-C调用Java函数。 我应该先说我对Java知之甚少,但对Obj-C非常熟悉。 我有一个Java类,我需要从我的应用程序包中调用一个方法。 jar位于bundle中的Resources文件夹内,我将NSJavaRoot设置为Content/Resources ,检查NSJavaPath , NSJavaPath包含2个jar文件的名称(主要的一个和一个依赖项)。 我正在使用对JNI_CreateJavaVM的调用来启动VM,然后尝试使用NSClassFromString查找类,这感觉不对,但这是我在搜索中找到的唯一方法。 我相信这个方法在使用已弃用的Java桥时是正确的,但我找不到任何使用JNI的示例或引用。 我的Java类看起来像这样: package foo; public class bar { public function dostuff() { } } 作为app流程的一部分,我需要调用dostuff()一次。 有没有人有任何想法如何做到这一点? 谢谢,J

如何让Apple Java Extensions(com.apple.eawt)在JDK 7及更高版本上运行?

TL; DR :Apple已经放弃了Java中的原生function支持。 特别是触摸板手势不再起作用。 我写了一个使用JNI完成工作的库。 看看我的答案如下。 我正在寻找几个小时的时间来让Apple Java Extensions在JDK 7或8上工作。我一直在尝试我能想到的一切。 关于这一点的互联网上的所有主题都只是责怪JDK。 我认为这应该是可以解决的,因为它在JDK 6中有效。为了清楚起见:我可以使它在JDK 6中工作,但我不希望这种遗留依赖,因为不是每个将使用我的应用程序的人都有JDK 6或知道如何我要说,安装它。 目标是制作一个可双击的JAR文件,该文件将按照预期的OS Xfunction(菜单栏,手势,关于处理程序等)运行,并安装每个Java版本(大于JDK 6)。