使用visualstudio开发跨平台iOS应用程序

C++是一种流行的高级编程语言,适用于运行iOS、Android和Windows的所有移动设备。有很多因素驱动C++使用这些移动平台,从代码重用到运行时性能。许多平台定义的应用程序可跨这些平台使用,如Office、Skype和 升降箱 已经以一种促进或利用C++的方式来构建他们的移动解决方案。这不仅为他们提供了大量代码重用的优势,从而降低了开发成本,而且由于C++代码直接在硬件上运行,所以它们能够建立他们的最终用户所珍惜的巨大的流畅、响应和性能体验。然而,当C++在这些设备平台上作为当今的用户使用,以实现使用多个IDE(S)、各种工具链和构建系统造成悲伤时,故事并不是那么美好。凝视 VS2015钢筋混凝土 , 开发人员现在可以使用VisualStudio作为它们的跨平台需求的单个C++ IDE。不过,这个博客专门讨论了我们最近引入的使用visualstudio开发iOS应用程序的经验,让我们开始吧。

null

入门

我们目前的iOS开发经验 这主要是因为法律原因而不是技术原因。因此,在开始之前,我们不仅需要下载Microsoft bits(项目和构建二进制文件、模板),还需要在Mac上安装组件,您可以按照指南进行操作 在这里 为了让你的设置顺利进行。开发人员开始使用visualstudio进行iOS开发之前的第一步是将Mac机器与运行visualstudio的机器实例配对。可以通过“工具”->“选项”菜单下的“远程代理”配置配对。确保vcdremote代理在Mac上运行,在输入主机名和端口字段等详细信息后,我们都准备好了。成功配对所需的最后一件事是指定远程根文件夹,该文件夹指向在配对的Mac上安装VCRemote的位置。 配对是通过单击“配对”按钮启动的,一旦配对,我们就可以在visualstudio中开发我们的第一个iOS应用程序了。

图片[1]-使用visualstudio开发跨平台iOS应用程序-yiteyi-C++库

图片[2]-使用visualstudio开发跨平台iOS应用程序-yiteyi-C++库

跨平台iOS模板

我们在Visual C++(跨平台)部分提供了一个IOS跨平台模板集合。我们允许构建完整的E2E iOS应用程序,以及C++静态和共享库。可用的各种模板如下图所示。出于这个博客的目的,让我们浏览一下针对iOS和Android平台的OpenGLES应用程序。

图片[3]-使用visualstudio开发跨平台iOS应用程序-yiteyi-C++库

下图演示了OpenGLES跨平台应用程序。OpenGLESApp Libraries文件夹包含Android本机活动项目和iOS静态库项目。Shared项目组件包含用于构建Android动态共享库和iOS静态库的共享OpenGL代码。然后在OpenGLESApp.Android.packaging项目和OpenGLESApp.iOS.Application项目中使用这些库来构建E2E Android.apk和iOS.ipa文件。

图片[4]-使用visualstudio开发跨平台iOS应用程序-yiteyi-C++库

OpenGelaspp.IOS.Project项目还包含Objc和UI组件(SturyBoo板),最终引用C++ iOS代码。我们目前还没有很好的设计经验,但是作为构建过程的一部分,我们生成Xcode项目。用户可以随时调出与OpenGLESApp.iOS.Application相对应的Xcode项目,并在Xcode中设计应用程序工作流。

图片[5]-使用visualstudio开发跨平台iOS应用程序-yiteyi-C++库

设置和编辑我的iOS代码

现在让我们打开Cube.c跨平台源文件,它是OpenGLESApp.shared项目组件的一部分。  作为我们当前经验的一部分,我们提供了特定于iOS的智能感知、重构和许多代码导航功能,如代码预览和转到定义。下图描述了其中一些功能。

图片[6]-使用visualstudio开发跨平台iOS应用程序-yiteyi-C++库

现在,如果您选择OpenGLESApp.iOS.StaticLibrary项目上下文,您将看到用波形装饰的“Cube.c”源代码,那么让我们首先解决这个问题。出现波形是因为Windows计算机上的OpenGLES标头不可用,VS intellisense无法获取。我们目前不提供带有VS OOTB的OpenGLES1头。为了解决这个问题,您可以从 在这里 ,并将它们复制到VS框中。一旦这个路径被包含在“Include Directories”中,你就基本上已经设置好了。

一般来说,根据我们目前的经验,如果开发人员希望添加其他不属于VS项目的include头,我们需要确保这些头文件在Mac机器上可用,以便Xcode获取,这将允许生成成功,此外,这些头文件也需要在Windows机器上可用,以便VS intellisense运行。我们目前的VS经验无助于保持3 研发 但它确实可以帮助您在Mac文件夹和Windows文件夹之间创建映射。可以在属性页中定义此映射。下图演示了如何为OpenGLES示例设置include目录和映射目录。

图片[7]-使用visualstudio开发跨平台iOS应用程序-yiteyi-C++库

构建和调试iOS应用程序

构建iOS 应用程序很简单,一旦确定vcmote正在运行,右键单击并点击OpenGLESApp.iOS.application项目上的build将启动构建 构建iOS应用程序基本上是一个两步的过程。 OpenGLESApp.iOS.StaticLibrary项目被转换为XCode项目,并与包含在OpenGLESApp.iOS.Application项目中的XCode项目一起通过网络进行复制,然后使用XCode工具链在MAC上构建。 这个过程非常无缝,错误消息/警告和其他构建诊断都在visualstudio输出窗口中报告,类似于Windows和Android构建体验。

一旦构建,应用程序就可以在iOS设备或iOS模拟器上启动。作为我们产品的一部分,我们还有 扩展了强大的调试体验来调试iOS应用程序 . 我们支持在模拟器和iOS设备上进行调试。Visual Studio 2015 RC体验包括(但不限于) F5级 , 输出窗口 , 断点 , 踏入/越过/走出 , 光标 , 调用堆栈 , 数据和变量窗口 , 模块窗口 ,地址级调试( 拆卸 , 记忆 , 寄存器 窗户), 线程窗口 ,和 平行堆叠 平行表 窗户。下面的快照描述了VisualStudio在iC+应用程序中在C++中的断点处停止。

图片[8]-使用visualstudio开发跨平台iOS应用程序-yiteyi-C++库

有关iOS调试的更多详细信息,请参阅 博客 .

总结

这个博客应该让您深入了解visualstudio团队为提升iOS开发体验所做的工作。我们的iOS目标故事肯定正在进行中,这个特性支持与我们当前的思路相同。在接下来的几个版本中,我们将致力于改进我们的iOS开发故事,但现在我们希望大家能尝试一下,并为我们提供反馈。

分享反馈很容易!提供功能建议 用户语音 , 记录你在我们网站上发现的虫子 连接 现场和 给我们发一封信 微笑还是皱眉 从IDE内部。 你也可以在下面留言。如果你还在看的话 到 有 一 与我们的产品团队直接对话 关于这个话题,请通过电子邮件联系我们 ( aasthan@microsoft.com ). 我们很想了解更多关于你的经历!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享