原文地址:http://blog.csdn.net/shangyuan21/article/details/18416537

上一篇文章,Windows7上使用VMWare搭建iPhone开发环境介绍了在windows上安装Mac os x操作系统的方法,本篇文章将介绍Xcode的安装及第一个应用程序的开发

1.下载并安装Xcode

安装好Mac操作系统后,打开里面的浏览器就可以直接进入到Apple的官方网站,在网站里面搜索xcode就可以进入到Xcode的下载界面

在下载的过程中需要注册一个Apple ID,很简单的这里就不详细介绍了。下面的插图是我开发环境里面的搜索后的列表,供大家参考

这里需要注意下,不是所有的Xcode都可以使用的,Xcode和Mac OS X操作系统需要一定的相互匹配关系的,具体的情况可以参考下面

Xcode各个版本和Mac OS X对应关系

我这里下载的Xcode4.5。下载之后,是一个.dmg类型的文件。该类型的文件对于Mac OS X来说就相当于exe类型对于Windows的关系,只要点击dmg文件就可以运行该应用了

启动后的界面如下图

2.创建第一个应用Hello World

和学习所有的开发语言一样,第一个应用从Hello开始

启动Xcode之后,点击Create a new Xcode project按钮,如下图

进入到如下界面

这个界面是Xcode提供的模板,供开发者选择。对于我们的第一个程序,选择Single View Application模板。选择该模板后点击Next按钮,进入的项目属性的编辑界面

对于上面的这个界面中,Product Name就是项目的名称,Organization Name就是组织名了,Company Identifier就是公司的标示符了,这个对于

使用开发者账号开发应用时需要注意,需要与开发者账号注册时使用的标识符一直,对于开发者账号开发APP并且发布及真机调试的相关内容我们将在后面的内容中介绍,

本文暂不考虑,只要知道它是做什么的就行。

Devices可以选择该应用是iPhone还是iPad上的应用,默认的情况是两者都可以兼容。我们选择默认就可以了

最后勾选掉图中标红的两个复选框,点击Next进入项目编辑界面。

点击上图中标红的文件,可以看到右侧的界面如下

这里就是最终呈现在iPhone上的画面效果,默认的情况下是没有任何控件的,图中的Logon这个圆角按钮时我后来添加进去的。

做法是,点击右下角导航部分的Round rect Button如下图

点击项目中的ViewController.h在@end前面输入下面的代码

  1. -(IBAction)showMessage;

