Object-C使用ICE
Object-C使用ICE
2. 安装 IceTouch-1.2.1-Xcode-4.3.dmg,安装完成后,会在/Developer/SDKs/IceTouch-1.2.0下面生成相应的文件。
3. 配置Xcode: http://doc.zeroc.com/display/Ice/Xcode+Plug-in#XcodePlug-in-AddingSliceFilestoanXcodeProject
配置Xcode有两种方式:
一种是使用ICE官方的SDK,
这种方式的好处是:
1. 不需要手动去处理.ice文件,只需要把.ice文件拖动到工程中,ICE的SDK的会自动处理.ice文件以生成该.ice文件对应的.h和.m文件。
2. 不需要手动配置使用ice的头文件路径和库文件路径,这些东西ICE的SDK都已经配置好了。
这种方式的不足:
使用这种方式,代码不能打包成静态库让别的工程调用,因为官方提供的SDK现在还不支持这种方式。
另一种是不使用官方的SDK,
这种方式的好处是:
1. 使用ICE的的代码可以编译成静态库供别的工程使用。
这种方式的不足是:
1. 需要手动去配置使用ICE需要的头文件路径、库文件路径以及在Other Link flag中指定链接标志。
2. 需要手动处理ice文件,并需要把处理ice文件后生成的.h和.m文件添加到工程中。
关于手动处理ice文件请参考4。
下面分别进行说明:
3.1 使用ICE官方的SDK:
1. 设置Xcode的Build Settings->Additional SDKs的值为:$(DEVELOPER_DIR)/SDKs/IceTouch-1.2/$(PLATFORM_NAME).sdk
2. 设置Xcode的Build Settings->Code Signing Resource Rules Path的值为:$(SDKROOT)/ResourceRules.plist
3. 添加以下的框架:
CFNetwork.framework
Security.framework
Foundation.framework
ExternalAccessory.framework
3.2 不使用ICE官方的SDK
1. 设置Xcode的Build Settings->Header search Paths值为: /Developer/SDKs/IceTouch-1.2.0/$(PLATFORM_NAME).sdk/usr/local/include
2. 设置Xcode的Build Settings->Library search Paths值为: /Developer/SDKs/IceTouch-1.2.0/$(PLATFORM_NAME).sdk/usr/local/lib
3. 设置Xcode的Build Settings->Other Linker Flags值为: -ObjC、-lGlacier2ObjC、-lIceObjC
4. 处理ice文件
如果使用ICE官方的SDK配置Xcode,则不需要手动处理ice文件。 如果自己手动配置,则需要使用命令工具slice2objc处理ice文件。
安装 IceTouch-1.2.1-Xcode-4.3.dmg 时,会将slice2objc安装到目录/Developer/SDKs/IceTouch-1.2.0/bin下。
处理ice文件方式为:
在命令行上执行:slice2objc filename.ice
执行这个命令后,会生成filename.h和filename.m文件。
Object-C使用ICE相关推荐
- C++使用ICE实现两台主机通信实例
ice使用过程跟google protocol buffer.gsoap类似,都是先写一个类似配置文件的东西,然后使用提供的工具生成相应语言的代码. ice先写一个后缀名为.ice的文件,然后使用sl ...
- 详细教你如何部署ICE服务(二)---IceBox加载启动Ice服务
在上一篇文章中,我使用了自己实现的一个简单容器简单粗暴的启动一个ICE服务,正如上篇文章所总结的那样,这种部署服务的方式存在诸多缺点. 这里我们给出使用IceBox这个框架来开发和部署我们的Ice服务 ...
- 详细教你如何部署ICE服务(三)---IceBox框架 Ice Registry服务注册中心的联合使用
在详细教你如何部署ICE服务(二)---IceBox加载启动Ice服务这篇博客中,我们使用了IceBox来设计服务代码和启动Ice服务. 单单使用IceBox组件来设计和启动Ice服务,客户端必须将服 ...
- 现代JavaScript中的精美图案:制冰厂
I've been working with JavaScript on and off since the late nineties. I didn't really like it at fir ...
- The Ice::Current Object
The Ice::Current Object 服务器端Servant骨架方法(skeleton operation)都有一个Ice::Current类型的参数,这个对象定义如下: module Ic ...
- ICE BOX 配置,使用----第一篇
一 理论部分 (1) 为什么要使用icebox? icebox server代替了通常的server. icebox是为了方便集中管理多个ice服务而建立的. 它通过使用icebox服务器,把ice服 ...
- Ice “Hello World”的实现
2019独角兽企业重金招聘Python工程师标准>>> Ice简介: Ice (Internet Communications Engine),是一种面向对象的中间件平台,既然是平台 ...
- ZeroC ICE java异步实现方式(ami/amd)
首先说说ami 和amd 的区别(以下为个人见解,仅供参考.如有疑问欢迎提出来) ami (异步方法调用): 仅仅基于ice 的同步方式扩展了异步的扩展方式,其他理念改动不大,使用起来好理解,但是服务 ...
- 谈谈自己对REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解
2019独角兽企业重金招聘Python工程师标准>>> SOA: 维基百科解释:SOA:面向服务的软件架构(Service Oriented Architecture),是一种计算机 ...
- ZeroC ICE的远程调用框架 代理引用地址
在官方文档中称为Binding,协议-地址对的绑定. 在Proxy模式中,一般地有三个参与者,Proxy,Subject以及RealSubject.Subject定义了Proxy(代理)和RealSu ...
最新文章
- Python 学习博客
- cmos 和 bios中断大全
- 软件测试方法单元测试例子,service单元测试例子
- 邮件服务器软件EwoMail 1.05 发布
- .NET/ASP.NET Routing路由(深入解析路由系统架构原理)
- 与粉丝们互动,街头霸王乐队带来AR应用《Gorillaz》
- this全面解析, 如何定位this指向,一文总结,再也不怕面试官追问啦
- 大学计算机专业全民,计算机专业大学排名实力顺序(上大学国内计算机专业大学哪个好值得报读)...
- 代码规范以及单元测试项目
- sql exists和not exists用法
- Linux中的文件权限
- 未捕获异常string was not recognized_给你代码:PHP7中的异常与错误处理
- 即时通讯IM的安全性比较
- python画函数图像 保留_如何使用python的matplotlib画反正切函数图像
- excel怎么将文本转为数值
- 百度搜索正式升级冰桶算法5.0!
- 精度、小数位数和长度
- MD5算法原理简要介绍并采用C#应用在桌面应用系统的用户登录与注册中
- 【Matlab数理统计知识点合集】新手入门第十三天
- vue 关于父组件同时多次调用子组件而产生的 this取值 的bug问题