[.NET] 在Windows系统中搭建基于.NET的iPhone应用程序虚机开发环境

简介: 看了这个标题,也许很多朋友认为我是标题党,很多人都没听说过.NET开发iPhone,今天就我就来证实了这一点,而且我已经亲身体会了这一点。 在正式开始教程之前,先陈述一下环境搭建的步骤及要点,本环境搭建共需要四个步骤,分别如下: 1. 安装VMWare虚拟环境(你也可以用VBox); 2. 安装Mac OS X(雪豹)操作系统; 3. 安装Xcode和iOS SDK; 4. 安装MonoFramework等.NET iPhone开发框架及工具。

看了这个标题,也许很多朋友认为我是标题党,很多人都没听说过.NET开发iPhone,今天就我就来证实了这一点,而且我已经亲身体会了这一点。

在正式开始教程之前,先陈述一下环境搭建的步骤及要点,本环境搭建共需要四个步骤,分别如下:

1. 安装VMWare虚拟环境(你也可以用VBox);

2. 安装Mac OS X(雪豹)操作系统;

3. 安装Xcode和iOS SDK;

4. 安装MonoFramework等.NET iPhone开发框架及工具。

完成以上步骤就一切OK了。

在第一步开始之前还需要注意您的机器配置,建议4G内存,2G也凑合,而CPU必须要支持64位及虚拟化,这是重点,切记,否则装不上Mac OS X。

 

第一步:安装VMWare虚拟环境

 

这里我选择了比较大众的VMWare,这个全看个人喜好,你也可以选择VBox,也没问题。

下载地址:

https://www.vmware.com/tryvmware/?p=default

这里建议安装VMware Workstation 7.1(这里只有试用版,注册方法请自搜),VMware Player 3.1也可以,但是VMware Player有一个致命的弱点就是没法为虚机做快照,这里的弊端我就不细说了。

image

安装过程我这里就不细说了,比较简单,给个图:

image

 

第二步:安装Mac OS X(雪豹)操作系统

 

这一步变数比较多,网上的朋友有各种莫名其妙的问题出现,我也遇到几个问题,简单的列了一下,有其他问题的大家多交流。

我们需要准备一下几个东西:

第一个就是雪豹操作系统了,这里只能下到dmg格式的,这个是Mac系统专用格式,我们要用ISO工具转化一下,让他变成ISO格式,如下图:

clip_image001

dmg文件6.9G,转成ISO的话7.4G左右。

另外还需要一个名为darwin.iso的引导ISO,由于VMware本身不支持Mac OS,所以我们就需要这个ISO来做引导才能顺利进入安装界面以及系统启动界面。

clip_image002

这个文件很小,几十兆。

下载地址:

Mac OS X:

 

http://www.verycd.com/topics/2769321/

darwin.iso:

http://www.verycd.com/topics2818537

好,预备工作完成,接下来就是装虚机了。

首先创建一个新虚机:

clip_image002[5]

选择自己安装操作系统:

clip_image003

操作系统类型选择Other – FreeBSD 64-bit,必须这样选,否则装不成:

clip_image004

硬盘给至少20G:

clip_image005

内存可以先分1G,到了开发的时候2G比较好:

clip_image007

CPU选项注意在虚拟化中选择如下图:

clip_image009

光盘加载选择我们刚才下载的darwin.iso:

clip_image011

保存虚机设置,然后找到虚机文件存储的地方,找到虚机主文件wmx:

clip_image012

用记事本打开,找到guestOS这个设置:

clip_image013

改成darwin10,如下:

clip_image014

OK,保存后启动虚机会进入以下界面:

clip_image016

界面会停在这里,不用管,按一下C键:

clip_image018

然后加载我们下载的Mac OS的ISO版本:

clip_image019

clip_image021

选择链接光驱:

clip_image023

再按C键,即可顺利进入安装引导:

clip_image025

clip_image027

clip_image029

