我目前正在爲iPhone,iPad,Android手機和Android平板電腦構建應用程序。Phonegap - 資產和通用iOS應用程序
我正在使用一個代碼庫,如this example。
但是,由於我的項目也支持平板電腦,因此我想要排除在安裝該應用程序的設備上未使用的資產。
爲了澄清,我的項目文件/文件夾結構如下圖所示:
項目根:
- HTML(HTML,JS,CSS,爲Android & IOS項目圖片)
- css
- style.css
- 風格Android系統的phone.css
- 風格Android系統的tablet.css
- 風格IOS-phone.css
- 風格IOS-tablet.css
- 圖像0
- 共享
- [...]
- 電話
- [...]
- 平板 - [...]
- 共享
- JS
- [...]
- 模板(= html模板)
- 電話
- [...]
- 平板
- [...]
- 電話
- css
- 的Android(Eclipse項目)
- 資產
- www(符號鏈接到../ ../ HTML)
- 倉
- [...]
- 根
- [...]
- 庫
- [...]
- RES
- [...]
- SRC
- [...]
- [...]
- 資產
- 個IOS(xcode項目)
- CordovaLib
- [...]
- MY_PROJECT
- 類
- [...]
個
- 插件
- [...]
- 資源
- [...]
- [...]
- 類
- My_project.xcodeproj
- www(符號鏈接到../../html)
- CordovaLib
舉例來說,我不希望這樣的iPhone應用程序中包含片劑資產,如: HTML/CSS /風格Android系統的tablet.css,HTML/css/style-ios-tablet.css,html/images/tablet/,html/templates/tablet/
目前,該應用程序在iphone上比較沉重(比如)因爲無用的資產(主要是圖片) 。
我嘗試了一些想法,如: - 在xcode項目中使用2個tagets。一個用於iPhone,一個用於iPad。但是,xcode中www下的文件和文件夾無法設置爲目標成員資格。只有www可以。 - 使用2個www目錄和2個目標,但iPhone目標仍然包括目標ipad的www。
我認爲this solution可以幫助我,但我真的不知道如何適應我的文件結構。
因此,我請求您的幫助,爲未來找到最佳和最簡單的解決方案(下一個項目&現有項目發佈)。
提前,感謝您的幫助。
乾杯。
感謝您的回答安德魯。 我們已經根據設備類型處理CSS加載(使用javascript)。 但我的問題是更多關於排除**平板電腦圖像**以包括在iphone的安裝,例如。 我們的手機版本的應用程序已經相當重的IOS(〜9Mo)。所以我不希望一旦平板電腦部分被添加到項目中,大小會增加到30Mo,而20Mo不被使用。 – iArnaud
我使用與您相同的方法在Android和iOS上共享資源(我認爲,我遵循您的教程)。 但是這種方法只能解決操作系統(Android和IOS)中分離或共享資源的問題,但不能解決同一操作系統下的設備類型問題。 我認爲對於Android,我可以擴展此方法,因爲Google Play允許爲同一應用(一個目標手機,另一個目標平板電腦)上傳2個不同的版本。 但是在IOS上使用這種方法(2個IOS項目使用符號鏈接)將迫使我在App Store中管理2個應用程序。 我會鏈接,以避免這種情況。 – iArnaud
使用iOS的通用二進制方法,您不幸沒有太多選擇。如果您希望它在這兩種形式因素的應用程序歸檔中,那麼資產必須位於此處。我能想到的唯一選擇是,您可以從服務器拉取UI元素,並在需要時本地保存(HTML5緩存或寫入本地文件系統)。這將減少IPA文件的大小,但需要首次使用時下載資產。 –