接着进入到ViewController.m中在@end前面输入下面的代码

  1. - (IBAction)showMessage
  2. {
  3. UIAlertView *helloWorldAlert = [[UIAlertView alloc]
  4. initWithTitle:@"My  First  App"  message:@"Hello,  World!"
  5. delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
  6. [helloWorldAlert show];
  7. }

第一句话UIAlertView *helloWorldAllert是在定义一个消息框,可以类似的理解为C++中的MessageBox。后面的内容是在

初始化一些基本的属性,比如标题、提示内容、各个按钮的名称等。这里需要注意的是,所有的内容都是使用@加上字符串来定义的。
最后一句的helloWorldAlert show是要将这个提示框显示出来。注意不要想C++或者是Java等语言那样使用点号来调用show方法。
这些编辑之后,注意保存。可以使用快捷键win S(Mac里面是Command S)。
最后,我们需要将按钮和定义好的方法关联在一起。
点击iPhone.xib文件,进入到Editor界面。先点击Control键,然后用鼠标拖动按钮到File‘s Owner界面,选择关联方法如下图。
选择上图出现的showMessage方法,保存文件后,点击左上角的运行按钮在虚拟机上运行我们编译好的程序,或者是快捷键win R。构建是win B。
运行后如下图
点击Logon按钮,可以看到我们定义好的showMessage方法的运行效果,弹出Hello world的提示框。效果如下图所示
这样,整个程序就开发完毕了
参考文章:
1.http://hi.baidu.com/zyb_debug/item/7ebbb012a4073ba6feded5d6
2.IOS从入门到精通
 

ios学习笔记(二)第一个应用程序--Hello World的更多相关文章

  1. Linux学习笔记20——第一个多线程程序

    一 什么是线程 线程:是一个进程内部的一个控制序列. 二 使用POSIX的注意点 1 为了使用线程函数库,必须定义宏_REENTRANT,通过定义_REENTRANT来告诉编译器我们需要可重入功能,可 ...

  2. SpringMVC学习笔记二第一个小的程序

    首先:我们要用springmvc来写一个helloworld的例子: 首先我们需要导入所需要的架包: /demo1/WebRoot/WEB-INF/lib/commons-logging-1.1.1. ...

  3. iOS 学习笔记二【cocopods安装使用和安装过程中遇到的问题及解决办法】【20160725更新】

    在osx 10.11之前cocopods问题不多,但是升级到11之后的版本,之前的cocopods大多用不了,需要重新安装,对于我这种使用测试版系统的技术狂来说,每次都需要重新安装很多东西, 当然,c ...

  4. iOS 学习笔记 二 (2015.02.26)

    How To Use Git Source Control with Xcode in iOS 6 If you're new here, you may want to subscribe to m ...

  5. JZ2440学习笔记之第一个裸机程序(Keil-MDK)

    CPU:S3C2440, ARM920T, Internal 4KB RAM, Support boot from NAND flash, 128MB for each bank. JZ2440:Me ...

  6. Beego 学习笔记二:第一个项目

    第一个MVC项目 1>     使用beego命令,创建一个项目 首先切换到创建项目的位置,输入bee new firstweb命令,创建成功之后会出现一个名为firstweb的文件夹 2> ...

  7. iOS学习笔记13-网络(二)NSURLSession

    在2013年WWDC上苹果揭开了NSURLSession的面纱,将它作为NSURLConnection的继任者.现在使用最广泛的第三方网络框架:AFNetworking.SDWebImage等等都使用 ...

  8. python3.4学习笔记(二) 类型判断,异常处理,终止程序

    python3.4学习笔记(二) 类型判断,异常处理,终止程序,实例代码: #idle中按F5可以运行代码 #引入外部模块 import xxx #random模块,randint(开始数,结束数) ...

  9. iOS学习笔记20-地图(二)MapKit框架

    一.地图开发介绍 从iOS6.0开始地图数据不再由谷歌驱动,而是改用自家地图,当然在国内它的数据是由高德地图提供的. 在iOS中进行地图开发主要有三种方式: 利用MapKit框架进行地图开发,利用这种 ...

  10. 微信小程序学习笔记二 数据绑定 + 事件绑定

    微信小程序学习笔记二 1. 小程序特点概述 没有DOM 组件化开发: 具备特定功能效果的代码集合 体积小, 单个压缩包体积不能大于2M, 否则无法上线 小程序的四个重要的文件 *js *.wxml - ...

随机推荐

  1. CheckedListBoxControl 使用

    绑定用法 StringBuilder sb = new StringBuilder(); sb.AppendFormat("select id, filename, addtime from ...

  2. [LeetCode]题解(python):036-Valid Sudoku

    题目来源 https://leetcode.com/problems/valid-sudoku/ etermine if a Sudoku is valid, according to: Sudoku ...

  3. 【转】为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment?

    为什么调用 FragmentPagerAdapter.notifyDataSetChanged() 并不能更新其 Fragment? 转自:http://www.apkbus.com/android- ...

  4. imx6 android5.1 打开 调试串口

    imx6的工板烧录android 5.1的镜像,uboot中能使用debug口,kernel,文件系统中不能使用debug口. 打开kenel和文件系统debug口方法,在uboot的bootargs ...

  5. 使用oracle外部表进行数据泵卸载数据

    数据泵卸载Oracle9i引入了外部表,作为向数据库中读取数据的一种方法.Oracle 10g则从另一个方向引入了这个特性,可以使用CREATE TABLE语句创建外部数据,从而由数据库卸载数据.从O ...

  6. SQLServer如何处理数据集的维度变化

    Student表有三列,分别是姓名.课程.成绩 Name Curricula Mark 张三 语文 70 李四 数学 80 王朝 英语 59 城南 马哲 70 王朝 语文 90 我想得到的效果是,列出 ...

  7. UVA 10127题目的解答

    #include <iostream>#include <cstdio>#include <cmath> int main(){ int num; while (s ...

  8. FreeMarker惯用内置函数

    1.sequence?first 返回sequence的第一个值. 2.sequence?last 返回sequence的最后一个值. 3.sequence?reverse 将sequence的现有顺 ...

  9. jQuery中append()与appendTo()方法区别

    1. append(content)方法 方法作用:向每个匹配的元素内部追加内容. 参数介绍:content (<Content>): 要追加到目标中的内容. 用法示例: HTML代码为& ...

  10. 误卸载python2.4导致yum不能用后的修复

    去 http://mirrors.ustc.edu.cn/centos/或者镜像下载如下包,版本不一定非常一致 python-2.4.3-56.el5.x86_64.rpmpython-devel-2 ...