• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Can't get Service to run.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Can't get Service to run.


  • Subject: Can't get Service to run.
  • From: Daryle Walker <email@hidden>
  • Date: Mon, 15 Sep 2014 02:46:17 -0400

I’m trying out writing a Service associated with my app:

> @implementation PrServicesProvider
>
> - (void)openURL:(NSPasteboard *)pboard userData:(NSString *)userData error:(NSString *__autoreleasing *)error {
>     NSURL * const     targetURL = [WebView URLFromPasteboard:pboard];
>     NSString * const  targetTitle = [WebView URLTitleFromPasteboard:pboard];
>
>     NSLog(@"Open URL: %@ with title %@.", targetURL, targetTitle);
>     if (targetURL) {
>         id const  browser = [[NSApp delegate] createBrowser];
>
>         if (browser) {
>             [browser loadPage:targetURL title:targetTitle];
>         } else if (error) {
>             *error = @"Browser window could not be created for the Service.";
>         }
>     } else if (error) {
>         *error = @"No URL found for the Service.";
>     }
> }
>
> @end


I added a Service entry for the Info.plist. It returns nothing and takes in only “public.url”. The service never showed up. I tried the “pbs” tool:

> daryle$ /Applications/TextEdit.app/Contents/MacOS/TextEdit -NSDebugServices io.github.me.MyApp
> 2014-09-15 02:24:29.702 TextEdit[51303:507] NSDebugServices=io.github.me.MyApp
> Open URL (io.github.me.MyApp) is disabled in the services menu and disabled in the context menu, by the standard Services policy.
> Open URL (io.github.me.MyApp) is disabled in the services menu and disabled in the context menu, by the standard Services policy.


I went into the Services system-level preferences and enabled the Service. Now I get:

> daryle$ /Applications/TextEdit.app/Contents/MacOS/TextEdit -NSDebugServices io.github.me.MyApp
> 2014-09-15 02:27:50.565 TextEdit[51341:507] NSDebugServices=io.github.me.MyApp
> Open URL (io.github.me.MyApp) is explicitly enabled in the services menu and enabled in the context menu, in preferences.
> Open URL (io.github.me.MyApp) is explicitly enabled in the services menu and enabled in the context menu, in preferences.
> Open URL (io.github.me.MyApp) is disqualified because its send and/or return types cannot be handled by the requestor <NSTextView: 0x7fe518e20340>
>     Frame = {{0.00, 0.00}, {550.00, 389.00}}, Bounds = {{0.00, 0.00}, {550.00, 389.00}}
>     Horizontally resizable: NO, Vertically resizable: YES
>     MinSize = {550.00, 389.00}, MaxSize = {179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.00, 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.00}
> .
> Open URL (io.github.me.MyApp) is disqualified because its send and/or return types cannot be handled by the requestor <NSTextView: 0x7fe518e20340>
>     Frame = {{0.00, 0.00}, {550.00, 389.00}}, Bounds = {{0.00, 0.00}, {550.00, 389.00}}
>     Horizontally resizable: NO, Vertically resizable: YES
>     MinSize = {550.00, 389.00}, MaxSize = {179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.00, 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.00}
> .

(I type and select things like “http://www.apple.com” in TextEdit (RTF mode), and the other app’s services show up.) The section of the Info.plist file is:

> 	<key>NSServices</key>
> 	<array>
> 		<dict>
> 			<key>NSMenuItem</key>
> 			<dict>
> 				<key>default</key>
> 				<string>Open URL</string>
> 			</dict>
> 			<key>NSMessage</key>
> 			<string>openURL</string>
> 			<key>NSPortName</key>
> 			<string>MyApp</string>
> 			<key>NSSendFileTypes</key>
> 			<array>
> 				<string>public.url</string>
> 			</array>
> 		</dict>
> 	</array>

—
Daryle Walker
Mac, Internet, and Video Game Junkie
darylew AT mac DOT com

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden


  • Prev by Date: Re: Swift Compiler Bug?
  • Next by Date: Re: Swift Compiler Bug?
  • Previous by thread: Re: Swift Compiler Bug?
  • Next by thread: Want NSTableView NSOutlineView to load lazy like iOS?
  • Index(es):
    • Date
    • Thread