- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我的 iOS 应用程序中,我有以下代码用于 AirPrinting 一个简单的 NSString。
#pragma mark - Print
-(IBAction)print:(id)sender {
UIPrintInteractionController *pic = [UIPrintInteractionController sharedPrintController];
pic.delegate = self;
UIPrintInfo *printInfo = [UIPrintInfo printInfo];
printInfo.outputType = UIPrintInfoOutputGeneral;
printInfo.jobName = @"Message";
pic.printInfo = printInfo;
UISimpleTextPrintFormatter *textFormatter = [[UISimpleTextPrintFormatter alloc]initWithText:self.Message.text];
textFormatter.startPage = 0;
textFormatter.contentInsets = UIEdgeInsetsMake(72.0, 72.0, 72.0, 72.0); // 1 inch margins
textFormatter.maximumContentWidth = 6 * 72.0;
pic.printFormatter = textFormatter;
pic.showsPageRange = YES;
void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) =
^(UIPrintInteractionController *printController, BOOL completed, NSError *error) {
if (!completed && error) {
NSLog(@"Printing could not complete because of error: %@", error);
}
};
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
[pic presentFromBarButtonItem:sender animated:YES completionHandler:completionHandler];
} else {
[pic presentAnimated:YES completionHandler:completionHandler];
}
}
当我运行我的项目(以测试它)时,这是我在 UIPrintInteractionController 上点击“打印”时在输出调试器窗口中遇到的错误:
Simulated\032InkJet\032@\032USER\032NAME\032iMac._ipp._tcp.local.: startJob: Unable to connect to printd: Connection refused
我在使用打印模拟器的 iOS 5.1 模拟器中遇到此错误。 为什么会出现此错误?我感觉这与我使用打印模拟器的方式有关。
感谢任何帮助,作为旁注,有谁知道如何从 iPad 上的普通 UIButton 而不是 BarButtonItem 显示 UIPrintInteraction Controller ?
编辑:需要注意的是,在 iOS 6.0+ 中使用 Share Sheets 时会自动设置 AirPrint。
最佳答案
我遇到了完全相同的问题,基本上 mincemeat 的回答解决了这个问题。但是,我确实必须先跳过几个圈。最终这是某种文件权限问题。
我执行了以下操作(注意,需要管理员权限):
打开终端并导航到文件夹/private/var/tmp/
键入“whoami”以查看您的确切用户名。
假设您的用户名为“dogtest”。输入“sudo chown dogtest:admin printd”。您会收到一条警告,基本上是要求您确保自己知道自己在做什么。
输入您的管理员密码并按回车键。
现在您拥有 printd 文件的所有权,可以用它做任何您想做的事。通过键入“mv printd printd-ren”将文件重命名为其他名称。
打开 iOS 模拟器和打印机模拟器。
在 iOS 模拟器中打开 Safari 并转到任何网页。
点击底部中心的“共享”按钮并选择“打印”。
按照提示完成打印。您应该会在 Printer Simulator 日志窗口中看到更多事件。此时,使用您的帐户权限重新创建了 printd 文件(这很好)。
同时退出 iOS 模拟器和打印机模拟器。
在模拟器中重新运行您的 iOS 应用,然后重新打开打印机模拟器。
现在您应该能够从您的应用模拟 Air Print,并且打印输出将以 PDF 格式在预览中打开。
我希望这能为您解决问题或至少为您指明正确的方向。祝你好运。
关于objective-c - AirPrint 连接被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10163092/
我向自定义 QLPreviewController 的 navigationItem 添加了一个操作按钮。当点击操作按钮时,我会呈现一个 UIPrintInteractionController。 我
我正在开发一个应用程序,需要能够在用户完成注册过程后打印出名称标签。它需要在不显示使用 UIPrintInteractionController 时自动创建的弹出窗口的情况下执行此操作。 我知道其他应
我正在制作一个应用程序,用户首先选择默认打印机,然后在单击“打印”按钮时继续,照片会自动打印,无需任何对话框。下面是我的代码。我收到错误消息“PrintViewController 没有初始化程序”
在我的应用程序中,可以打印不同尺寸的照片。这工作正常,但对于 iOS 8,即使打印对话框显示例如 5"x7",纸张大小始终为字母/A4。如果用户再次选择纸张尺寸,则纸张尺寸变为例如5"x7". 有没有
我已经在我的应用程序中实现了 AirPrinting,但我遇到了一个奇怪的问题。每当出现打印对话框时,都不会显示取消或完成/打印按钮,如下图所示。 我使用的代码如下: if ([UIPrintInte
我是否必须使用支持 Apple AirPrint 的打印机才能在我的 iPad 应用程序中使用 AirPrint? 我不能在 Mac 上设置共享 Bonjour 打印服务并连接到它吗? 最佳答案 您必
我想将 AirPrint 功能添加到我的 iPad 应用程序 我一直在尝试显示 Apple 的 Drawing and Printing Guide 中描述的打印机选项。 我有工具栏和UIBarBut
我有一个单例弹出窗口,因此我一次只显示一个弹出窗口。当我执行共享弹出窗口并选择 AirPrint 时,共享弹出窗口会正确消失,并在其位置显示 AirPrint 弹出窗口。 但是,如果我再次按下共享按钮
我有Posiflex打印机。据我所知,它没有启用 AirPrint。而且它也没有wifi。我需要做的是连接到打印机并使用我的 iPad (IOS 5) 中安装的支持 AirPrint 的应用程序打印输
我正在编写使用收据打印机将收据打印到连续纸卷上的代码。这些收据类似于您在商店使用信用卡付款时收到的收据。 我正在使用 UIMarkupTextPrintFormatter,您可以在下面的代码中看到。
我需要在没有用户交互的情况下在后台使用 Xcode 进行 AirPrint。我不在乎是否必须使用第 3 方框架来执行此操作。这是我的代码,但需要用户的交互。 NSMutableString *pri
我愿意在 iOS 中使用 AirPrint 从我的应用程序中导出一些 pdf 文件。然而,当我呈现 UIPrintInteractionController 时,它显示两个后退图标 <<。我附上了图像
我有点卡住了:-) 我有一个小应用程序,它允许我将地址簿中的字段放入标签类型 UIView 中。现在我希望能够打印出这些标签:-)如果它出现在一张普通的纸上,我现阶段不介意 - 我稍后会整理这部分内容
我的应用程序当前正在创建大小为 2480 3508 的图像(A4 页面)如何将此图像发送到 A4 页面上的 AirPrint?创建图像后,它会将其保存到照片应用程序中,我还想将其发送以进行打印。有任何
我可以选择在我的 iPhone 应用程序中进行打印。 按下“打印”按钮后,将显示 UIPrintInteractionController。问题是如果没有连接打印机,我想在按下打印按钮时显示警告。 我
我正在尝试在我的应用程序中实现 AirPrint。目前,我的代码是这样的: AirPrintingViewController.h #import @interface AirPrintingVie
我必须在横向模式下向我的 WebView 发送 Airprint。但是我在设置方向时遇到错误。我写了这段代码 let printcontroller = UIPrintInteractionC
我无法打印到我的打印机模拟器... 这是我所做的: 找到打印机模拟器 https://developer.apple.com/download/more/?=for%20Xcode 下载并安装 Add
我想显示一个列表,其中包含设备可通过 AirPrint 访问的所有打印机。 我使用 UIPrinterPickerController 让它工作。 是否有以自定义方式显示此 PickerControl
在我的 iOS 应用程序中,我有以下代码用于 AirPrinting 一个简单的 NSString。 #pragma mark - Print -(IBAction)print:(id)sender
我是一名优秀的程序员,十分优秀!