如何通过 smb 将远程打印机添加到 Mac? (Xcode 8, Swift 3)

How can you add a remote printer to a Mac over smb? (Xcode 8, Swift 3)

我们有一个带有 samba 的打印服务器,我想为我们的用户(Mac)编写一个程序,他们可以在其中看到允许使用的打印机并将它们添加到他们的系统中单击鼠标。

我已经得到的:

我还想要什么:



我已经尝试添加带有 'NSPrinter' 的打印机,但是当我想用名称初始化一个打印机时,它 returns 'nil'.

我还尝试添加打印机
lpadmin -p NAME -v smb://ADDRESS -o printer-is-shared=false -E
但是使用这种方法我的打印机没有添加到 'systemconfiguration' 的打印机列表中,我也不知道如何将它与 Mac 的正确驱动程序相关联,比如"Lexmark X544".



欢迎提出意见和批评。
非常感谢:)

This 博客条目帮助我了解到在 Mac 中您实际上并没有驱动程序,因为当您添加打印机时,所有 "drivers" 他们都会在他们的选择中显示您菜单是 PPD(PostScript 打印机描述)。


现在我明白了,我将命令更改为:

lpadmin -p NAME -v smb://ADDRESS -P /Path/to/PPD -o printer-is-shared=false -E

它还自动为我创建了打印机作为 NSPrinter。