Re: [問題] 關於APP夾帶的檔案

看板MacDev作者 (龍野南雲)時間8年前 (2017/02/02 19:54), 編輯推噓4(4016)
留言20則, 8人參與, 最新討論串2/2 (看更多)
※ 引述《luckycan (罐頭)》之銘言: : 小弟不才,有幸加入iOS工程師的行列 : 今天正式上班,主管丟了題目下來 : 他說︰1.APP接收後端資料庫圖片,去修改APP夾帶的圖片 : 2.APP接收後端資料庫資料,去修改strings檔內多國語系顯示的文字 : 舉例來說︰ : 1.APP夾帶了一張圖片01.png,然後資料庫傳送新的01.png給APP, : 將原本的圖片永久取代,顯示出新的01.png : 2.strings檔內的文字"a"="a1",有辦法直接使用Xcode內碼修改成"a"="a2"這樣? : 以上這兩點有辦法實現嗎? 首先,你要先知道檔案在App裡面會有兩種存放的地方,一個是bundle內,一個是你 程式可以存取的地方。 Bundle裡面的檔案只能讀取,不能修改,也不能新增,必須由Xcode project裡面加 入。 你程式可以存取的部分,則分成Document,tmp,Cache等等。 你的問題,如果你主管問的目的是要你去查詢這兩種檔案存放區域的限制,那就回他 做不到。如果他是知道這兩種區域的限制,卻還是要你做到這樣的功能,那就要從 code層面處理,不用內建的 NSLocalizedString 之類的 macro,而是自己實作這種 功能,從 Document 裡面的檔案把要的資訊讀出來。 如果他不知道這兩種區域的限制,卻要你做出這樣的功能,代表他根本不知道 iOS 開發的限制,如果你公司沒有人可以教育他,那還是換工作可能會比較好... -- Luna quieres ser madre y no encuentras querer que te haga mujer -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.160.101 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1486036492.A.873.html

02/02 20:15, , 1F
NSLocalizedString可以指定讀那個檔案,那就可以解決了
02/02 20:15, 1F

02/02 20:22, , 2F
只能設定由某個bundle讀出來,沒法指定特定檔案吧?剛
02/02 20:22, 2F

02/02 20:22, , 3F
剛查到是這樣
02/02 20:22, 3F

02/02 21:03, , 4F
可以把server的檔案下載到cache,顯示時,如果cache沒有
02/02 21:03, 4F

02/02 21:03, , 5F
就用bundle的
02/02 21:03, 5F

02/02 21:35, , 6F
但是就是不能直接用NSLocalizedString,要做自己的
02/02 21:35, 6F

02/03 11:05, , 7F
用NSLocalizedStringFromTableInBundle就可以指定bundle
02/03 11:05, 7F

02/03 11:05, , 8F
內的特定檔案了
02/03 11:05, 8F

02/03 11:08, , 9F
抱歉 我弄錯了這個沒辦法指定Document的檔案
02/03 11:08, 9F

02/03 11:17, , 10F
02/03 11:17, 10F

02/03 11:27, , 11F
@charlesdc 提供的這個方式太猛了,直接動態建立bundle
02/03 11:27, 11F

02/03 11:39, , 12F
D大應該就是這意思
02/03 11:39, 12F

02/03 17:55, , 13F
問:要改寫NSLocalizedString(key, comment)嗎?
02/03 17:55, 13F

02/03 18:00, , 14F
NSLocalizedString 是marco, 基本上應該是用 mainbun
02/03 18:00, 14F

02/03 18:00, , 15F
dle
02/03 18:00, 15F

02/03 18:12, , 16F
NSLocalizedString(x,x)預設去讀NSBundle mainbundle
02/03 18:12, 16F

02/03 18:13, , 17F
透過以上方法,能把預設改到下載的table檔?
02/03 18:13, 17F

02/03 22:33, , 18F
NSLocalizedString是macro,可以undefine再define成自己的
02/03 22:33, 18F

02/04 02:50, , 19F
感謝ss大~系統macro也能undef,長知識了!
02/04 02:50, 19F

02/04 11:13, , 20F
不建議使用undef的方法,因為這在Swift是不適用的
02/04 11:13, 20F
文章代碼(AID): #1OanuCXp (MacDev)
討論串 (同標題文章)
文章代碼(AID): #1OanuCXp (MacDev)