我传递给SMLoginItemSetEnabled的参数是什么?

时间:2015-05-14 07:28:42

标签: xcode swift cocoa

我尝试使用帮助程序使应用程序在登录时运行。现在我只有一个做法:设置SMLoginItemSetEnabled。

目标c中的

很容易

 if (!SMLoginItemSetEnabled((__bridge CFStringRef)@"Test.MyTestApp", (BOOL)[sender state])) {
     NSLog(@"The login was not successful");
}

但是,在swift编译器中抱怨:"无法调用' SMLoginItemSetEnabled'使用类型'(CFString,Boolean)'"

的参数列表
   let str = "Test.MyTestApp"
    let cfStr:CFString = str as NSString
    let state:Boolean = 1

    if  SMLoginItemSetEnabled(cfStr  , state){
        println("The login was not successful")
    }

知道调用此函数的核心方法是什么?

1 个答案:

答案 0 :(得分:0)

我一直在使用以下(在Swift 2.0中)

let b = enabled ? 1 : 0
if SMLoginItemSetEnabled(bundleIdentifier as CFString, Boolean(b) as Boolean) == 0 {
    NSLog("Unable to update startup item to \(enabled) for \(bundleIdentifier)")
}