看板 MacDev 關於我們 聯絡資訊
: 推 HuangJC: clean & reset 模擬機 11/04 01:51 : → HuangJC: 我曾寫了某個元件,後來把元件 rename;這時取用不存在元 11/04 01:51 : → HuangJC: 件應該會執行錯誤,但事實上舊元件還是能取得,還會跑 11/04 01:52 : → HuangJC: 也就是說,元件是被註冊進手機裡的,不因我改source code 11/04 01:52 : → HuangJC: 而消失;必需要 reset 模擬機 & clean 才能殺乾淨 11/04 01:53 : → Blueshiva: 元件?註冊進手機裡?能註冊到手機裡面的也只有schema 11/04 20:34 : → Blueshiva: 吧...樓上的講法實在很詭異啊... 11/04 20:35 : 推 HuangJC: 那是實測的結果;而且你可能對專有名詞很要求? 11/06 03:07 因為名字亂叫,沒人知道你在指什麼啊... : → HuangJC: 我測到發生在幾種不同類型的資源,比如 png 11/06 03:08 : → HuangJC: hello.png 先 build 進程式,用 uiimage 去取用,後來 11/06 03:08 : → HuangJC: rename 成 hello1.png;source code 先不改,故意想看到錯 11/06 03:09 : → HuangJC: 誤訊息,結果偏偏沒有錯誤的跑了起來;你可能不想把 png 11/06 03:09 : → HuangJC: 叫元件吧,那叫資源也好 你這個地方,問題在於png類的資源,就只是放在filesystem的檔案而已 然後這些檔案你裝新版本的時候不會刪除,也就是說,以你的情況來說, 你的檔案會有 hello.png 和 hello1.png 兩個檔案同時存在,那當然就 不會有錯誤發生 這種情況要在模擬器或實機中先把app移除再安裝就可以了 11/06 03:09 : → HuangJC: 而 compiler 為了加快 build 速度,有時會用 inc.. build 11/06 03:10 : → HuangJC: 也就是說,僅針對新增的.m, png, ... 去build,但移除的呢 11/06 03:10 : → HuangJC: 它沒寫移除就是沒移除了,這種殘留可以想像,clean就好 11/06 03:11 你是說 incremental build?那不會去管png這類檔案啊... : → HuangJC: 但一個例子就麻煩了;敝公司有寫 fb 的訊息通知模組,也 11/06 03:12 : → HuangJC: 就是程式跑一跑可以送訊息到臉書,蘋果管很嚴,這個要申 11/06 03:12 : → HuangJC: 請個bundle id;因為公司有做 oem,所以一支程式就多申請幾 11/06 03:13 : → HuangJC: 個 id 給不同客戶。在新 id 權限還沒下來之前程式會跑不 11/06 03:13 : → HuangJC: 動。但我先 run 個可以跑的舊id,再更動到新 id,照理應該 11/06 03:14 : → HuangJC: 不能動,卻動了!!這讓我在找問題上遇到困難,我還以為 11/06 03:14 : → HuangJC: 新ID也過了,來來回回鬼打牆很久;程式也 clean 了卻沒用 11/06 03:15 : → HuangJC: 最後才想到清手機,那你說它把權限放在哪,這個叫資源? 11/06 03:15 : → HuangJC: 總之很多抽象的東西,沒找到正式文件前就說個大概.. 11/06 03:16 這個bundleid也是放在plist之類的檔案中,一樣要移除app重新安裝才會 更新到... 所以你的問題一直都是沒有找個比較熟的人來協助你們,也不去找文件才會產生 的啊... 你還是多去Cocoaheads的聚會,直接惡補一些基本知識才不會整天鬼打牆啊... -- Luna quieres ser madre y no encuentras querer que te haga mujer -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.108.36 ※ 文章網址: http://www.ptt.cc/bbs/MacDev/M.1415248704.A.66C.html
HuangJC: 哪邊的 filesystem? 當我知道手機端有殘留後,我都有做 11/06 14:14
HuangJC: 手機端 reset,但有時沒解決,還得做 source code 這邊的 11/06 14:14
HuangJC: clean.. 11/06 14:14
HuangJC: 在測試來說,要測的是未知問題,而不是已知了才去重製 11/06 14:15
HuangJC: 所以我就直接認定 reset & clean 都要做,才是可承認的 11/06 14:15
HuangJC: 測試。 11/06 14:16
Blueshiva: source code的clean,就有可能是因為你提到的increment 11/06 14:50
Blueshiva: build (假設你講的是code的更改啦) 11/06 14:50
Blueshiva: 如果是其他資源的話,那應該就是單純沒刪到檔案 11/06 14:51
Blueshiva: BTW,我講的filesystem是模擬器或者實機上,總之就是你 11/06 14:51
Blueshiva: 裝過app,再裝新版app的時候不會把舊的資料全部刪除, 11/06 14:52
Blueshiva: 才會導致你遇到的舊圖檔繼續存在的問題 11/06 14:52
HuangJC: 移除重裝可以清除資料這我知道,所以我真的是兩種都碰過 11/07 01:37
HuangJC: 去厘清是兩種中的哪一種也可以;那好像在替ios debug.. 11/07 01:38
HuangJC: (或者人家文件有說本來就這樣,不算bug;但總之不在我們預 11/07 01:38
HuangJC: 期),公司內有rd & qa 兩個部門,rd還可以指責'你不看文 11/07 01:39
HuangJC: 件',但qa可完全不理這套,他們會直接說'感覺就不好用' 11/07 01:39
HuangJC: 所以如果不移除就有殘留並且測過,那算一種誤測 11/07 01:40
HuangJC: 我只好規定,測試需以移除重裝為準去寫報告.. 11/07 01:41
HuangJC: 因為是未上市產品,這樣測是可接受的 11/07 01:44
HuangJC: 萬一上市過了,qa又會多測'假設裝過舊版直接更新...' 11/07 01:44
HuangJC: 也就是向舊版環境相容;真有點沒完沒了.. 11/07 01:44
HuangJC: 那我就不能要求 user 移除了;我得用程式去做 11/07 01:45
Blueshiva: 如果是要測新安裝的情況,那本來就該用乾淨環境下去測 11/07 09:53
Blueshiva: 吧 :p 然後你後面說的舊版更新,如果嚴謹的話也的確需 11/07 09:54
Blueshiva: 要測,甚至1->2 2->3 1->3 等多種可能途徑都要測 11/07 09:54
HuangJC: 所以我鬼打牆到認為這應該是蘋果的責任啊~~ 11/07 13:19
HuangJC: 自我進入業界後,我對軟體的看法和學生時是不同了 11/07 13:20
HuangJC: 我們自認沒錯但user不會使用,然後還教育 user 一堆系統 11/07 13:21
HuangJC: 知識.. 這樣是不允許的 11/07 13:22
HuangJC: 因此移除程式可解,但我就是沒移除引致問題算不算 bug? 11/07 13:24
HuangJC: 算,我當然認為這算 compiler bug 11/07 13:25
HuangJC: 哪天有興致我可能寫 mail 提出 feature 要求吧.. 11/07 13:25
Blueshiva: 如果裝新版就把舊版的資料都刪光光,看你的使用者會不 11/07 14:09
Blueshiva: 打爆你的客服電話... 11/07 14:09
Blueshiva: 而且安裝的行為關compiler啥事...還bug咧... 11/07 14:11
HuangJC: 你這說法和我們QA替自己產品圓場一樣,一個立場待久了會 11/08 02:50
HuangJC: 被同化。如果你只說'資料刪光光'那當然不允許;但我們並 11/08 02:51
HuangJC: 不覺得那是資料,我們覺得是程式的一部份。所以你是怎麼 11/08 02:51
HuangJC: 不知不覺被同化了? 11/08 02:52
HuangJC: 我們程式有用到 SQL,像這種累積的東西我會承認是資料 11/08 02:52
HuangJC: 但在我 source code中,我自己擺進程式子目錄,並且自己 11/08 02:53
HuangJC: 把檔名放進專案檔,這樣我是認為是程式的一部份的 11/08 02:53
HuangJC: 你再說明ios的做法是把它當檔案的話,就是被它同化去了 11/08 02:53
HuangJC: 在我們公司,一個有成就的主管,在開會時底下沒人會反駁 11/08 02:54
HuangJC: 因為反駁他就顯得自己無知,拜託,他在公司是神耶.. 11/08 02:54
HuangJC: 問題是客戶真的不是這樣看我們產品的;我就覺得很有趣, 11/08 02:55
HuangJC: 為什麼聲音總是無法傳給該聽到的人 11/08 02:55
HuangJC: 這只有我們公司嗎?和其他人聊過,大家都有這個問題.. 11/08 02:55
HuangJC: 今天如果說因為成本考量,做得出但耗資太大,我可以接受 11/08 02:56
HuangJC: 但如果主管說:我覺得客戶不會這樣想.. 那我就不以為然 11/08 02:56
HuangJC: 因為我私下去問客服,客服都會說出不一樣的話 XDDDDD 11/08 02:57
HuangJC: 而在開會時,代表(模擬)客戶立場說話的就是QA,卻被同 11/08 02:58
HuangJC: 化了,所以聲音都傳不到;(那客服為何不來開會?....) 11/08 02:59
HuangJC: 正式版安裝是在 app store,和 compiler 無關,但開發時 11/08 02:59
HuangJC: 是 compiler 一條龍作業直接安裝,沒錯吧.. 11/08 03:00
HuangJC: 所以你叫我去適應它,也不是不行;我說它有 bug,也不算 11/08 03:00
HuangJC: 說錯.. 11/08 03:00
Blueshiva: 呃...我是不知道哪種機器可以把png或jpg讀進來執行啦.. 11/08 21:26
Blueshiva: 我想你需要先去了解一下程式(program)的定義,另外,你 11/08 21:27
Blueshiva: 就算是從App Store安裝,一樣是把相關的檔案複製到機器 11/08 21:27
Blueshiva: 中,而複製的方式就是有新的複製新的,有重複的會覆蓋 11/08 21:28
Blueshiva: 舊有的不會刪,你也不用針對iOS,自己在Windows試試看 11/08 21:28
Blueshiva: 把多個檔案圈起來複製到別的地方,它也是這種行為 11/08 21:29
Blueshiva: 至於你後面說的同化,QA,客服,主管,完全不知所云, 11/08 21:29
Blueshiva: 就不回應了 11/08 21:30
HuangJC: 那我們來談 win 程式的撰寫好了;我可以把 png 拷進執行 11/08 22:45
HuangJC: 子目錄,並且在程式中讀取它;但我也可以把檔名在 rc 檔 11/08 22:46
HuangJC: 描述,然後 link 進 exe.這樣 exe 會長很大,但我不需要 11/08 22:46
HuangJC: 準備一個分離的 png 檔。完全可以想像吧? 11/08 22:47
HuangJC: 所以你不需要說什麼執行 png,我沒表達過那個意思 11/08 22:47
HuangJC: 我比較擔心你說'ios就是不一樣,別拿以前的經驗來套'之類 11/08 22:48
HuangJC: 因為你這樣就放了個大絕,而這大絕我完全無法承受 11/08 22:48
HuangJC: 我後面你所看不懂的部份,就是跟你說明立場同化這種事 11/08 22:49
HuangJC: 難不成你是個體戶?我以為 ios 下的工程師大概都靠公司 11/08 22:49
HuangJC: 因為它有一堆資源申請的部份;如果你待公司應該很容易懂 11/08 22:50
HuangJC: 別說 QA 被主管拉走,光是我RD都不敢跟 QA講太多 11/08 22:50
HuangJC: 因為我如果把技術層面講完,肯定可以說服QA 11/08 22:50
HuangJC: 但接下來我會發現這QA都不從客戶角度發言了,對我們沒幫 11/08 22:51
HuangJC: 助。我們就是要QA從客戶視角來指出軟體哪裡不好用 11/08 22:51
HuangJC: 而不是要QA體諒RD為什麼寫不出來;QA不該被RD說服.. 11/08 22:52
HuangJC: 因為產品是想賣出去的,不是說服QA就好,所以不該自斷言 11/08 22:52
HuangJC: 路.. 11/08 22:52
Blueshiva: 你那種link的做法,在iOS上也可以這樣搞啊,把png檔 11/08 22:53
Blueshiva: base64寫到code裡面去一樣可行,只是...如果這樣是"正 11/08 22:54
Blueshiva: 常"做法,那為什麼沒有公司的產品把所有的圖檔音樂檔全 11/08 22:54
Blueshiva: 部base64編到code裡面去呢?而如果你後面說的那段QA的 11/08 22:55
Blueshiva: 話是指你希望QA依照一般使用情況來使用測試的話,那你 11/08 22:56
Blueshiva: 前面在說為什麼檔案沒有主動被刪掉,還說這是個bug,就 11/08 22:56
Blueshiva: 完全的不知所云。然後這種行為居然會被認為是bug,除非 11/08 22:57
Blueshiva: ...好吧,它的確是沒有依據"設計者的預期運作",不過在 11/08 22:59
Blueshiva: 這個case,我會傾向這是"設計者根本搞不清楚狀況" 11/08 23:00
Blueshiva: 另外,如果哪個RD敢跟我說測試前不用先把環境清乾淨, 11/08 23:01
Blueshiva: 還跟我說舊檔案存在是bug,我會直接從他頭上敲下去 11/08 23:01
HuangJC: 我前面有說了,我自己把檔案放進專案子目錄,自己把檔名 11/08 23:01
HuangJC: 放進專案,這都代表我想要 link 進 exe 啊;如果是去檔案 11/08 23:02
HuangJC: 系統撈檔案的話,那我不需要把檔名放進專案吧! 11/08 23:02
HuangJC: 為什麼沒人把所有音樂檔都編碼;這是在質疑架構,我可能 11/08 23:03
HuangJC: 寫了個不好的架構,但我認為我把這檔案編入 exe 啊 11/08 23:04
HuangJC: 又測試前清環境,這問題我前面說了:最好是做,但也得提 11/08 23:06
HuangJC: 防有人沒做。我不認為可以只指責一邊,所以我前面說,你 11/08 23:07
HuangJC: 可以指我錯,但我指對方錯時,我也覺得有道理 11/08 23:07
HuangJC: 我們對於客戶誤操作時會產生的問題還是一律回報 11/08 23:08
HuangJC: 由 PM去決定要不要攬回來;雖然多做是多幫忙,也是想增加 11/08 23:08
HuangJC: 產品的親和力。還有'客戶的錯絕不可以搞當我們程式' 11/08 23:09
HuangJC: 可以給個錯誤訊息退出,可以叫客戶找我們聯絡.. 11/08 23:09
HuangJC: 有交代總是勝過沒交代 11/08 23:09
HuangJC: 但若程式當掉,原因是客戶誤操作,這算我們頭上啊.. 11/08 23:09
HuangJC: 我這段不是說 xCode 當掉;而是舉例說明,責任不是一推 11/08 23:17
HuangJC: 三千里那麼容易;還是說蘋果身段比我們公司高,我們公司 11/08 23:17
HuangJC: 是自己愛巴結客戶,但蘋果可沒在巴結客戶的? 11/08 23:17
HuangJC: 那..我開始相信你了 11/08 23:18
HuangJC: (xCode真的有當掉的,我不太敢用它的 refactory) 11/08 23:18
HuangJC: (當要改變數名稱時是很好用,但當掉就要重來了) 11/08 23:19
Blueshiva: 你完全沒搞懂啊...你知道所謂的"安裝"是把檔案複製到系 11/10 09:45
Blueshiva: 統的某個目錄嗎?那,你可以告訴我有哪個OS會在你複製 11/10 09:46
Blueshiva: A,B兩個檔案到某個目錄的時候,發現那個目錄有A,C兩個 11/10 09:46
Blueshiva: 檔案,然後最終行為是把A覆蓋過去,B複製,同時把C刪除 11/10 09:47
Blueshiva: 的?另外,Mac或者iOS上的所謂Application,並不是單一 11/10 09:47
Blueshiva: 的檔案,而是叫bundle的東西,而bundle這東西事實上是 11/10 09:48
Blueshiva: 個照規則放置相關檔案的一個目錄。所以為什麼你的圖檔 11/10 09:48
Blueshiva: 沒有link到執行檔去?廢話Mac上就不是這樣搞的,所以才 11/10 09:49
Blueshiva: 會有後續一堆為什麼跟OS檔案系統有關的動作出來。 11/10 09:49
Blueshiva: 真的,算是我個人求你,先去搞清楚一些基本的認知好不 11/10 09:49
Blueshiva: 好?不然好歹也把你們會出貨給哪些公司講一下,讓大家 11/10 09:50
Blueshiva: 知道該避開哪些App... 11/10 09:51
EShensh: 你可以把 .app 看做是 Program Files/AppName 底下目錄 11/10 13:46
EShensh: 「程式升級」的過程會是一種「合併」而不是「完全覆蓋」 11/10 13:48
EShensh: 會有舊有檔案的話,當然是之前版本的App產生的 11/10 13:48
EShensh: 不然遊戲升級新程式,所有進度跟內購點數都得重買 XD 11/10 13:50
EShensh: 最近也要開始玩iOS了 http://i.imgur.com/1PsIdGN.jpg 11/10 13:54
nobody1: 推「不然好歹也把你們會出貨給哪些公司講一下」... 11/10 16:32