我使用由loginItems运行的xpcservices为os x应用程序创建项目。这意味着该服务建立在应用程序的路径中:{APP_NAME}.app/Contents/Library/LoginItems
谁负责运行该服务是主要的应用程序:
NSXPCConnection *connection = [[NSXPCConnection alloc] initWithLoginItemName:@"{SERVICE_NAME}.app" error:&error];
我使用了类:来自apple的docs示例的NSXPCConnection + LoginItem.h: https://developer.apple.com/library/mac/samplecode/AppSandboxLoginItemXPCDemo/Listings/iDecide_NSXPCConnection_LoginItem_h.html
问: 为什么当我更新服务代码(甚至只是日志)时它没有改变?
你应该知道:
我删除了与此项目和服务相关的所有文件 (我没有使用LaunchAgents或LaunchDaemons文件夹)
我确实删除了以下服务:launchctl remove {SERVICE_LABLE}
我使用控制台应用程序来查看我正在运行的版本之间的差异
我甚至买了“cleanMyMac3.app”并重新启动,但仍然从应用程序的Xcode运行,仍然显示以前版本的日志。
我搜索了与服务名称相关的系统上的文件,我发现创建的文件夹很少,我删除了它们:
我不是沙箱工作
答案 0 :(得分:0)
您是否正确引用了服务(XPC服务)?
即。 (根据苹果示例)
`NSXPCConnection *connection = [[NSXPCConnection alloc] initWithLoginItemName:@"XYZABC1234.com.example.iDecideHelper.app" error:&error];`
此外,由于此示例已经过时,如果您遍历XPC要求,您会注意到需要进行一些更改:
因此,在Apple示例中,您列出的IDecideHelpers标识符为:com.example.iDecide.WhateverServiceName
。 iDecide(主应用程序)将是com.example.iDecide