1. Info.plist设置
Supports opening documents in place - YES
Application supports iTunes file sharing - YES
2. Document Types设置
添加分享到app的文件类型,Types需要准确,比如excel的xlsx文件是org.openxmlformats.spreadsheetml.sheet,Handler Rank选default即可
3.设置文件分享的响应方法,app入口是appdelegate的情况应该是使用openURL:options:completionHandler,入口是SwiftUI的App的话,需要使用WindowGroup里的view的onOpenURL(_)修饰方法,回调函数中可以获取到分享文件URL
4.步骤3中获取到的文件URL不能直接读取,否则会报错说"don't have permission...",需要url调用startAccessingSecurityScopedResource方法,返回true时可以读取内容,使用完需要调用stopAccessingSecurityScopedResource
总的来说就是很多坑,步骤4这个坑我闻所未闻,并且十分不能理解,用户手动分享来的文件不让访问😩