簡體   English   中英

我刪除了我應用中的視頻,但該視頻仍然存在於相機膠卷中,反之亦然

[英]I delete a video in my app, but it still exists in the camera roll and vice versa

我在我的應用程序中發現了一些非常奇怪的東西。 我的應用程序記錄視頻和圖片。 如果我從相機膠卷中刪除了視頻,我的應用仍然可以播放該視頻。 刪除視頻時,我可以轉到相機膠卷,它仍然存在。

該應用似乎保留了視頻的單獨副本,而手機操作系統則保留了另一個副本。

我的應用程序是否可以通過某種方式刪除兩個副本,或者理想情況下僅保存不包含在相機膠卷中的應用程序特定副本?

我用來保存電影的路徑是:

file://localhost/var/mobile/Applications/735E62F4-F5C4-49F5-A0BF-C34784F4B631/Documents/defaultFolder/1346579390.mov

您的問題中有一些不清楚的地方,尤其是不清楚如何保存視頻和圖片。 我將稍微解釋一下保存的一般情況,這樣可以幫助您發現問題。

首先,每個應用程序都有自己的沙箱,可以在其中保存數據,而沒有應用程序可以訪問另一個應用程序的沙箱。 另一方面,Apple允許任何應用程序訪問照片庫,但只能通過以下兩種方式訪問​​:從照片庫讀取或在照片庫中寫入數據。 圖片庫中不允許刪除數據。 換句話說,一旦您將某些內容保存在照片庫中,就無法將其從應用程序中刪除,用戶必須自己手動執行此操作,方法是進入照片庫並從那里刪除它。

通常,將照片保存在照片庫中的步驟如下:

UIImageWriteToSavedPhotosAlbum(imageToSave, nil, nil, nil); //for image files
UISaveVideoAtPathToSavedPhotosAlbum(pathOfVideoToSave, nil, nil, nil); //for video files

因此,如果您的代碼中沒有這些行,則不應將文件保存在照片庫中。 要將數據保存在應用程序沙箱中,通常使用:

[dataToSave writeToFile:fullPathToFile atomically:NO];

因此,如果您的代碼中僅包含此行,則僅會將圖像和視頻保存在應用程序沙箱中,如果將其從沙箱中刪除,則它們不會在照片庫中找到。 我希望這可以為您澄清一些事情。

您如何創建/存儲拍攝的視頻/圖片? 通常,所有視頻/圖片都存儲在手機的特定目錄中-確保與您的應用程序目錄不同。 因此,當您保存它時,如何保存它? 您是將真實文件復制到您的應用程序文件夾中,還是只將指向電影文件的鏈接保存在手機中?

就我而言,我始終擁有單獨的圖片/視頻副本,因為該應用程序與手機的相機膠卷無關。

在模擬器中,您也可以使用Finder直接查看應用程序目錄,並查看刪除電影時發生的情況(如果確實刪除了電影文件)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM