該壓光機應用程序可以做到這一點......如何根據iPod或iPod應用程序設置中存儲的信息改變應用程序圖標?動態iPhone應用程序圖標?
編輯: 我今天意識到可以通過sdk訪問包。 (至少讀取訪問權限)如果我有一個圖形API(也許是圖形API),那麼我可以像這樣修改圖標。操作如下:
- get bundle.png從bundle中獲取。
- 修改它
- 將它重新保存到包中。
這有道理嗎?
該壓光機應用程序可以做到這一點......如何根據iPod或iPod應用程序設置中存儲的信息改變應用程序圖標?動態iPhone應用程序圖標?
編輯: 我今天意識到可以通過sdk訪問包。 (至少讀取訪問權限)如果我有一個圖形API(也許是圖形API),那麼我可以像這樣修改圖標。操作如下:
這有道理嗎?
不幸的是,您不能使用SDK(當然Apple不限於使用日曆應用程序) - 您可以使用徽章,但圖像始終是靜態的。
回答你的編輯:不,你不能修改你的包內的任何文件;你的應用程序被沙箱化,只在其文檔,緩存和臨時目錄中具有寫權限。
如果plist在沙箱內引用了一個文件會怎麼樣? – Moshe 2010-03-19 03:33:49
我聽說一些類似的事情發生了......文件是捆綁中的符號鏈接,或類似的東西。不過一段時間以前 - 現在有一個很好的機會。 – 2010-03-19 16:43:39
就像一個筆記,蘋果的日曆應用程序實際上是硬編碼到系統中,以顯示在圖標上的視圖。將其放在第一頁的左側並拖動到SpotLight,您會注意到文本以不同的方式淡出。
有趣的觀察。儘管如此。 – Moshe 2010-03-19 03:34:27
這是因爲它是一個白色背景上的黑色文本視圖,因此它會變成白色,但由於它變得不可見,圖標本身會變黑。要做到這一點,他們不得不淡化日曆文本。 – 2010-03-20 05:12:05
它可能在新的iOS 10.3更新(測試版),但你將不得不指定info.plist文件中的每個圖標。
func setAlternateIconName(_ alternateIconName: String?,
completionHandler: ((Error?) -> Void)? = nil)
檢查過的文檔,但仍然對如何實現它感到困惑,在清晰的用例意義上? – Catarino 2017-03-28 21:38:47
@Catarino https://www.hackingwithswift.com/example-code/uikit/how-to-change-your-app-icon-dynamically-with-setalternateiconname – 2017-05-01 22:01:03
確定。這就是爲什麼(除其他原因外)蘋果公司不存在日曆API。謝謝。 – Moshe 2010-03-11 02:08:08