4

我只是在完成一个应用程序的过程中,然后发布了iOS7。我正在使用 Cordova 3.0。

在我更新到 XCode 5 之前,为 iOS7 编译并且没有任何工作......我想知道它们是否一起工作得很好?

Cordova 插件(连接、闪屏、通知、存储)是否仍在工作,还是我们必须等待Cordova Apache 软件基金会推出新版本?

非常感谢。

4

4 回答 4

5

如果您在升级到 iOS 7 和 XCode 5 后遇到编译错误,那么在这种情况下,您需要在 Build Settings 下更改您的 Valid Architecture 值。

仅将您的架构值更改为“armv7”并在构建您的项目后删除其他项目,所有编译错误都将解决。

此修复仅适用于 Cordova 应用程序

于 2013-10-08T10:06:36.257 回答
3

我自己也想知道,所以我备份了 xcode4(将它从 Applications 文件夹复制到备份文件夹),然后今天更新到 xcode5。(这可能会有所帮助:您可以与 Xcode 4.6.2 并行安装 Xcode 5 Developer Preview 吗?

我的 Phonegap 应用程序编译成功并在 iOS7 模拟器上运行。所以据我所见,Phonegap 3.0.0 和 xcode5 可以很好地协同工作。

除此之外,我认为我需要调整一些 iOS7 特定的配置,例如:

  • iOS7中视网膜显示的不同图标大小
  • 为聚光灯和设置添加图标
于 2013-09-24T15:11:30.843 回答
2

我也在使用科尔多瓦 3.0 和 xcode 5。似乎没有任何编译错误,可以成功运行。问题是iOS7的屏幕长度。可以使用以下方法解决屏幕长度问题。(这也被称为状态栏隐藏主要 ui 问题)

0,不确定margin-top=20px的解决方案是否好用,因为在我的环境下,我也是用jquery mobile,所以简单的设置margin-top是没有效果的。

我的解决方案是:

1、在 info.plist 文件中将基于 View controller 的状态栏外观设置为 NO。

2,将此代码用于iOS 7

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {
    [application setStatusBarStyle:UIStatusBarStyleLightContent];
    self.window.clipsToBounds =YES;
    self.window.frame =  CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
}

到现在为止,状态栏显示回像 iOS 6 或更早版本。但是您会发现底部有点隐藏在设备屏幕下方。为了解决这个问题,

3、设置所有jquery mobile和iscrollview页脚元素padding-bottom=20px。

onDeviceReady: function() {
    console.log("onDeviceReady");
    if( parseInt(device.version) >= 7){
        $("footer").css("padding-bottom","20px");
    }
    app.receivedEvent('deviceready');

},

这就是我将 Cordova 3.0 + jQuery Mobile + iscrollview 应用程序移植到 Xcode 5 + iOS7 的全部内容。希望对您有所帮助。

于 2013-09-26T01:47:45.807 回答
1

我正在使用 Cordova 2.9 和 XCode 5,并且工作“几乎”完美,代码可以编译,甚至可以部署到手机上。

我发现的唯一问题是状态栏现在显示在应用程序上,因为新的全屏模式。

有关更多信息,您可以查看iOS 7 中的 PhoneGap 和 Cordova

于 2013-09-25T21:51:18.653 回答