在我運行我的應用程序之前,我想運行一個外殼來更新我的Info.plist。什麼時候iOS程序運行`運行腳本'並加載Info.plist
使用Build Phases-> Run Script,我可以運行我的外殼。這裏是我的問題,我看到Info.plist在程序構建時更新了數據,但當我遇到我的應用程序時,我發現從plist讀取的數據是舊數據。
我還發現了另一個有趣的事情。一方面,如果我剛建立了項目(command + B),我看到plist更新,然後運行程序,UI中顯示的數據是新數據。另一方面,如果我在Xcode中使用Run Button,當Xcode show build成功時,我看到Info.plist更新,但UI中顯示的數據是舊數據。
那麼,會發生什麼?你能幫我解決它,讓我的數據永遠是最新的。
=============
現在,我已經動了我的「運行腳本」前「編譯源代碼(SWIFT文件)」跑外殼,和它的作品。然而,我仍然無法理解,因爲它在編譯期間運行,所以如果我在'編譯源文件(swift文件)'後運行我的'運行腳本',爲什麼運行的程序無法從Info.plist獲取正確的數據?程序在其運行時間或編譯時間內是否加載數據?
「構建階段 - >運行腳本」只是構建時間的事情 – sage444
哪裏是構建階段的腳本?它需要成爲一個腳本嗎?你可以做它作爲生成設置的一部分嗎? – Wain
@ sage444是的,這是運行時的事情。但問題是,因爲我的shell在編譯期間被調用。爲什麼程序在運行時使用舊數據? – yeyimilk