安装的过程不多说,有一点需要注意,需要自己格一下硬盘(这个和装Windows一样),如下,在让你选择安装盘的时候,如果发现没有磁盘分区,选择实用工具中的磁盘工具:

clip_image030

创建一个分区即可,其他默认选择:

clip_image031

clip_image032

clip_image034

完成了,可以看到磁盘:

clip_image036

接下来就是等待安装完成了:

clip_image038

clip_image040

这里写着30多分钟,不过得装1个多小时,我的笔记本是5400转到硬盘,如果7200转到可能快一点。

这里需要提醒一点,很多情况遇到“五国错误”,何为五国错误呢,就是屏幕上出现一个灰色的框,其中用5国语言写着要你重启机器:

clip_image002

这个错误不太清楚是什么原因造成,这是大家重启虚机,在光盘引导结束,系统引导开始的一刹那需要按一下F8,这个时间很短,要抓准,按了F8后进入一个引导参数界面,如下:

image

输入-v来以罗嗦模式启动(和Windows的安全模式像是),但是这个启动会很慢,耐心等待,如不出意外就会正常进入Mac OS了,这个错误除了在启动的时候出现外,在安装的时候也有可能出现,处理方法相同。

正常启动Mac OS X后,我们来装个VMTool,由于VMware自身不支持Mac OS,所以也没有自带的VMTool供大家使用,不用着急,我们找到引导用的darwin.iso加载到虚机中,就可以看到其中有个VMtool的安装包,安装后我们的虚机就可以全屏玩了:

image

image

 

第三步:安装Xcode和iOS SDK

 

下载地址:

http://www.apple.com.cn/

注册一个ID就可以下载了,2.9G。

image

这个步骤开始前需要将Mac OS X更新到10.6.4,我们刚才装好的版本是10.6.3,有一个大概1G的升级包,大家慢慢更新,更新好了看看系统属性:

image

开始安装SDK和Xcode,这个步骤也比较简单,唯一需要注意的是,安装的时候不要让计算机运行的东西过多,这样很容易出现五国错误,我装了4次才装好,最好晚上装,只开一个虚机,慢慢装,大概需要1个多小时。

 

 

 

 

 

装好后再磁盘中的Developer目录中可以找到相关文件:

image

image

image 

打开,创建一个iPhone应用程序,试试iPhone模拟器,真好,对于我这个没有iPhone的穷人,这样已经很满足了:

image

 

 

 

 

第四步:安装MonoFramework等.NET iPhone开发框架及工具

 

最后一步我们需要安装.NET开发iPhone的环境,我们需要一下三个文件:

image

下载地址:

Mono Framework:

http://www.go-mono.com/mono-downloads/download.html

Mono Touch:

http://monotouch.net/DownloadTrial

Mono Develop:

http://monodevelop.com/Download/Mac_MonoTouch

这三个的安装顺序是:

1. Mono Framework

2. Mono Touch

3. Mono Develop

体积都不大,安装也很快。

装好后启动应用程序中的Mono Develop就可以:

image

image

image

image 

到此,环境搭建完成,不过速度不太理想,有条件的还是买个Mac book吧,多谢关注吴慧锋博客。

PS: 第三方有个SDK叫DragonFireSDK,是可以在Windows上开发iPhone应用的,没玩过,有玩过的可以交流一下。

也欢迎关注的我微薄:

