因为我试图通过phonegap创建一个应用程序,应该在iOS和Android以及其他设备(如Windows)上运行什么,我对资产文件夹的删除有一个小小的理解问题。
在文件中留下来,每个资产/ www forlder中的内容都来自我。 HTML / JS / CSS图像等。
但是当我在iOS App和Android App之间存在较小的差异时,尤其是在设计中会发生什么。我应该在www文件夹中打包每一个并且每次都检查,如果iOS然后这个,如果Android然后这个或我应该制作单独的文件夹例如assets / www / android和assets / www / iOS并且有不同的代码和图像对于每个平台或使其像维基百科:https://github.com/wikimedia/WikipediaMobile
在www文件夹中的维基百科应用程序中,每个平台都有子文件夹,其中包含此平台的属性。这个,我不明白的是他们如何选择使用哪个平台以及如何知道iOS上的应用程序从iOS forlder中选择属性?
有没有人遇到这个?
答案 0 :(得分:1)
我主要使用prebuild脚本,平台之间存在真正的差异 - 大多数东西是不变的,但是从开发www文件夹(它本身是用jekyll生成)复制到应用程序www文件夹时,一些文件被换掉了 - 例如cordova.android.js被复制为cordova.js。
这种方法还允许处理平台之间的一些较大的不一致性,例如视频需要在res而不是android上的资产。
大多数设计差异都可以通过CSS媒体查询来处理。
自定义插件也很有用 - 它们可以在所有平台上具有相同的界面,但实现方式完全不同。
如果您最终必须在运行时使用javascript切换某些内容,请检查device.platform。
答案 1 :(得分:0)
要使用PhoneGap并在不同的平台上,我创建了不同的文件夹:页面,插件,功能......所有这个文件夹在所有平台上都是相似的。这允许您在不同的平台中复制它们并查看您的应用程序是否正在运行。只是不要复制cordova.js文件。
在每个特定的功能中,比如Tom,我检查device.platform来调整代码。但我尝试获得最通用的代码。小心,有时平台不解释基本代码(如在Windows Phone中的应用程序底部...)
如果您使用插件,请不要将其与项目文件夹放在同一个文件夹中。
当我使用phonegap开发时,这是我的策略:
- 在Android上开发我的应用程序,测试它
使用像diffmerge这样的软件复制,iosproject中的android文件夹
-Build ios项目,测试它