gpt4 book ai didi

ios - Phonegap - Assets 和通用 iOS 应用程序

转载 作者:行者123 更新时间:2023-11-29 13:23:06 25 4
gpt4 key购买 nike

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

我正在使用单个代码库,例如 this example .

但由于我的项目也支持平板电脑,所以有点复杂,我希望排除安装应用程序的设备上未使用的 Assets 。

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

项目根:

  • html (html, JS, Css, android & ios 项目图片)
    • CSS
      • 样式.css
      • style-android-phone.css
      • style-android-tablet.css
      • style-ios-phone.css
      • style-ios-tablet.css
    • 图像
      • 分享
        • [...]
      • 电话
        • [...]
      • 平板电脑-[...]
    • js
      • [...]
    • 模板(=html 模板)
      • 电话
        • [...]
      • 平板电脑
        • [...]
  • android(eclipse 项目)
    • Assets
      • www(符号链接(symbolic link)到 ../../html)
      • [...]
      • [...]
    • 图书馆
      • [...]
    • 资源
      • [...]
    • 来源
      • [...]
    • [...]
  • ios(xcode 项目)
    • Cordova 库
      • [...]
    • 我的项目
      • 类(class)
        • [...]
      • 插件
        • [...]
      • 资源
        • [...]
      • [...]
    • 我的项目.xcodeproj
    • www(符号链接(symbolic link)到 ../../html)

例如,我不希望 iphone 应用程序包含平板电脑 Assets ,例如:html/css/style-android-tablet.css、html/css/style-ios-tablet.css、html/images/tablet/、html/templates/tablet/

目前,由于无用的 Assets (主要是图像),该应用在 iphone(例如)上有点重。

我尝试了一些想法,例如:- 在 xcode 项目中使用 2 个目标。一个用于 iphone,一个用于 ipad。但是 xcode 中 www 下的文件和文件夹无法设置为目标成员资格。只有 www 可以。- 使用 2 个 www 目录和 2 个目标,但 iphone 目标仍然包含以 ipad 为目标的 www。

我认为 this solution可以帮助我,但我真的不明白如何使它适应我的文件结构。

因此,我请求您的帮助,为 future (下一个项目和现有项目的发布)找到最佳和更简单的解决方案。

预先感谢您的帮助。

干杯。

最佳答案

这是我过去在 Android 和 iOS 之间共享资源的方法:

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

对于在设备外形因素之间使用单独的 CSS 文件,这有点棘手......

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

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

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

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

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

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

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

希望对您有所帮助...

关于ios - Phonegap - Assets 和通用 iOS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13865152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com