我正在关注cocoa文档以确定OSX中当前最前面的应用程序 - 也就是接收关键事件的应用程序.但是,当我执行以下swift时,API总是返回相同的值 - XCode但是chrome当我切换到它时,它永远不会更改为任何其他应用程序.我也尝试执行已编译的程序,但XCode现在不再显示它,而是显示我正在运行的终端应用程序.
确定从OSX接收关键事件的应用程序的正确方法是什么?我这方面的代码坏了吗?
import Cocoa
func getActiveApplication() -> String{
// Return the localized name of the currently active application
let ws = NSWorkspace.sharedWorkspace()
let frontApp = ws.frontmostApplication
return frontApp.localizedName
}
var frontMostApp : String
while true {
frontMostApp = getActiveApplication();
NSLog("front app: %@", frontMostApp)
sleep(1);
}
Run Code Online (Sandbox Code Playgroud) 我有一个chrome 应用程序,我通过通过 css 类添加-webkit-app-region: drag;到 a使整个窗口可拖动div:
例子:
<style>
draggable {
-webkit-app-region: drag;
}
</style>
<div class='draggable'>
hello world
</div>
Run Code Online (Sandbox Code Playgroud)
的问题是,我不能禁用拖动通过去除draggable从类div(通过jQuery或铬调试器例如)。除了这是一个潜在的错误之外,是否有任何解决方法可以阻止div使应用程序窗口可拖动?
仅供参考:我已经在 Chrome(34.0.187.116)、Chrome Beta(35.0.1916.69)、Chrome Canary(36.0.1964.2) 上检查过这个,并且都有相同的行为。操作系统:MacOS X 10.9.2
当您MyGreatClass在Swift中实现一个类时,其完全限定名称将为<MyPackageName>.MyGreatClass。这与Objective-C不同,后者的同一类的完全限定名称为MyGreatClass。
不幸的是,这给我带来了一个问题。当我使用NSUnarchiver归档文件并编写了Objective-C对象时,我无法使用Swift -classes 解压缩文件(有关详细说明,请参见下文)。
这意味着我需要找到一种方法来重命名我的Swift类的名称空间。我怎么做?
任何帮助将是巨大的!
我已经实现了一个读取文件的小程序,该文件已使用归档NSArchive。
这些是我的文件:
main.swift:
import Foundation
// parse command line - total path to *.trace file (from Apple's Instruments app)
var traceFilePath = Process.arguments[1]
var traceFile = NSURL(fileURLWithPath: traceFilePath)
var error:NSError?
// check if the file exists
if (traceFile?.checkResourceIsReachableAndReturnError(&error) == false){
// file does not exist or cannot be accessed
println("\(error)")
exit(1)
}
var …Run Code Online (Sandbox Code Playgroud)