我們,我們需要建立一個iOS應用「A」,將有菜單選項的多種功能,並且這些功能會隨時間增長的要求。所以,客戶建議我們做一個只顯示菜單選項的iOS應用程序'A',點擊時的選項每個都會啓動駐留在設備上的另一個iOS應用程序(實現該功能)。考慮到用戶將不得不從每個鏈接的「A」移出,這將是不好的用戶體驗。同時,由於'A'的大小變得太大,我們不能在'A'中構建所有的特徵。 這種應用程序是否有優雅的設計解決方案?如何設計一個容器,如iOS應用程序,可以增加功能?
0
A
回答
0
啓動針對每個功能不同的應用程序似乎起初有點笨重,但在另一方面,它確實提供了增加額外的模塊,而無需重建,每一次重新分配你的應用程序的靈活性。如果模塊足夠獨立以至於用戶不需要不斷地在它們之間切換,這可能不是一個不好的解決方案。
您可以使用custom URL schemes來啓動每個模塊,並使用(例如)一個XML文件來配置哪些模塊可用以及啓動每個模塊的URL方案。這樣,您可以遠程更新XML文件(使應用程序在啓動時調用Web服務以檢查更新的配置文件)。你的配置文件可能就像這樣簡單:
<modules>
<module name="Module A" url="moduleA://myModuleA"/>
<module name="Module B" url="moduleB://myModuleB"/>
<module name="Module C" url="moduleC://myModuleC"/>
</modules>
然後應用程序可以提供一個按鈕來啓動每個模塊。您可以爲每個模塊所需的任何其他信息添加額外的標籤(例如圖標圖像或其他)。
當您添加一個新的模塊,更新服務器上的配置文件和應用程序會發現它在下次啓動。您的應用必須將用戶重定向到應用商店,才能下載並安裝新模塊(如果該模塊尚未安裝在其設備上)。
當然,如果你的模塊需要相互或共享數據通信時,它變得更復雜。您可以在自定義URL模式中的模塊之間傳遞參數,但是如果他們需要共享大量數據(如數據庫或其他東西),那麼您需要其他方式來共享該數據。
希望這會有所幫助。
相關問題
- 1. 如何增加應用程序的設備兼容性?
- 2. 我可以設計一個與另一個接口的iOS應用程序嗎?
- 3. 如何設計一個可以使用多個GUI庫的應用程序?
- 4. Flex:如何設計一個功能齊全的自動化應用程序?
- 5. 有沒有可以導出WF4設計器功能的獨立應用程序?
- 6. 如何將iOS「Open In ...」功能添加到應用程序
- 7. 如何爲android應用程序設計一個遙控器?
- 8. ios應用程序設計
- 9. 以功能風格設計一個支持數據庫的應用程序
- 10. 如何添加功能以在IBM MobileFirst應用程序中共享內容?
- 11. iOS應用程序審查 - 我可以放置演示功能?
- 12. 該功能如何增加?
- 13. 有沒有一種功能可以讓你將功能添加到ios上的現有應用程序?
- 14. 如何從另一個應用程序IOS打開Facebook應用程序設置?
- 15. 如何增加一個tomcat應用程序的Java堆空間
- 16. iOS應用程序沙盒的iOS-功能設置,如果使用In App Purchase
- 17. 你會如何設計一個能夠完成Ackermann功能的程序?
- 18. 如何在iOS應用程序中使用「打開...」功能?
- 19. 在Android應用中添加一些功能以增加其功能?
- 20. 如何設計機器學習功能
- 21. 如何設置計時器功能
- 22. 如何自動測試iOS和Android應用程序的功能?
- 23. 設計iOS應用程序以運行特定的iOS版本
- 24. 如何啓用/禁用metro應用程序設置功能?
- 25. 如何在iPhone應用程序中保存一個簡單的計數器,以便我可以遞增,並在應用程序啓動之間保存更改?
- 26. 如何增加WP7應用程序中的MaxItemsInObjectGraph設置
- 27. 如何設計一個python GUI程序
- 28. WPF如何設計一個多窗口應用程序?
- 29. 如何設計一個安全的應用程序?
- 30. 如何設計一個多模塊播放應用程序
你可以建立一個容器項目,包括一些靜態庫,以支持所有不同的功能。這並不能解決你的「太大」的問題,但它可以像你希望的那樣模塊化。 – Putz1103
告訴你的客戶,他的建議永遠不會通過App Store審查過程。這可能只是事實。但「邪蘋果不會接受你的巧妙設計」比一個更好的說法「stoopid開發商拒絕履行你的巧妙設計,他或她可能只是太愚蠢或懶得去做。」你覺得這個應用會有多大?我將幾十萬行代碼從MacOS X移植到iOS,並且大小並不是真正的問題。 – gnasher729
@ gnasher729:我不認爲蘋果會在此基礎上拒絕它。在那裏還有其他的應用軟件可以做這種事情,有時候有合法的理由。 –