我使用SMCopyAllJobDictionaries和SMJobCopyDictionary检查应用程序是否是Mac中的登录项,但在10.10中,它们已被弃用.那么他们的官方推荐替代品是什么?
我使用QLPreviewView在应用程序中显示quicklook预览。没有沙箱,这很好用,但是一旦将应用程序更改为沙箱,则无法显示预览。
我在控制台中发现错误: QuickLookUIHelpe(20786) deny file-read-data XXX.
我使用了安全范围的书签和com.apple.security.files.user-selected.read-write来授予用户主目录的访问权限,然后:
[allowedURL startAccessingSecurityScopedResource];
self.myPreiviewItem.myURL = fileURL;
self.myQLPreviewView.previewItem = self.myPreiviewItem;
[self.myQLPreviewView refreshPreviewItem];
[allowedURL stopAccessingSecurityScopedResource];
Run Code Online (Sandbox Code Playgroud)
有了这些,我可以删除用户主目录的文件,但 QLPreviewView 无法工作。我不知道这两个场景有什么区别,QLPreviewView 是否需要更多沙箱?
如果我在授权中添加com.apple.security.files.downloads.read-only,可以预览“下载”中的文件,但无法预览用户主目录的其他文件。
在标准NSWindow上创建自定义标题栏的帮助下,我一直在尝试为NSWindow 创建一个自定义标题栏.
NSView *themeFrame = [[window contentView] superview];
NSView *firstSubview = [[themeFrame subviews] objectAtIndex:0];
[titleBarView setAutoresizingMask:(NSViewMinYMargin | NSViewWidthSizable)];
[themeFrame addSubview:titleBarView positioned:NSWindowBelow relativeTo:firstSubview];
Run Code Online (Sandbox Code Playgroud)
它适用于OSX 10.9,但在OSX 10.10中,Xcode发布了一个警告:
NSWindow warning: adding an unknown subview:XXX
0 AppKit 0x00007fff88f80b3c -[NSThemeFrame addSubview:] + 107
1 AppKit 0x00007fff8896fb8f -[NSView addSubview:positioned:relativeTo:] + 208
Run Code Online (Sandbox Code Playgroud)
该应用程序可以运行良好并显示自定义标题,此警告仅显示在Xcode控制台中.那么OSX 10.10在这里做了一些改变吗?以及添加自定义标题栏的任何新方法?