![](/img/trans.png)
[英]Receiving meaningful notifications from other apps and NotificationCenter
[英]Receiving files from other iOS apps with Copy In
我希望我的應用程序從 files.app 應用程序接收 .wav 文件。 我將 com.microsoft.waveform-audio 添加到 Info.plist 中的 Document Types 數組,並且我的應用程序在共享操作表中顯示為“Open In X”(而不是 Copy In )。 我想實際復制文件,而不是原地打開它們,操作系統不允許我復制這些文件(錯誤代碼 257)。 我正在嘗試復制 UIApplicationLaunchOptionsURLKey 路徑中的文件,但沒有成功。
launchOptions 字典在 applicationDidLaunch WithOptions 中也包含 RequireOpenInPlace=1。
如何讓其他應用程序使用 UIActivityViewController 將文件復制到我的?
如果您“就地”打開文件(而不是復制),您應該使 url 引用的資源可以被進程訪問。
在訪問文件之前嘗試調用url.startAccessingSecurityScopedResource()
。 然后您應該能夠復制該文件。
當您不再需要該文件時,不要忘記使用url.stopAccessingSecurityScopedResource()
平衡調用。
參考: https : //developer.apple.com/documentation/foundation/nsurl#1663809
編輯:另一種解決方案可能是,如果您在 Info.plist 中將LSSupportsOpeningDocumentsInPlace
設置為NO
。 然后您將始終在共享表中看到“復制到 XYZ”,因此系統會將文件復制到您的應用程序沙箱中的 Documents/Inbox 文件夾中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.