美文网首页
Tweak和app交互方案【进程通信】(转载)

Tweak和app交互方案【进程通信】(转载)

作者: pockyzhang | 来源:发表于2016-07-14 11:23 被阅读380次

原文地址
http://www.cnblogs.com/chen1987lei/p/4240001.html

Core Foundation DEMO:Tweak端:
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
NULL,
&NotificationReceivedCallback,
CFSTR("com.chinapyg.fakecarrier-change"),
NULL,
CFNotificationSuspensionBehaviorCoalesce);

回调:
static void NotificationReceivedCallback(CFNotificationCenterRef center,
void *observer, CFStringRef name,
const void *object, CFDictionaryRef
userInfo)
{
//.... 可以根据 name来判断是何种消息,下面的客户端传了NULL,所以无需判断了,在多种消息的时候需要用到
}

复制代码
APP端:1.一句代码即可notify_post("com.chinapyg.fakecarrier-change");

复制代码
2.复杂点的
CFStringRef observedObject =
CFSTR("com.chinapyg.fakecarrier-change");
CFNotificationCenterRef center =
CFNotificationCenterGetDistributedCenter();
CFNotificationCenterPostNotification(center, NULL,
observedObject, NULL /* no dictionary */, TRUE);

复制代码
///////////////////////////////////////////////////////////////////////////////////////////华丽的分割线///////////////////////////////////////////////////////////////////////////////////////////Cocoa DEMO:接收端(后台):
NSString *observedObject = @"com.chinapyg.notification";
// 处理单个计算机上不同的进程之间的通知
NSDistributedNotificationCenter *center =
[NSDistributedNotificationCenter defaultCenter];
[center addObserver: self
selector: @selector(callbackWithNotification:)
name: @"PiaoYun Notification"
object: observedObject];

回调:

  • (void)callbackWithNotification:(NSNotification *)myNotification;
    {
    NSLog(@"Notification Received");
    }

复制代码
发送端(app):

NSString *observedObject = @"com.mycompany.notification";
NSDistributedNotificationCenter center =
[NSDistributedNotificationCenter defaultCenter];
[center postNotificationName: @"PiaoYun Notification"
object: observedObject
userInfo: nil /
no dictionary */
deliverImmediately: YES];

复制代码
iOS上层接口:
// 处理单进程之间的通知
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(callBack) name: @"back" object: nil];

// 回调

  • (void)callBack
    {
    NSLog(@"Notification Received");
    }

//发出通知
[[NSNotificationCenter defaultCenter] postNotificationName:@"back" object:self];

复制代码

相关文章

  • Tweak和app交互方案【进程通信】(转载)

    原文地址http://www.cnblogs.com/chen1987lei/p/4240001.html Cor...

  • Android基于Binder自行实现跨进程通信逻辑

    大家都知道在Android系统中跨进程通信是件很重要的事,app跟系统重要的系统服务进行交互都要进行跨进程通信,例...

  • AMS系列②—Binder通信的双向代理绑定

    Binder进程见通信是通过远程代理来实现的,SystemServer进程和APP用户进程使用Binder进行通信...

  • 进程间通信

    进程间通信 不同的进程间进行数据的传输 进程间通信方式 文件 不推荐,文件和磁盘交互慢,数据不安全 管道 在内存中...

  • NSConnection进程间通信ios版

    之前逆向Mac上app时,发现有些app会用一个守护进程来和后开启的app来通信,虽然知道是进程间的通信,但是还是...

  • OSI综述

    应用层通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互规则。我们将应用层交互的数据单...

  • Android知识点复习4(ContentProvider)

    ContentProvider:内容提供者,进程间 进行数据交互 、共享、跨进程通信 ContentProvide...

  • 防tweak插件的猫腻

    防护方案-tweak插件的猫腻 一、防护tweak插件 二、反-防护tweak插件 二、反-反-防护tweak插件

  • Binder在Android中的IPC使用

    介绍 通常在Android中,我们的每个App都是一个进程,App之间的通信是进程间通信(IPC),在Androi...

  • TCP/IP体系结构层级

    1、应用层 应用层:通过应用进程间的交互来完成特定网络应用,应用层协议定义的是应用进程间通信和交互规则。不同的网络...

网友评论

      本文标题:Tweak和app交互方案【进程通信】(转载)

      本文链接:https://www.haomeiwen.com/subject/svuejttx.html