草庐IT

macos - 如何使用 Swift 在 OS X 上读取 Finder 图标(左侧源列表)

我尝试阅读有关左侧源列表中finder中显示的图标的信息。我已经使用以下选项尝试了NSFileManagerNSURLEffectiveIconKey读取的图标与finder中的图标不同NSURLCustomIconKey-返回nilNSURLThumbnailKey-返回nilNSThumbnail1024x1024SizeKey-返回nil我设法使用NSFileManager读取了所有安装的设备,但我不知道如何读取与设备连接的图标?也许有人有任何想法或提示。我也试过用varimage:NSImage=NSWorkspace.sharedWorkspace().iconForFile

macos - 使用 Swift 获取我的 MacBook 的电池状态

我想设置一个Playground来获取我的macbook的电池状态。我已经尝试过以下方法:importCocoaimportIOKitimportFoundationvarblob=IOPSCopyPowerSourcesInfo()我目前收到如下错误信息Useofunresolvedidentifier'IOPSCopyPowerSourcesInfo' 最佳答案 它在Playground中不起作用,但在真实应用中有效。不过,我无法仅使用Swift和IOPowerSources.h访问importIOKit头文件:我必须搭建一个通

objective-c - 捕获 macOS 窗口的屏幕截图

注意:这个问题非常笼统(例如,要求提供Objective-C和Swift代码示例),因为它旨在记录如何尽可能方便地在macOS上捕获窗口屏幕截图。我想用Objective-C/Swift代码捕获macOS窗口的屏幕截图。我知道这是可能的,因为在macOS上有多种截屏方式(⇧⌘4,Grab实用程序,screencapture在命令行上,...),但我不知道如何在我自己的代码。理想情况下,我可以指定特定应用程序的窗口,然后在NSImage中捕获它。或CGImage然后我可以处理并显示给用户或存储在文件中。 最佳答案 macOS上的屏幕截

macos - 检查 keyDown event.modifierFlags 产生错误

我继承了NSTextView并重写了keyDown。我想检测命令键组合。例如,Command-L。Apple'sdocumentation表示您只是使用NSEventModifierFlags.CommandKeyMask和修饰符标志(在传递的NSEvent中)。当我这样做时:letck=NSEventModifierFlags.CommandKeyMask我收到一个奇怪的错误:Binaryoperator'&'cannotbeappliedtotwo'NSEventModifierFlags'operands.这是怎么回事?这是swift2.0,xcode7。谢谢!

macos - 在 El Capitan 中,NSPopover 有时位置错误

我正在构建一个状态栏小应用程序,当我单击该图标时它会显示一个NSPopover。一切正常,直到我升级到ElCapitan。问题是当我第一次启动应用程序时,我模拟状态栏图标自动按下,因为我想看到弹出窗口,它出现在屏幕的左下角。在我关闭它并再次打开它后,它从屏幕顶部显示正常。你看有什么不对吗?这是代码,当我在showPopover中打印值时,没有任何问题privateletmenu=MenuBarController()overrideinit(){super.init()self.menu.onMouseDown={if(self.menu.iconView?.isSelected==t

macos - 快速抓取 "My Card"CNContact

我似乎无法弄清楚如何从联系人中获取用户“我的名片”。我正在使用swift开发原生Mac应用程序。 最佳答案 它不是来自(MacOS10.11的全新)CNContact,而是MacOS的ABAddressBookframeworkhasamethodcalledme()这将返回登录用户的ABPerson记录。并获得等效的vCard,callvCardRepresentation()onthatABPersonobject.上述解决方案的好处在于它可以在较旧的MacOS版本(例如MacOS10.9、10.10)上运行。Marek指出了C

macos - Swift 中的 Cocoa 授权

这是我第一次使用Swift、Cocoa(有CocoaTouch经验)和使用授权,所以老实说我什至不知道我是否走在正确的轨道上。我正在尝试修改主机文件,这需要用户身份验证,但AuthorizationCreate和AuthorizationExecuteWithPrivileges方法都出错。varauthorizationRef:AuthorizationRefvarstatus:OSStatusstatus=AuthorizationCreate(nil,environment:kAuthorizationEmptyEnvironment,flags:kAuthorizationFl

macos - 滚动时 NSTableView 非常滞后

在我的OSX应用程序中,它使用CoreData我的表格View在滚动时非常滞后,我在那里只有大约100多行......我正在使用Cocoa绑定(bind)NSArrayController在TableView中显示我的数据。我只有一个具有13个属性的实体,但该TableView/ScrollView仍然非常滞后。是否存在导致该行为的一些常见错误/错误编码?滚动时我的CPU使用率约为85%。有人知道这是为什么吗?我正在使用Xcode7发布版本。更新:仪器看起来像这样(我第一次使用它):更新2:我使用NSVisualEffectView并重写allowsVibrancy以返回true,因此

macos - OS X Storyboard : how to show a window programmatically?

我正在创建一个OSX状态栏应用程序。我正在努力实现以下目标:应用开始时不可见,带有菜单栏项点击菜单栏项显示主窗口停用时,窗口隐藏所以我试图在单击菜单项时以编程方式显示主窗口,但没有成功。我的主窗口选中了“停用时隐藏”。隐藏后,我无法使用代码使其再次可见。这是我现在的代码,但它不起作用:@IBActionfuncmenuClick(sender:AnyObject){varmainWindow=NSStoryboard(name:"Main",bundle:nil)?.instantiateInitialController()mainWindow?.makeKeyAndOrderFro

macos - 将存档类型从 *Generic Xcode Archive* 更改为 *Mac App Archive*

我有一个用Swift编写的小型命令行应用程序,现在我想将其归档。然而,像我之前的许多其他人一样,我遇到了如何将ArchiveType从GenericXcodeArchive更改为MacAppArchive。解决此问题的大多数先前答案建议将目标的跳过安装标志设置为否。我已经这样做了,但没有任何区别。我还尝试为该项目将相同的标志设置为No,但结果仍然相同。其中一些答案还提出了一些其他建议,我也在适当的地方遵循了这些建议,但ArchiveType仍然拒绝让步。整个项目由一个10行的文件组成,现在我已经想不出还有什么可以摆弄的了。 最佳答案