Skip to content

Instantly share code, notes, and snippets.

@NSExceptional
Created April 12, 2017 07:44
Show Gist options
  • Save NSExceptional/9bbf6e892e22dcd8ed39e8c035746bb4 to your computer and use it in GitHub Desktop.
Save NSExceptional/9bbf6e892e22dcd8ed39e8c035746bb4 to your computer and use it in GitHub Desktop.
static NSMutableURLRequest * SKMakeRequest(NSDictionary *message) {
SKIPCRequest *query = message[kQueryKey];
return [SKIPCQueryBuilder endpoint:query];
}
static void SKIPCSpringboardInit() {
// Allow passing messages to Snapchat from other apps
[OBJCIPC registerIncomingMessageFromAppHandlerForMessageName:kQueryName handler:^NSDictionary *(NSDictionary *query) {
// Delegate query to Snapchat, propagate result to caller
NSDictionary *object = [OBJCIPC sendMessageToAppWithIdentifier:kSnapchatBundleID messageName:kQueryName dictionary:query];
return @{kResponseKey: [SKIPCResponse response:object error:nil]};
}];
}
static void SKIPCSnapchatInit() {
// Register Snapchat for query messages from Springboard
[OBJCIPC registerIncomingMessageFromSpringBoardHandlerForMessageName:kQueryName handler:^NSDictionary *(NSDictionary *query) {
NSLog(@"***\nReceived message: %@", query);
return @{kURLRequestKey: SKMakeRequest(query)};
}];
}
%ctor {
if ([OBJCIPC isSpringBoard]) {
SKIPCSpringboardInit();
} else {
SKIPCSnapchatInit();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment