2013-04-08 43 views
1

我有兩個應用程序使用各種UIPasteboard名稱作爲方案在彼此之間共享數據。UIPasteboard未清理

的pasteboards使用反向DNS命名慣例,像這樣:com.mycompany.myapp.stuffx, com.mycompany.myapp.stuffy

所有使用這些pasteboards屬於com.mycompany命名空間中的應用程序。

當我卸載應用程序A時,存儲在粘貼板中的數據如預期的那樣存在。在我卸載應用程序B之後,有效地刪除所有使用粘貼板的應用程序,我期望清理任何關聯的數據/粘貼板,因爲持久性屬性的文檔提示了這一點。但是,這不會發生;在重新安裝應用程序之後,它仍然能夠訪問舊的粘貼板數據。

粘貼板是由任何應用程序首先創建的,並將其persistent屬性設置爲true。如果沒有什麼東西在使用它,是否可以確保舊的紙板數據被清除?

回答

1

聽起來像你應該打開一個蘋果在這個問題。

http://bugreport.apple.com

正如你所說的文件指出,當創建它的應用程序被卸載的紙板應該被刪除,並且沒有發生你。

+0

這就是我會做什麼。謝謝! – jverrijt 2013-04-09 16:39:15

+0

@jverrijt他們說什麼?它仍然像您在問題中所描述的那樣行事。我正在使用iPhone 5S iOS 7.1 – 2014-10-23 12:32:12

0

我認爲這是預期的行爲

「有效去除使用pasteboards所有的應用程序」 - 和系統應該如何知道的?

我建議進行第一次啓動一些特殊的動作後安裝,如果你是你的特殊的應用程序組的第一個應用程序被安裝,你可以測試並清除pasteboards

+0

Apple的文檔中提到「當創建它的應用程序被卸載時,將刪除持久性應用程序粘貼板。」這是UIPasteboard持久性屬性的文檔。 – stevex 2013-04-09 20:10:35

+0

(來自這些文檔)如果應用程序A創建了粘貼板,我希望它在刪除A時被刪除。即使應用B從那時起已經讀取或寫入。 (不存在,因爲你期待) – bshirley 2013-04-09 20:48:25

+0

我會同意@stevex,你應該打開它作爲一個錯誤。最好在用最小的應用程序重新創建它之後重新創建它。 - 他們可以很好地修改文檔,所以同時,我會編寫一個解決方法。 – bshirley 2013-04-09 20:50:20