到目前为止,我的项目一直依赖以下命令来调整屏幕保护程序设置:
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实现这样的事情,有什么建议吗?
我已成功通过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中的容器应用程序文件?
谢谢!
我已经设法让显示器立即进入睡眠状态
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代码.
目前,我的 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,我也会收到它们的响应,我想知道这是否会使速度变慢。 …
macos ×2
cbperipheral ×1
ios ×1
ios8 ×1
objective-c ×1
screensaver ×1
security ×1
swift ×1
wakeup ×1