加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

macos – 在优胜美地之前,Swift屏保可以在Mac OS X中运行吗?

发布时间:2020-12-14 05:27:38 所属栏目:百科 来源:网络整理
导读:我重写了 Xcode从Objective-C到 Swift生成的屏幕保护程序模板,当我尝试加载它时,我收到以下消息: You cannot use the BlahBlah screensaver with this version of MacOSX. Please contact the vendor to get a new version of the screen saver. 我现在正在
我重写了 Xcode从Objective-C到 Swift生成的屏幕保护程序模板,当我尝试加载它时,我收到以下消息:

You cannot use the BlahBlah screensaver with this version of MacOSX.

Please contact the vendor to get a new version of the screen saver.

我现在正在经营小牛队.这是否意味着Swift屏幕保护程序只能在优胜美地工作,甚至不在那里?

这是我用来替换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,屏幕保护程序,已存在多年.

要使用Swift编写的屏幕保护程序在Mac OS X 10.9上运行,请将项目设置Embedded Content Contains Swift Code设置为Yes.

在代码级别,它将被视为两行:

EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;

在project.pbxproj文件中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读