当前位置:  开发笔记 > IOS > 正文

如何在Xcode中正确布置独立的系统服务?

如何解决《如何在Xcode中正确布置独立的系统服务?》经验,为你挑选了1个好方法。

我最近有兴趣为OS X编写一些系统服务,但由于我没有应用程序来宣传服务,我必须求助于编写独立的系统服务.Apple关于系统服务的文档虽然简洁,但其关于独立服务的文档并不存在.

我有迄今是从捆绑包构建的Xcode项目,与两个来源HashifyService.hHashifyService.m.这是我的测试代码:

- (void) doServiceWork:(NSPasteboard *)pboard
            userData:(NSString *)userData
                 error:(NSString **)error {
  NSLog(@"Actually in the service now");
  NSString *pboardString;
  NSArray *types;

  NSLog(@"do test magic service! (pboard: %@, types: %@)", pboard, [pboard types]);


  NSString* outputString = @"It Worked";
  types = [NSArray arrayWithObject:NSStringPboardType];
  [pboard declareTypes:types owner:nil];
  [pboard setString:outputString forType:NSStringPboardType];
  [outputString release];
  return;
}

这是NSServices我的条目Info.plist:


NSMenuItem

    Menu item title
    HashifyTest

NSMessage
doServiceWork
NSPortName
HashifyService
NSReturnTypes

    NSStringPboardType

NSSendTypes

    NSStringPboardType


然后,我构建服务包并将其放置在~/Library/Services/适当检测到的位置,并且我可以选择使用该服务.但是,在激活服务时,会发生错误并记录到控制台:

..../Hashify.service/Contents/MacOS/Hashify: cannot execute binary file 

我究竟做错了什么?



1> 小智..:

你需要一个main()功能.这应该使用注册服务NSRegisterServicesProvider()并进入运行循环.那是在文档中.

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有