看板 iOS 關於我們 聯絡資訊
※ 引述《diablos ( )》之銘言: : 今天嘗試用2個不同apple id要做app內購的動作, : A帳號是第一次下載安裝app, 並成功內購, 這筆交易有出現在帳單上. : 之後先移除此app, 換用B帳號登入app store, 重新下載相同的app, : 卻發現內購選項不見了, : 執行的app看似是有內購功能的進階版狀態, 而非免費版狀態. : 但實際上B帳號是沒成功內購此app的, 登入itunes去看帳單就可得知沒這筆交易. : 若用別台iphone或ipad來登入B帳號安裝此app, 就會是沒有成功內購的狀態. : 該如何把1台裝置下, 不同apple id安裝後所殘留的授權key清除乾淨? : 難道只有系統重置的方法嗎? : Android app可在"應用程式"裡找到欲移除之app, : 然後按"清除數據", 把app的設定等數據清掉. : 不過也不一定有真的完全移除, 還是會看到殘留的資料夾檔案在記憶卡中. : 不知ios app要如何乾淨移除? : 謝謝 這是因為該隻 App 把內購的資料存在 Keychain 中 每個 App 有它可以存取的 Keychain 權限 且 Keychain 是跟 iOS 作業系統一起存在的 不會因為你移除該隻 App 而不見 上篇推文中有人提到你可以把它想成 Windows 的登錄檔,但是多了很多權限的限制 所以除了系統重置,我不知道怎麼清除 Keychain 以上是一個 iOS 軟體工程師的發現,也許適用 Navier 的狀況 有興趣的可以參考 沒有縮網址: https://developer.apple.com/library/ios/documentation/security/conceptual/ keychainServConcepts/iPhoneTasks/iPhoneTasks.html -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.172.106 ※ 文章網址: http://www.ptt.cc/bbs/iPhone/M.1397399272.A.603.html
diablos:對 沒錯 我猜就是像windows登錄檔的意思 但還是有人認為 04/13 22:31
diablos:ios不會殘留被移除的資料在裝置裡 此app倒是證明了會殘留 04/13 22:33
diablos:這跟windows程式 過試用期後 若不購買是不能使用 因登錄檔 04/13 22:40
diablos:已存於裝置 除非找到機碼 將其刪除 或電腦重灌(=ios重置) 04/13 22:43
scottiting:重置有效嗎?還是要換裝置才有效? 04/13 23:10
scottiting:這篇回復的應該沒錯 keychain某方面是個UDID的替代管道 04/13 23:23
scottiting:就是提供開發者端"認裝置"的一個方法 只是重置後會洗掉 04/13 23:24
scottiting:所以應該重置和換裝置都可以讓開發者認為是新的裝置 04/13 23:24
diablos:我猜系統重置或安裝在別台裝置 才能出現內購選項 04/13 23:48
diablos:我舉例windows程式 只要能找出試用期的登錄檔機碼 即使不 04/13 23:49
diablos:用電腦還原或重灌 依舊可在同裝置無限次試用 但你找不到 04/13 23:51
lordmi:我看了一下apple的文件,看來它被保存在這邊免於被砍: 04/13 23:51
lordmi:/private/var/Keychains 04/13 23:51
diablos:也刪不掉Navier的認證資料 請人實驗把ios重置為出廠狀態 04/13 23:53
lordmi:不過吸出來的資料仍然是被唯一硬體加過密的,所以別用明文 04/13 23:53
diablos:就不會有人堅持ios是不可能殘留垃圾檔的阿 Haha... 04/13 23:54
lordmi:應該就沒有太大問題。至於刪除也只有app自身能做到 04/13 23:54
lordmi:你遇到的狀況是設計者寫作上的觀念錯誤,跟Keychain 04/13 23:56
lordmi:是不是垃圾無關,就只是人為錯誤(本來該刪掉的) 04/13 23:57
abian:謝謝提示...xd keychain-2.db裡面的確有二組該app的記錄 04/14 00:02
abian:一個pdmn值顯示ck (kSecAttrAccessibleAfterFirstUnlock) 04/14 00:03
abian:一個顯示ak (kSecAttrAccessibleWhenUnlocked) 04/14 00:03
diablos:我有說這是Navier的bug了阿 :) 而app沒設計成移除時刪除所 04/14 00:04
lordmi:順便一提這apple的api文件庫排版我根本看不懂在寫啥鬼 04/14 00:04
abian:iCleaner不會動這個檔,所以怎麼刪不刪不到 @@ 04/14 00:04
lordmi:結果是看了日文版強者文件看懂的 http://goo.gl/QADXx5 04/14 00:05
abian:理論上刪除那二行後,購物車應該就會跑出來了? 04/14 00:05
abian:贏要衝,輸要縮!! 04/14 00:06
lordmi:然後用關鍵字去搜中文,發現對岸從2011就解的一清二楚..(抖 04/14 00:06
diablos:有data 而會有殘留 表示最終還是要靠app designer有寫好啊 04/14 00:06
abian:算了不試了,前不久才將iPad搞爛好不容易救回... 04/14 00:08
abian:我俗辣了 囧> 04/14 00:08
lordmi:相信我,被iCleaner搞爛過不該清的目錄你不是頭一人... 04/14 00:11
lordmi:還好那時候iOS6沒關認證能重刷,現在就哭哭了 04/14 00:11
scottiting:不好意思 我覺得原po很堅持垃圾檔的觀念真的要糾正一下 04/14 03:34
scottiting:keychain並不是因為安裝這個app才長出來的檔案 04/14 03:35
scottiting:所以你把這個app刪掉當然也不可以要求它也要丟掉 04/14 03:35
scottiting:充其量就是一個log 紀錄的概念 04/14 03:35
scottiting:這和 "因為安裝了某app而生成了某資料夾某檔案 刪不掉" 04/14 03:36
scottiting:是不一樣的 04/14 03:36
scottiting:補推 這篇原po sorry 04/14 03:38
scottiting:什麼叫垃圾檔? 就是這個app帶來的 並且只限於這個app用 04/14 03:39
scottiting:在app本體刪除後 手動刪掉它不會有任何影響 才叫"垃圾" 04/14 03:40
kcadobe:推一下樓上 04/14 12:42
royhsia:Minion rush的狀況可以用 iFile 用SQL editor去開keychain 04/14 14:00
royhsia:用指令把Minion Rush 增加的那幾欄刪除並存檔,重開機後 04/14 14:00
royhsia:就會被認為是全新的裝置了。 04/14 14:01
BlackSeven:推scottiting 和 royhsia 04/14 15:26