我只是在完成一个应用程序的过程中,然后发布了iOS7。我正在使用 Cordova 3.0。
在我更新到 XCode 5 之前,为 iOS7 编译并且没有任何工作......我想知道它们是否一起工作得很好?
Cordova 插件(连接、闪屏、通知、存储)是否仍在工作,还是我们必须等待Cordova Apache 软件基金会推出新版本?
非常感谢。
如果您在升级到 iOS 7 和 XCode 5 后遇到编译错误,那么在这种情况下,您需要在 Build Settings 下更改您的 Valid Architecture 值。
仅将您的架构值更改为“armv7”并在构建您的项目后删除其他项目,所有编译错误都将解决。
此修复仅适用于 Cordova 应用程序
我自己也想知道,所以我备份了 xcode4(将它从 Applications 文件夹复制到备份文件夹),然后今天更新到 xcode5。(这可能会有所帮助:您可以与 Xcode 4.6.2 并行安装 Xcode 5 Developer Preview 吗?)
我的 Phonegap 应用程序编译成功并在 iOS7 模拟器上运行。所以据我所见,Phonegap 3.0.0 和 xcode5 可以很好地协同工作。
除此之外,我认为我需要调整一些 iOS7 特定的配置,例如:
我也在使用科尔多瓦 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 的全部内容。希望对您有所帮助。
我正在使用 Cordova 2.9 和 XCode 5,并且工作“几乎”完美,代码可以编译,甚至可以部署到手机上。
我发现的唯一问题是状态栏现在显示在应用程序上,因为新的全屏模式。
有关更多信息,您可以查看iOS 7 中的 PhoneGap 和 Cordova