iOS越獄環境進程通訊

  • 1563
  • 0

摘要:iOS越獄環境進程通訊

可以尝试使用系统内置:CPDistributedMessagingCenter。

Server:

-(id)init... {
...
 
  CPDistributedMessagingCenter *messagingCenter;
  // Center name must be unique, recommend using application identifier.
  messagingCenter = [CPDistributedMessagingCenter centerNamed:@"unique.name.for.messaging.center"];
  [messagingCenter runServerOnCurrentThread];
 
  // Register Messages
  [messagingCenter registerForMessageName:@"messageThatHasInfo" target:self selector:@selector(handleMessageNamed:withUserInfo:)];
  [messagingCenter registerForMessageName:@"message" target:self selector:@selector(handleSimpleMessageNamed:)];
 
...
}
 
- (NSDictionary *)handleMessageNamed:(NSString *)name withUserInfo:(NSDictionary *)userinfo {
    // Process userinfo (simple dictionary) and return a dictionary (or nil)
}
 
- (void)handleSimpleMessageNamed:(NSString *)name {
    // ...
}

Client:

CPDistributedMessagingCenter *messagingCenter;
messagingCenter = [CPDistributedMessagingCenter centerNamed:@"unique.name.for.messaging.center"];
 
// One-way (message only)
[messagingCenter sendMessageName:@"message" userInfo:nil/* optional dictionary. in this example it will be ignored. */];
 
// Two-way (wait for reply)
NSDictionary *reply;
reply = [messagingCenter sendMessageAndReceiveReplyName:@"messageThatHasInfo" userInfo:nil/* optional dictionary */];

这种方式是以服务方式注册的,即使程序挂起,也可以在恢复后收到相关消息

 

 

------------------------------

文章的授權使用CC BY-ND2.5協議。凡是標示“轉載”的文章,均來源於網絡並儘可能標註作者。如果有侵犯您的權益,請及時聯繫刪除或者署名、授權。


Gtalk/Email: cmd4shell  [at]  gmail.com