Skip to content

Instantly share code, notes, and snippets.

@mizuhiki
Created January 8, 2015 14:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mizuhiki/08f9cd0744bd5175bdac to your computer and use it in GitHub Desktop.
Save mizuhiki/08f9cd0744bd5175bdac to your computer and use it in GitHub Desktop.
Action.prototype = {
run: function(arguments) {
arguments.completionFunction()
},
finalize: function(arguments) {
location.href = "scheme://"
}
};
var ExtensionPreprocessingJS = new Action
@implementation ActionRequestHandler
- (void)beginRequestWithExtensionContext:(NSExtensionContext *)context
{
BOOL found = NO;
for (NSExtensionItem *item in context.inputItems) {
for (NSItemProvider *itemProvider in item.attachments) {
if ([itemProvider hasItemConformingToTypeIdentifier:(NSString *)kUTTypePropertyList]) {
[itemProvider loadItemForTypeIdentifier:(NSString *)kUTTypePropertyList options:nil completionHandler:^(NSDictionary *dictionary, NSError *error) {
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
NSDictionary *resultsDictionary = @{ NSExtensionJavaScriptFinalizeArgumentKey: @{ @"dummyKey" : @"dummyItem" } };
NSItemProvider *resultsProvider = [[NSItemProvider alloc] initWithItem:resultsDictionary typeIdentifier:(NSString *)kUTTypePropertyList];
NSExtensionItem *resultsItem = [[NSExtensionItem alloc] init];
resultsItem.attachments = @[ resultsProvider ];
[context completeRequestReturningItems:@[ resultsItem ] completionHandler:nil];
}];
}];
found = YES;
}
break;
}
if (found) {
break;
}
}
if (!found) {
[context completeRequestReturningItems:@[] completionHandler:nil];
}
}
@end
@wzhang85
Copy link

wzhang85 commented Oct 5, 2016

Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment