Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows for iOS上开发Cordova_Ios_Cordova - Fatal编程技术网

在Windows for iOS上开发Cordova

在Windows for iOS上开发Cordova,ios,cordova,Ios,Cordova,我是一名资深的Windows桌面开发人员(25年以上),已经做了18个月的原生Blackberry 10移动开发。对于我的下一个应用程序,我必须访问尽可能多的移动平台,并决定使用Cordova(而不是PhoneGap)来完成这项工作 我已经使用Cordova CLI在Blackberry 10和Android上成功构建并部署了一个测试应用程序。现在,在我开始编写真正的应用程序之前,我需要弄清楚iOS的工作流程,这样我就可以在所有平台上进行测试。我在Windows8.1的VMWareVM中运行OS

我是一名资深的Windows桌面开发人员(25年以上),已经做了18个月的原生Blackberry 10移动开发。对于我的下一个应用程序,我必须访问尽可能多的移动平台,并决定使用Cordova(而不是PhoneGap)来完成这项工作

我已经使用Cordova CLI在Blackberry 10和Android上成功构建并部署了一个测试应用程序。现在,在我开始编写真正的应用程序之前,我需要弄清楚iOS的工作流程,这样我就可以在所有平台上进行测试。我在Windows8.1的VMWareVM中运行OSX小牛,并在OSX上安装了Xcode。我对OSX只略知一二,但我知道我必须使用它来构建iOS。我想弄清楚的是,为了构建iOS,我必须在OSX中花费多少重复的工作。我怀疑如果我使用物理Mac来打包和测试iOS,挑战也会是一样的,所以希望有其他人找到了最干净的方法来实现这一点

我是否可以在Windows上使用Cordova创建iOS项目和源代码,或者我是否必须在Mac上使用Cordova创建重复的项目平台,并在那里保留重复的源代码?如果我可以在Windows上完成所有这些,我是否可以在每次Cordova构建之后将其复制到Mavericks上,然后使用Xcode打包并在模拟器中运行它?如果有人像我一样在虚拟机中运行OSX,是否可以将主机路径映射到OSX中,这样在从Windows构建平台源代码后,我就不必重新创建平台源代码?我假设没有办法像Android和Blackberry平台那样从Windows Cordova自动化整个过程,我错了吗

我的愿望是在Windows中完成所有编码,并且只在iOS的最终捆绑中使用Maverick。经过25年的专业发展,我不习惯成为一个完全的新手,我也不为此疯狂。哈哈

  • 学习MacOSX。我知道在这种环境下你会感到不舒服,但老实说,这并不难。事实上,我是从Windows7过渡到Windows8的,而不是升级到Windows8,我很快就适应了。(比我家人使用的Windows 8笔记本电脑舒服得多。)

  • 请记住,MacOSX是一个Unix底层(BSD)。这意味着,如果您在任何方面都熟悉Linux或Unix,但由于使用Mac GUI而受到阻碍,那么您几乎可以回到终端。(在我看来,Mac OS X是一款非常好的*nix机器!)

  • 你的虚拟机应该能够在网络上共享驱动器,就像它是一台真正的机器一样(苹果相当好地支持SMB)。这样,两种环境都可以指向同一个Cordova项目,而不必担心拷贝问题。(你可以复制周围的项目,但在我看来,通过网络共享会更容易。意外做傻事的风险更小。)

  • 唯一需要Mac的是:

    • 创建证书/资源调配配置文件(在Windows上也有解决方法,但不支持它)
    • 提交到应用商店
    • 使用Safari进行远程调试(您可以使用Weinre进行调试,但它不支持断点等)
    • 本地编译代码(其他操作系统上也有可用的工具链,但Cordova不支持
    • 在模拟器中运行应用程序
  • 上述情况意味着您可以在Windows上开发应用程序,并且只能运行到VM进行编译/提交。随着Phonegap开发者应用程序()的出现,您也可以在开发和测试期间跳过(重新)构建步骤(只要您只使用核心插件)

    注意:我知道您表示您正在使用Cordova而不是PhoneGap。很好的是,ATM,Phonegap开发者应用程序与Cordova项目配合得很好(而PG构建通常需要移动
    config.xml
    ,并以不同方式处理插件)。它确实需要安装PhoneGap CLI。只要您使用的是核心插件,就可以通过消除重建步骤来节省时间

  • Cordova项目可以在任何平台上创建——但我知道曾经有一段时间,将iOS平台添加到您的项目中(
    Cordova platform add iOS
    )会检查是否满足了所有预先要求,但我不确定是否仍然是这样。试试也无妨。但如果需要,可以使用网络共享并在VM上添加平台。请记住,这些平台应该被视为构建工件——您的应用程序代码应该位于根
    www
    ,它不依赖于添加的平台

  • 不要依赖iOS模拟器来告诉你应用程序在真实设备上如何工作或执行。模拟器拥有桌面的所有功能(处理器速度、内存等),并且缺少许多设备功能。我怀疑iOS模拟器的视觉性能会很糟糕,因为它依赖于通过VM路由的GPU。(坦白地说,在真正的Mac上并不总是很好。)你真的,真的,真的必须有一个真正的设备来测试。(同样,PhoneGap开发者应用程序可以减轻重复部署测试的痛苦。)


  • 我认为您可以通过networkd共享共享项目,只需从命令行(可能通过SSH从windows pc)重建即可。我认为不允许在VM中安装OSX(VM主机也是OSX除外)。这就是为什么我们买了一台MacMini作为“buildserver”的原因iOS@ChristianKuetbach Windows VMware产品通常不允许您运行OSX客户端,但这可以通过针对VMware的OSX解锁器轻松避免。正如我在最初的帖子中所说,我在WindowsVMware主机上完美地运行OSX Mavericks。谷歌“vmware windows osx解锁器”。我不是说“不可能”,我是说“许可条款不允许”