目前还没有,但后续版本中我们会发布带有服务器端的 Hprose for Objective-C 版本。
支持,而且支持多种方式的异步调用。可以直接使用 invoke 方法进行调用,也可以通过定义协议(@protocol)使用远程代理对象直接调用远程方法。回调可以使用普通函数,可以使用委托方法。
同步调用下的发生的异常将被直接抛出,使用@try...@catch语句块即可捕获异常,通常服务器端调用返回的异常是HproseException类型。但是在调用过程中也可能抛出其它类型的异常,为了保险,您可以使用@catch捕获NSException类型来处理全部可能发生的异常。
异步调用时,如果调用过程中发生异常,异常将不会被抛出。但会通过NSLog记录异常信息。
如果您希望替换默认的处理这些异常的方式,只需要给Hprose客户端对象指定合适的OnError事件即可。
没有任何区别,Hprose for Objective-C 为所有支持的平台提供了完全一致的 API 接口,使用 Hprose for Objective-C 可以实现跨平台的无差别编程。
支持。您只要按照普通方式来定义接口(@interface)和实现就可以了。可序列化的自定义类的属性必须也要是可序列化类型的,这些类型包括char、unsigned char、short、unsigned short、int、unsigned int、long、unsigned long、long long、unsigned long long、BOOL、bool、enum、char *、const char *以及各种 id 类型。属性可以通过 @property 指令来定义,支持字段属性、动态属性、以及通过 getter、setter 来定义的属性,在通过 @synthesize 实现时也支持属性的字段别名。但不支持只读属性。
虽然Hprose 不支持 Objective-C 1.0,但是如果您的对象属性完全没有使用 @property 来定义,而是通过 1.0 那样定义属性存取方法来定义的话,Hprose同样支持。
但不要把这两种方式混合使用,当混合使用时,只有@property定义的属性会被序列化。
如果您只是接收服务器端传来的数据,您甚至在客户端不需要定义接收数据的类,该类会在数据接收时自动被动态定义。
Hprose 是商业开源软件,在取得 Hprose 商业使用授权后,您可以将它用于您所拥有所有权的商业项目的开发当中,Hprose 商业使用授权没有开发者人数、服务器CPU数量、授权年限等限制,但对二次分发有一定的特别要求。如果您所开发的项目或产品涉及到对 Hprose 的二次分发,还需要取得相应的二次分发授权。
如果您需要了解更多关于授权许可方面的信息,请致信到 sales@hprfc.com 与我们联系。