【发布时间】:2015-01-14 22:09:38
【问题描述】:
我将 Xcode 从 Objective-C 生成的屏幕保护程序模板重写为 Swift,当我尝试加载它时,我收到以下消息:
您不能在此版本的 MacOSX 中使用 BlahBlah 屏幕保护程序。
请联系供应商获取新版本的屏幕保护程序。
我目前正在经营小牛队。这是否意味着 Swift 屏幕保护程序只能在 Yosemite 中使用,或者甚至不在那里?
这是我用来替换 Objetive-C 的 Swift 代码:
import Foundation
import ScreenSaver
class BlahBlahView : ScreenSaverView {
convenience override init() {
self.init(frame: CGRectZero, isPreview: false)
}
override init(frame: NSRect, isPreview: Bool) {
super.init(frame: frame, isPreview: isPreview)
setAnimationTimeInterval(1.0 / 30.0)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func startAnimation() {
super.startAnimation()
}
override func stopAnimation() {
super.stopAnimation()
}
override func drawRect(rect: NSRect) {
super.drawRect(rect)
}
override func animateOneFrame() {
}
override func hasConfigureSheet() -> Bool {
return false
}
override func configureSheet() -> NSWindow? {
return nil
}
}
这些是我的项目设置:
这最初是在 MacOSX 10.9 上创建的 Objective-C 项目(没有 Swift Screensaver 模板),而我使用的 API Screensaver 已经存在多年了。
【问题讨论】:
-
你能在你的 OS X 上运行任何在 Xcode 之外用 Swift 构建的应用程序吗?
-
@BrandonBuck 是的,我可以。
-
@Rob 我认为我没有使用 10.10 API。它甚至会编译吗?我也找不到 OS X 部署目标,但它与屏幕保护程序模板中生成的相同。我在那里没有改变任何东西。我将发布项目设置的屏幕截图。
-
你知道你的问题被复制了there吗?
标签: macos swift osx-mavericks screensaver