无法使用 xcode 为我的 iphone 应用程序打开 PDF
Cannot open PDF using xcode for my iphone app
我有一个 iPhone 应用程序,我实现了一个 UIDocumentPickerViewController
。一旦用户选择 PDF
,我就会收到 PDF 的 URL
。
我正在尝试获取该 PDF 的数据,以便将其发送到我的服务器,但我收到以下响应:
Error Domain=NSCocoaErrorDomain Code=257 "The file “aaa.pdf” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=/private/var/mobile/Containers/Shared/AppGroup/9C57E7F1-0997-4F57-A3EF-A7EFC3EF6158/File Provider Storage/aaa.pdf, NSUnderlyingError=0x282b43600 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
这就是我尝试将其转换为数据的方式:
var documentData = Data()
do {
documentData.append(try Data(contentsOf: documentURL))
} catch {
throw Error.Creation
}
我在某处读到沙盒应用程序无法读取文件,但当我查看目标功能时,我什至没有看到沙盒功能。
知道为什么会这样吗?
谢谢
好的,问题是我在创建文档选择器时使用的是“.open”而不是“.import”。成功了。
已更新为 Swift 5 - Xcode 12:
为了获得对您导入的文件的读取权限,请将 asCopy: true
添加到文档选择器:
let doc = UIDocumentPickerViewController(forOpeningContentTypes: types, asCopy: true)
我有一个 iPhone 应用程序,我实现了一个 UIDocumentPickerViewController
。一旦用户选择 PDF
,我就会收到 PDF 的 URL
。
我正在尝试获取该 PDF 的数据,以便将其发送到我的服务器,但我收到以下响应:
Error Domain=NSCocoaErrorDomain Code=257 "The file “aaa.pdf” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=/private/var/mobile/Containers/Shared/AppGroup/9C57E7F1-0997-4F57-A3EF-A7EFC3EF6158/File Provider Storage/aaa.pdf, NSUnderlyingError=0x282b43600 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
这就是我尝试将其转换为数据的方式:
var documentData = Data()
do {
documentData.append(try Data(contentsOf: documentURL))
} catch {
throw Error.Creation
}
我在某处读到沙盒应用程序无法读取文件,但当我查看目标功能时,我什至没有看到沙盒功能。
知道为什么会这样吗? 谢谢
好的,问题是我在创建文档选择器时使用的是“.open”而不是“.import”。成功了。
已更新为 Swift 5 - Xcode 12:
为了获得对您导入的文件的读取权限,请将 asCopy: true
添加到文档选择器:
let doc = UIDocumentPickerViewController(forOpeningContentTypes: types, asCopy: true)