phonegap ipad/iphone,在这两款设备上都有一个应用程序

Lan*_*don 7 iphone ipad ios cordova

所以我一直在做phonegap开发一段时间,并在应用程序商店中制作了几个应用程序.我已经制作了iphone和ipad应用程序并将它们完全分开.我知道苹果允许提交可以为两种设备格式化的单个应用程序,我的问题是如何通过phonegap完成这项工作?我知道我可以编辑项目设置并为目标设备选择ipad/iphone.但是我在代码中如何才能使其正常工作?

因为它是html,我控制html(和jquery)中的大小调整.例如,在我的iPhone应用程序中,我可能有:

<img src="asdf.jpg" width="480">
Run Code Online (Sandbox Code Playgroud)

那个相同的ipad应用程序将是:

<img src="asdf.jpg" width="1024">
Run Code Online (Sandbox Code Playgroud)

如果我可以在我的www文件夹中有两个html文件,比如index.html和index-ipad.html,然后它们共享常见的img,css和js文件夹,那真的很棒.这可能吗?

我已经广泛检查了关于phonegap的文档,但找不到任何内容.有人能指点我做一个教程吗?我真的很讨厌在应用程序商店中为同一内容添加多个应用程序.

编辑以下评论

也许我不会在html中使用width属性,也许我会这样做:

<img src="asdf_ipad.jpg">
Run Code Online (Sandbox Code Playgroud)

和:

<img src="asdf_iphone.jpg">
Run Code Online (Sandbox Code Playgroud)

两个图像的大小已经设置为两个设备.无论如何,我可以处理html/js/css,我只需要知道如何实现一个"开关",使ipad呈现与iphone不同.

jos*_*yer 13

您可以指定PhoneGap最初打开的文件.看一下应用程序:来自AppDelegate.m的didFinishLaunchingWithOptions

做这样的事情为iPad打开不同的索引页面:

if ([[[UIDevice currentDevice] model] containsString:@"iPad"]) {
    ...
    self.viewController = [[[MainViewController alloc] init] autorelease];
    self.viewController.wwwFolderName = @"www-ipad";
    self.viewController.startPage = @"index.html";
    ...
}
Run Code Online (Sandbox Code Playgroud)

  • 实际上我直到今天才实现这一点,但它没有用.我有`containsString`的问题,所以我最终使用hasPrefix:`if([[[[UIDevice currentDevice] model] hasPrefix:@"iPad"])` (2认同)