小编Lee*_*rew的帖子

macOS(10.13 High Sierra)不再在com.apple.screensaver中存储屏幕保护程序设置

到目前为止,我的项目一直依赖以下命令来调整屏幕保护程序设置:

defaults write com.apple.screensaver askForPasswordDelay 0
defaults write com.apple.screensaver askForPassword true
Run Code Online (Sandbox Code Playgroud)

从macOS High Sierra(10.13)开始,似乎这些设置不再存储在com.apple.screensaver中

我想避免Apple Script实现这样的事情,有什么建议吗?

security macos screensaver macos-high-sierra

16
推荐指数
1
解决办法
2446
查看次数

从Today Extension访问app Documents文件夹

我已成功通过userDefaults在我的应用程序和今日扩展程序之间共享数据,但是我遇到位于应用程序的Documents文件夹中的实际文件时遇到了问题.

当我在我的应用程序中使用此代码时:

var documentsDir:NSString = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
Run Code Online (Sandbox Code Playgroud)

它返回:

/var/mobile/Containers/Data/Application/296494AA-946C-40E0-8646-F0895E131DCB/Documents/
Run Code Online (Sandbox Code Playgroud)

但在扩展中它返回:

/var/mobile/Containers/Data/PluginKitPlugin/AB484342-537A-4CE7-9EF3-F2CAE352C8A3/Documents/
Run Code Online (Sandbox Code Playgroud)

显然,文件不在那里.

我读到了我应该使用的地方:

let containerURL = manager.containerURLForSecurityApplicationGroupIdentifier("group.com.company.app")
let filePath = containerURL.path
Run Code Online (Sandbox Code Playgroud)

但它返回:

/private/var/mobile/Containers/Shared/AppGroup/CD7CF610-EB5F-4246-8D30-D7F8BFA6A219
Run Code Online (Sandbox Code Playgroud)

这也没用.

如何让我的iOS 8 Today Extension读取位于Documents中的容器应用程序文件?

谢谢!

ios8 ios-app-extension ios-app-group

12
推荐指数
1
解决办法
5802
查看次数

以编程方式唤醒OSX上的显示

我已经设法让显示器立即进入睡眠状态

pmset displaysleepnow
Run Code Online (Sandbox Code Playgroud)

在终端,但是为了唤醒我才发现的显示器

pmset schedule wake "12/24/2009 00:00:00" 
Run Code Online (Sandbox Code Playgroud)

如果我尝试安排比现在至少10秒更早的任何事情,它就无法工作.

有没有办法以编程方式唤醒Cocoa中的显示?有人建议IOPMAssertionDeclareUserActivity但我找不到任何关于此的例子,所以我很挣扎.

顺便说一句,我使用Swift,但也欢迎使用Objective C代码.

macos objective-c wakeup swift

5
推荐指数
1
解决办法
1123
查看次数

使用 CoreBluetooth 提高文件传输速度

目前,我的 OSX 应用程序(中央)通过使用 writeValue 的可写特性将 4Kb 图像发送到我的 iOS 应用程序(外围)。

由于图像大小超出限制,我通过以下函数多次使用 writeValue :

func sendData() {
    while (self.sendDataIndex < self.dataToSend.length) {
        var amountToSend = self.dataToSend.length - self.sendDataIndex!

        if (amountToSend > NOTIFY_MTU) {
            amountToSend = NOTIFY_MTU
        }

        // Copy out the data we want
        var chunk = self.dataToSend.subdataWithRange(NSMakeRange(self.sendDataIndex!, amountToSend))

        // Send it
        self.discoveredPeripheral?.writeValue(chunk, forCharacteristic: self.setupCharacteristic, type: CBCharacteristicWriteType.WithoutResponse)

        // It did send, so update our index
        self.sendDataIndex = self.sendDataIndex!+amountToSend;

    }
    self.discoveredPeripheral?.writeValue("EOM".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true), forCharacteristic: self.setupCharacteristic, type: CBCharacteristicWriteType.WithResponse)
}
Run Code Online (Sandbox Code Playgroud)

我的问题是它花费的时间比我需要的要长得多,大约 30 秒。

奇怪的是,即使我在发送图像时使用 CBCharacteristicWriteType.WithoutResponse,我也会收到它们的响应,我想知道这是否会使速度变慢。 …

ios core-bluetooth cbperipheral cbcentralmanager

3
推荐指数
1
解决办法
1588
查看次数