I wrote CodingService a while ago 
(http://the-void-software.com/codingservice/), and as far I can see from a 
quick glance at the sources, all a .service is, is a faceless background 
application (LSBackgroundOnly == true in Info.plist) where you change the 
suffix in the build settings from .app to .service.

It has the same NSServices key in its plist as a regular application 
implementing services would have, an app delegate, a main xib that instantiates 
it, etc.

Cheers,
-- Uli Kusterer
"The Witnesses of TeachText are everywhere..."
http://www.zathras.de


On Apr 2, 2013, at 10:43 PM, Kevin Callahan <kc...@mac.com> wrote:
> On Apr 2, 2013, at 11:03 AM, Andy Lee <ag...@mac.com> wrote:
> 
>> I'm writing an app that provides an NSService. Is there a way to have the 
>> app not activate when the service is invoked?
>> 
>> Alternatively -- where can I find good docs and/or sample code for creating 
>> a standalone .service bundle?
>> 
>> --Andy
> 
> Hi Andy - I ran into this same problem.
> 
>       When Accessorizer first came out in 2002, it was just a standalone 
> NSService, not an app.  However, because it needed to grow into an app in 
> order to have settings, options and other things, I converted it to an app.  
> Besides, several developers actually wanted it to be an app so they could 
> work within the app itself. 
> 
>       I couldn't figure out how to keep it from being activated once a 
> service was invoked.  
>       
>       The solution I came up with is two-fold:
> 
>       1) I inform my users to minimize Accessorizer to the dock.  I also have 
> a preference for minimizing to the dock upon launch.  So, if a service is 
> invoked, and if Accessorizer is not running, then Accessorizer will launch, 
> minimize itself to the Dock, and perform the service.  At least this keeps 
> Accessorizer's interface from being brought to the front and blocking Xcode.  
> However, Accessorizer, at this point in the process, is still the active app. 
>   To solve that:  
> 
>       2) I have preferences to activate the editor (Xcode or TextMate) after 
> a Service or Accessorizer Action (Accessorizer uses just one Service 
> invocation for 28 code gen actions that you can pick from a status bar menu 
> or floating menu). 
> 
>       The effect is that you never leave Xcode.  This works in full screen 
> mode as well.   I have other preferences for auto-inserting the results into 
> Xcode at the current insertion point.  
> 
>       So, basically, my solution was to minimize my app, do the service work, 
> then activate Xcode, then insert results.  
> 
>       Maybe there's a better way?
> 
>       -Kevin
> 
> 
>> 
>> _______________________________________________
>> 
>> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>> 
>> 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:
>> https://lists.apple.com/mailman/options/cocoa-dev/kcall%40mac.com
>> 
>> This email sent to kc...@mac.com
> 
> _______________________________________________
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> 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:
> https://lists.apple.com/mailman/options/cocoa-dev/witness.of.teachtext%40gmx.net
> 
> This email sent to witness.of.teacht...@gmx.net


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to