Tag: objective c

Java到Objective-C RSA的实现

我在Objective-C中实现RSA encryption和解密时遇到了麻烦,我用Java非常简单地编写了它,现在我尝试在objc翻译这个java代码。 这是我的java代码: public static byte[] encryptRSA(byte[] text, PublicKey key) throws Exception { byte[] cipherText = null; // get an RSA cipher object and print the provider Cipher cipher = Cipher.getInstance(“RSA”); // encrypt the plaintext using the public key cipher.init(Cipher.ENCRYPT_MODE, key); cipherText = cipher.doFinal(text); return cipherText; } public static byte[] decryptRSA(byte[] text, PrivateKey key) throws […]

从robovm项目创建iOS静态库(JNI中的BAD_ACCESS)

我有大量的Java代码(只有计算函数,没有UI),我想在iOS中作为静态库重用。 我的方法是使用robovm并按照非官方的方式创建一个静态库,在robovm论坛的两篇文章中描述: 1基本方式和2精炼版本 尝试按照描述完全按照步骤操作,在使用脚本创建共享库,在Xcode中链接库(.a)并成功构建项目之后,我不幸遇到了问题。 在运行期间,我看到我的C ++桥代码被调用,但JNI回调到库失败并带有BAD_ACCESS。 例如,以下行崩溃: jclass myJavaClass = jniEnv->FindClass(“com/test/robovm/bridge/MyJavaRoboCode”); 在这个方法中: void callSomethingInJava(const char* arg) { // To call into java from your native app, use JNI Env* rvmEnv = rvmGetEnv(); JNIEnv* jniEnv = &(rvmEnv->jni); jclass myJavaClass = jniEnv->FindClass(“com/test/robovm/bridge/MyJavaRoboCode”); jmethodID myJavaMethod = jniEnv->GetStaticMethodID(myJavaClass, “callJava”, “(Ljava/lang/String;)V”); jstring argAsJavaString = jniEnv->NewStringUTF(arg); jniEnv->CallStaticVoidMethod(myJavaClass, myJavaMethod, argAsJavaString); } 如果我尝试直接使用rvmXX方法而不是JNI并尝试访问“Java”类中的某些内容,情况也是如此。 […]

为什么没有收到(UDP组播)数据包?

所以,我一直试图弄清楚为什么这不起作用,但我没有线索。 我已经设法从iPhone发送数据包并在我的Mac上接收它们。 根据tcpdump我的mac正确发送数据包。 另外,如果我在模拟器中运行它,它工作正常。 这让我相信这是一个网络问题,但我不知道那可能是什么,所以我希望(!)它是下面的东西。 CFSocketContext socketContext = {0, self, NULL, NULL, NULL}; advertiseSocket = CFSocketCreate(kCFAllocatorDefault, PF_INET, SOCK_DGRAM, IPPROTO_UDP, kCFSocketDataCallBack, (CFSocketCallBack)&advertiseCallBack, &socketContext); int yes = 1; setsockopt(CFSocketGetNative(advertiseSocket), SOL_SOCKET, SO_REUSEADDR, (void *)&yes, sizeof(yes)); u_char loop = 0; setsockopt(CFSocketGetNative(advertiseSocket), IPPROTO_IP, IP_MULTICAST_LOOP, &loop, sizeof(loop)); unsigned char ttl = 64; setsockopt(CFSocketGetNative(advertiseSocket), IPPROTO_IP, IP_MULTICAST_TTL, &ttl, sizeof(ttl)); struct sockaddr_in addressData; memset(&addressData, […]

将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?

解密用Objective-C和Java加密的AES数据

我尝试解密最初用Java中的Objective-C加密的数据。 还有其他问题提到这一点,但它们真的很混乱,其中很多都没有解决,因此我会发布我自己的。 这是加密数据的代码: – (int) encryptWithKey: (NSString *) key { // ‘key’ should be 32 bytes for AES256, will be null-padded otherwise char * keyPtr[kCCKeySizeAES128+1]; // room for terminator (unused) bzero( keyPtr, sizeof(keyPtr) ); // fill with zeroes (for padding) // fetch key data [key getCString: keyPtr maxLength: sizeof(keyPtr) encoding: NSUTF8StringEncoding]; // encrypts in-place, since […]

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

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

库读/写pbxproj / xcodeproj文件?

有没有人知道一个库来读/写Xcode项目文件.xcodeproj / .pbxproj? 欢迎任何语言。 提前致谢。

像Java一样覆盖Objective-c类中的方法

我经常使用此语句来扩展类,而无需编写完整的单独文件。 假设ClassFromFramework是一个类,它是库中包含的框架的一部分。 public ClassFromFramework { public String myMethod() { // operations } //lot of other methods…. } 然后在我的class上我可以做以下事情: import com.framework.ClassFromFramework; public MyClass { public void method() { ClassFromFramework m = new ClassFromFramework() { @Override public String myMethod() { // do operations… } } m.myMethod(); } } 我想知道我是否可以使用Objective-c实现相同的function,而无需声明新的组合.h .m文件并在我的使用类中导入。

相当于BeanUtils.copyProperties的Objective c。

我想知道他们是否在JAVA的方法C中有一个等价的方法“BeanUtils.CopyProperties(bean1,Bean2);” ? 或者其他解决方案,我想将motherObject转换为childObject: @interface motherBean : NSObject{ …} @interface childBean : motherBean { …} motherBean m = [motherBean new]; childBean f = m; 第一次测试它的工作,但我有一个警告:“不兼容的指针类型返回……”; 我使用WSDL2Objc并生成bean,它的名称可以在2代之间改变: – / 我喜欢和孩子一起工作,只是改变她的定义中的名字 谢谢 安东尼