項目中有個需求:下載公司網站的用戶協議到本地。我這邊的設計是調用iOS原生的Open In功能,讓用戶將協議文檔(PDF格式)保存到iBooks。為了測試Open In功能,在項目目錄中添加了一個PDF文檔(statement.pdf),可以通過如下代碼獲取文件路徑:
NSURL *statementURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"statement.pdf" ofType:nil]];
這個文件可以通過Air Drop分享出去,卻無法拷貝到iBooks,始終不得其解,查看了Apple官方的Sample Code DocInteraction,確定用法無誤,后來嘗試將statement.pdf放在App的沙盒目錄(Document目錄中),結果就可以正常工作了。原來是文件位置問題,App本身文件無法拷貝出來,這個不知道有沒有Apple官方文檔做過說明,如果哪位朋友知道,還請指教。
總結一下:項目目錄中的文件無法使用Open In拷貝到其他App打開,沙盒中的文件可以。