我正在制作一款以编程方式更改壁纸的应用 那是我的代码:
do{
let imgurl = NSURL.fileURL(withPath: self.app_path+self.wallpaper_folder_name+self.file_name);
let workspace = NSWorkspace.shared();
if let screen = NSScreen.main(){
try workspace.setDesktopImageURL(imgurl, for: screen, options: [:]);
do{
print("Awesome !");
}
}
}catch{
print(error);
}
它正在工作(部分)。
问题是:
但是,当我在应用 in fullScreen 中更改我的壁纸时,如下所示: 壁纸不会改变(没有错误) 所以,你知道为什么吗?以及如何解决?
修改
试图使用该代码
let screens = NSScreen.screens()!;
print("SIZE : "+String(screens.count));
for screen in screens{
print("TRY ...");
try workspace.setDesktopImageURL(imgurl, for: screen, options: [:]);
do{
print("DONE");
}
}
但它打印了我" SIZE:1" (当我在全屏幕上看应用程序时)...
并且不要改变我的壁纸:/