IOS越狱开发之——进程通讯
Mac OS下的IPC方式种类很多,大约有下面几种。
1. Mach API
2. CFMessagePort
3. Distributed Objects (DO)
4. Apple events
5. UNIX domain sockets
6. Internet sockets
7. Memory Mapping
第一种太底层,很少有人用苹果也不推荐
第2,3,4种是苹果提供的较为高层的通讯机制
第5,6种大家应该都知道,用sockets方法离散度,移植性更好。5和6有一些区别,5使用unix文件系统作为通讯媒介,可以使用unix文件权限系统做通讯限制,它的另外一个名字就叫ipc sokets,6可以做机器间通讯做本地ipc也可以,不过要额外做一些努力。
第7种... 有把握用的人不多(我最近也在看这个)。
我想以上一些够你选择了
另外,我可以说一下我的选择
1. 假如你的进程间通讯不频繁,只是发送一些异步信号,DO是很好的选择,也就是楼上有人说得NSDistributedNotificationCenter
2. 如果你的进程间通讯频繁,但数据量不大,需要响应度高,domain sockets很好(DO也许也能满足,你自己测试测试)
3. 最后如果进程间通讯频繁,数据流巨大例如音频,图片等,需要real-time级别的, 选择Memory Mapping, 缺点是这个技术复杂需要自己做内存paging管理。
IOS越狱开发之——进程通讯的更多相关文章
- 关于ios越狱开发的那些事
也许吧,每每接触某些新东西的时候,都有点犯晕吧,这不是应该要的. 第一次接触ios越狱开发,也是这样吧.这篇主要是从无到有的说一下ios越狱的开发,网上很多的教程大部门都比较旧了吧,放在新设备上总是出 ...
- iOS越狱开发(一)
做越狱开发也有一些时间了,有很多东西想总结一下,希望给他人一些借鉴,也是自己对过去开发经历的一些总结.个人不推荐使用盗版,这里主要以技术介绍为主. 这个系列里面主要介绍怎样进行越狱开发,涉及到以下几个 ...
- [iOS]从零开始开发一个即时通讯APP
前言 这是我的毕业设计.刚开始确定这个课题的时候是因为以前有稍微研究过一些XMPP协议,在这个基础上做起来应该不难.然后开始选技术的时候还有半年,我想为什么不从更底层做起呢!那就不用XMPP,当时接触 ...
- 【iOS越狱开发】如何将应用打包成.ipa文件
在项目开发中,我们常常需要将工程文件打包成.ipa文件,提供给越狱的iphone安装. 下面是一种方法: 1.首先应该给工程安装好配置文件(这里不再敖述),在ios device的状态下,运行成功. ...
- theos初探:ios越狱开发教程
开发环境搭建回顾 现在已经在windows上安装好了theos了.在上一篇中都已经讲了,开发环境主要部件就是: 1.theos,主要包含了使用make时的makefile模板文件.包含了各种库和框架的 ...
- ios越狱开发第一次尝试记录
1.THEOS的makefile文件中的THEOS_DEVICE_IP要写在第一行 2.如果make package install报错 dpkg status database is locked ...
- iOS越狱开发手记 - iOS9.3 dyld_decache不能提取arm64的dyld的解决方法
参考以下文章 http://iosre.com/t/when-dyld-decache-fails-on-dyld-shared-cache-arm64-dsc-extractor-saves-our ...
- IOS越狱开发错误解决
Questions: haseScriptExecution Run\ Script /Users/jun/Library/Developer/Xcode/DerivedData/ButtonMa ...
- IOS越狱开发环境搭建
1:安装 mac ports 2:安装DPKG, 在终端输入sudo port -f install dpkg即可安装 3:安装theos Theos是一个基于Make的编译环境,我们正是用它来编译生 ...
随机推荐
- Tempter of the Bone---hdu1010(dfs+剪枝)
http://acm.hdu.edu.cn/showproblem.php?pid=1010 折磨我一下午 题目大意: 从s点走到d点能否恰好走k步 刚开始以为是广搜,其实是深搜. dfs多优化一 ...
- 内置函数 和 select练习3
19. 查询选修"3-105"课程的成绩高于"109"号同学成绩的所有同学的记录. select * from score where cno='3-105' ...
- EditText的hint不显示
EditText的hint不显示可能的原因: 1.字体颜色与EditText的背景色一样; 2.使用了android:inputType = phone; 3.如果加上android:ellipsiz ...
- 无法远程连接ubuntu下的mysql
修改前 无法telnet 2.2.2.128 3306 打开 /etc/mysql/my.cnf 文件,找到 bind-address = 127.0.0.1 修改为 bind-address = 0 ...
- HDU-3548-Enumerate the Triangles
求由所有的点组成的三角形中周长最小的三角形的周长 1.将所有的点按横坐标大小排序 2.从第一个点开始往后枚举,判断能否组成三角形,判断当前三角形周长是否小于已经得到的最小周长 代码如下: #inclu ...
- Hibernate映射问题之OneToOne【自己整理】
首先贴上一个MkYong的例子 stock.java package com.mkyong.stock; import javax.persistence.CascadeType; import ja ...
- [UML]UML系列——状态机图statechart diagram
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class [UML]UML系列——类 ...
- MVC4+WebApi+Redis Session共享练习(下)
上一篇文章我们主要讲解了一些webApi和redis缓存操作,这篇文章我们主要说一些MVC相关的知识(过滤器和错误处理),及采用ajax调用webApi服务. 本篇例子采用的开发环境为:VS2010( ...
- 中文版Windows Server 2012 R2更改为英文显示语言
1. 下载Windows Server 2012 R2多语言包(下载页面,直接下载链接). 2. 将win_svr_2012_r2_64bit_multi_language_lp_oem.img解压或 ...
- Visual Studio 2013 新功能 Memory Dump 分析器
本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. TechEd2013 发现新功能 12月5日和6日,在国家会议中心参加了微软的 TechEd2013 ...