iOS通過(guò)UIDocumentInteractionController實(shí)現(xiàn)應(yīng)用間傳文件
引言
話開(kāi)篇:由于iOS沙盒機(jī)制,APP文件存儲(chǔ)位置只能當(dāng)前應(yīng)用訪問(wèn),這里簡(jiǎn)單記錄一下用 UIDocumentInteractionController 實(shí)現(xiàn)APP間傳文件。
一、實(shí)現(xiàn)效果

兩個(gè) APP ,TestProjectA 將文件通過(guò) UIDocumentInteractionController 來(lái)傳遞到 TestProjectB
二、配置工程
要想通過(guò)系統(tǒng) UIDocumentInteractionController 功能展示指定的APP,那么,需要在指定的工程 Info.plist 加入如下信息:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd" >
<plist version="1.0" >
<dict>
<key> CFBundleDocumentTypes </key>
<array>
<dict>
<key> LSHandlerRank </key>
<string> Default </string>
<key> LSItemContentTypes </key>
<array>
<string> com.adobe.pdf </string>
<string> public.data </string>
<string> com.microsoft.powerpoint.ppt </string>
<string> public.item </string>
<string> com.microsoft.word.doc </string>
<string> com.adobe.pdf </string>
<string> com.microsoft.excel.xls </string>
<string> public.image </string>
<string> public.content </string>
<string> public.composite-content </string>
<string> public.archive </string>
<string> public.audio </string>
<string> public.movie </string>
</array>
</dict>
</array>
</dict>
</plist>
三、用法
1、彈出文件其他打開(kāi)方式工具欄
APP-A
self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:fileUrl]; self.documentInteractionController.delegate = self; [self.documentInteractionController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];
2、接收文件
APP-B
其實(shí)這里的所說(shuō)的 "接收文件" 是有些不妥的,因?yàn)?,?dāng) AppDelegate 的方法里獲取到文件的沙盒路徑已經(jīng)是 APP-B 的了,這里只是拿來(lái)就用。
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
if ([url.scheme isEqualToString:@"file"]) {
NSString * replaceStr;
#if TARGET_IPHONE_SIMULATOR//模擬器
replaceStr = @"file://";
#elif TARGET_OS_IPHONE//真機(jī)
replaceStr = @"file:///private";
#endif
NSString * filePathStr = [[NSString stringWithFormat:@"%@",url] stringByReplacingOccurrencesOfString:replaceStr withString:@""];
/** 業(yè)務(wù)邏輯 **/
}
return YES;
}
內(nèi)容僅為簡(jiǎn)單記錄,并不是什么新的技術(shù)。只是在開(kāi)發(fā)的時(shí)候需要時(shí)權(quán)當(dāng)個(gè)筆記。
以上就是iOS通過(guò)UIDocumentInteractionController實(shí)現(xiàn)應(yīng)用間傳文件的詳細(xì)內(nèi)容,更多關(guān)于iOS應(yīng)用間傳文件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
iOS實(shí)現(xiàn)攝像頭實(shí)時(shí)采集圖像
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)攝像頭實(shí)時(shí)采集圖像,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04
安裝win10+黑蘋(píng)果雙系統(tǒng)零基礎(chǔ)教程(圖文)
這篇文章主要介紹了安裝win10+黑蘋(píng)果雙系統(tǒng)零基礎(chǔ)教程(圖文),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
iOS應(yīng)用UI開(kāi)發(fā)中的字體和按鈕控件使用指南
這篇文章主要介紹了iOS應(yīng)用UI開(kāi)發(fā)中的字體和按鈕控件使用指南,分別簡(jiǎn)單講解了UILabel和UIButton的用法,需要的朋友可以參考下2016-01-01
iOS動(dòng)畫(huà)案例(1) 類(lèi)似于qq賬號(hào)信息里的一個(gè)動(dòng)畫(huà)效果
做一個(gè)類(lèi)似于qq賬號(hào)信息里的一個(gè)動(dòng)畫(huà),感覺(jué)挺有意思,下面給大家分享iOS動(dòng)畫(huà)案例(1) 類(lèi)似于qq賬號(hào)信息里的一個(gè)動(dòng)畫(huà)效果,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-01-01
IOS開(kāi)發(fā)之路--C語(yǔ)言預(yù)處理
由于預(yù)處理指令是在編譯之前就進(jìn)行了,因此很多時(shí)候它要比在程序運(yùn)行時(shí)進(jìn)行操作效率高。在C語(yǔ)言中包括三類(lèi)預(yù)處理指令,今天將一一介紹:宏定義、條件編譯、文件包含2014-08-08
iOS中關(guān)于UIWindow和statusbar的設(shè)置問(wèn)題
最近在做開(kāi)發(fā)時(shí)要做一個(gè)類(lèi)似于UIAlertView的控件,做法是創(chuàng)建一個(gè)基于UIView的類(lèi),在里面進(jìn)行自定義控件的設(shè)置,為了盡量模仿UIAlertView,在這個(gè)類(lèi)里面創(chuàng)建了一個(gè)新的UIWindow并將self顯示到這個(gè)window上2017-03-03
iOS實(shí)現(xiàn)左右拖動(dòng)抽屜效果
這篇文章主要介紹了iOS實(shí)現(xiàn)左右拖動(dòng)抽屜效果,理解ios平臺(tái)類(lèi)似于QQ主頁(yè)面,利用觸摸事件滑動(dòng)touchesMoved實(shí)現(xiàn)的效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02
OC runtime學(xué)習(xí)筆記之關(guān)聯(lián)對(duì)象
這篇文章主要介紹了OC runtime學(xué)習(xí)筆記之關(guān)聯(lián)對(duì)象的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
iOS App使用GCD導(dǎo)致的卡頓現(xiàn)象及解決方法
這篇文章主要給大家介紹了關(guān)于iOS App使用GCD導(dǎo)致的卡頓現(xiàn)象及解決方法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07

