Cocoa:使用pyobjc将应用程序添加到沙盒中启动

时间:2014-10-06 09:59:10

标签: objective-c cocoa pyobjc appstore-sandbox

我试图让用户选择从登录开始。但是,当我运行没有沙箱的应用程序时,下面的代码工作正常,但它不支持启用沙箱。我在控制台中看到了这个:SFL(8490):AddNewItemWithProperties_rpc返回5

def open_app_at_startup():
    app_path = NSBundle.mainBundle().bundlePath()
    url = NSURL.alloc().initFileURLWithPath_(app_path)
    login_items = LSSharedFileListCreate(kCFAllocatorDefault, kLSSharedFileListSessionLoginItems, None)
    props = NSDictionary.dictionaryWithObject_forKey_(True, kLSSharedFileListItemHidden)
    v = LSSharedFileListInsertItemURL(login_items,
                                      kLSSharedFileListItemLast,
                                      None,
                                      None,
                                      url,
                                      props,
                                      None)

1 个答案:

答案 0 :(得分:0)

https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLoginItems.html#//apple_ref/doc/uid/10000172i-SW5-SW1

解决方案是,如果我们想要应用沙盒,我们需要使用服务管理框架而不是共享文件列表。