Phonegap - 资产和通用iOS应用程序

时间:2012-12-13 17:23:38

标签: ios cordova

我目前正在为iPhone,iPad,Android手机和Android平板电脑构建应用程序。

我正在使用像this example这样的单一代码库。

但由于支持平板电脑,我的项目有点复杂,我希望排除安装该应用的设备上未使用的资产。

为了澄清,我的项目文件/文件夹结构如下所示:

项目根目录:

  • html(html,JS,Css,android& ios项目的图片)
    • CSS
      • 的style.css
      • 风格机器人-phone.css
      • 风格机器人-tablet.css
      • 式-IOS-phone.css
      • 式-IOS-tablet.css
    • 图像
      • 共享
        • [...]
      • 电话
        • [...]
      • 片剂 - [...]
    • JS
      • [...]
    • templates(= html模板)
      • 电话
        • [...]
      • 片剂
        • [...]
  • android(eclipse项目)
    • 资产
      • www(符号链接到../../ html)
      • [...]
      • [...]
      • [...]
    • RES
      • [...]
    • SRC
      • [...]
    • [...]
  • ios(xcode项目)
    • CordovaLib
      • [...]
    • MY_PROJECT
        • [...]
      • 插件
        • [...]
      • 资源
        • [...]
      • [...]
    • My_project.xcodeproj
    • www(符号链接到../../ html)

例如,我不希望iphone应用包含平板电脑资产,例如: html / css / style-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可以帮助我,但我真的不明白如何使其适应我的文件结构。

所以我请求你帮助找到最好和最简单的解决方案(下一个项目和现有项目的发布)。

提前,谢谢你的帮助。

干杯。

1 个答案:

答案 0 :(得分:1)

以下是我过去用于在Android和iOS上共享资源的方法:

您可以使用此精确技术来拥有共享代码库,但也可以使用特定于平台的文件。只需将文件夹添加到www目录(而不是共享目录),并将特定于平台的CSS文件放在其中。 注意:在这种方法中,www的子文件夹是符号链接的,而不是www的父文件。

为了在设备外形之间设置单独的CSS文件,这有点棘手......

一种选择是有条件地附加< style>使用JavaScript初始化应用程序时的元素您可以检查用户代理和窗口尺寸,并手动添加< style>适当平台和外形的元素。但是,通常不鼓励用户代理嗅探b / c它可能很容易被破坏,或者如果引入新的设备类别则会失败。

另一个选择是包含所有内容并使用CSS媒体查询。

如果您使用的是通用二进制文件(同时包含手机和平板电脑的外形),则必须在手机和平​​板电脑中同时包含这些内容。您可以使用CSS媒体查询,以便CSS样式仅应用于特定的设备外形。因此,将平板电脑样式包装在媒体查询中,它们将仅应用于平板电脑外形。

您可以在此处阅读有关CSS媒体查询的更多信息:

您可以在此处访问常见设备外形的预定义CSS媒体查询:

如果您不使用通用二进制文件,则每个设备类别都需要单独的项目环境。在每个单独的项目中,您可以通过符号链接到共享代码库,并使用CSS文件的静态路径。

如果您想有条件地将特定的CSS文件插入到特定的项目配置中,那么您需要为每个项目配置单独的项目,或者您需要编写一个脚本来为您完成。

希望这有助于......

相关问题