http://t.sina.com.cn/wuhuifeng/

 
最后闲聊一句,最近发现博客园的几个元老级人物,老赵,李会军等都自己开博了,博客园痛失人才啊。
目录
相关文章
|
3月前
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
153 10
|
27天前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
|
1月前
|
JSON 算法 安全
JWT Bearer 认证在 .NET Core 中的应用
【10月更文挑战第30天】JWT(JSON Web Token)是一种开放标准,用于在各方之间安全传输信息。它由头部、载荷和签名三部分组成,用于在用户和服务器之间传递声明。JWT Bearer 认证是一种基于令牌的认证方式,客户端在请求头中包含 JWT 令牌,服务器验证令牌的有效性后授权用户访问资源。在 .NET Core 中,通过安装 `Microsoft.AspNetCore.Authentication.JwtBearer` 包并配置认证服务,可以实现 JWT Bearer 认证。具体步骤包括安装 NuGet 包、配置认证服务、启用认证中间件、生成 JWT 令牌以及在控制器中使用认证信息
|
2月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
98 9
|
3月前
|
数据采集 JSON API
.NET 3.5 中 HttpWebRequest 的核心用法及应用
【9月更文挑战第7天】在.NET 3.5环境下,HttpWebRequest 类是处理HTTP请求的一个核心组件,它封装了HTTP协议的细节,使得开发者可以方便地发送HTTP请求并接收响应。本文将详细介绍HttpWebRequest的核心用法及其实战应用。
141 6
|
4月前
|
Linux iOS开发 开发者
跨平台开发不再难:.NET Core如何让你的应用在Windows、Linux、macOS上自如游走?
【8月更文挑战第28天】本文提供了一份详尽的.NET跨平台开发指南,涵盖.NET Core简介、环境配置、项目结构、代码编写、依赖管理、构建与测试、部署及容器化等多个方面,帮助开发者掌握关键技术与最佳实践,充分利用.NET Core实现高效、便捷的跨平台应用开发与部署。
287 3
|
4月前
|
缓存 Java API
【揭秘】.NET高手不愿透露的秘密:如何让应用瞬间提速?
【8月更文挑战第28天】本文通过对比的方式,介绍了针对 .NET 应用性能瓶颈的优化方法。以一个存在响应延迟和并发处理不足的 Web API 项目为例,从性能分析入手,探讨了使用结构体减少内存分配、异步编程提高吞吐量、EF Core 惰性加载减少数据库访问以及垃圾回收机制优化等多个方面,帮助开发者全面提升 .NET 应用的性能和稳定性。通过具体示例,展示了如何在不同场景下选择最佳实践,以实现更高效的应用体验。
51 3
|
4月前
|
前端开发 JavaScript 开发工具
跨域联姻:React.NET——.NET应用与React的完美融合,解锁前后端高效协作新姿势。
【8月更文挑战第28天】探索React.NET,这是将热门前端框架React与强大的.NET后端无缝集成的创新方案。React以其组件化和虚拟DOM技术著称,能构建高性能、可维护的用户界面;.NET则擅长企业级应用开发。React.NET作为桥梁,使.NET应用轻松采用React构建前端,并优化开发流程与性能。通过直接托管React组件,.NET应用简化了部署流程,同时支持服务器端渲染(SSR),提升首屏加载速度与SEO优化。
91 1
|
4月前
|
存储 缓存 安全
.NET 在金融行业的应用:高并发交易系统的构建与优化之路
【8月更文挑战第28天】在金融行业,交易系统需具备高并发处理、低延迟及高稳定性和安全性。利用.NET构建此类系统时,可采用异步编程提升并发能力,优化数据库访问以降低延迟,使用缓存减少数据库访问频率,借助分布式事务确保数据一致性,并加强安全性措施。通过综合优化,满足金融行业的严苛要求。
55 1
|
4月前
|
大数据 开发工具 开发者
从零到英雄:.NET核心技术带你踏上编程之旅,构建首个应用,开启你的数字世界探险!
【8月更文挑战第28天】本文带领读者从零开始,使用强大的.NET平台搭建首个控制台应用。无论你是新手还是希望扩展技能的开发者,都能通过本文逐步掌握.NET的核心技术。从环境搭建到创建项目,再到编写和运行代码,详细步骤助你轻松上手。通过计算两数之和的小项目,你不仅能快速入门,还能为未来开发更复杂的应用奠定基础。希望本文为你的.NET学习之旅开启新篇章!
35 1