从C#到Objective-C,循序渐进学习苹果开发(1)--准备开发账号和开发环境
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验,因为一旦方方面面都精通了,也就可能没太大的动力继续写这系列的文章了,文章中可能有一些地方说的不对或者不够完善的地方,希望大家多多指正,共同提高。
由于本人起步Objective-C的苹果开发比较晚,但是因为自己有着比较深厚的C#开发背景,因此在很多方面都会和我之前的经验做比较,因此本系列文章对于从C#转向Objective-C的苹果开发来说,应该是比较合适的。
开始介绍这些系列内容之前,花上一些时间做一些自己的背景介绍,希望大家了解起步的背景和我自己的一些感想,以期达到相互共鸣,加深体会。
1、个人技术背景
从事C#语言的开发超过10年了,虽然期间也用过微软的其他语言,如VB6、VB.NET做过开发等,不过都是一段段小插曲,最终还是主要使用C#做开发,包括Winform的开发、Web上面的开发(Webform、JQuery、MVC等),在这方便也有自己的一些见解及较多的积累,包括自己的《Winform开发框架》、《Web开发框架》、《WCF开发框架》、《混合式开发框架》等以及一些其他应用程序,如较早期开发的送水管理系统、酒店管理系统、仓库管理系统,以及后来开发的很多应用程序,如病人资料管理系统、客户关系管理系统等等,还有很多其他基于QQ开发、邮件处理、赶集网数据采集、Visio二次开发、Socket网络通讯、硬件串口的开发方面都有所涉及,基本上这么多年来,把认为重要和感兴趣的.NET技术都学习了一把。有一些技术和产品的积累,也算对得起这么多年来的技术研究了。
书籍撰写方面,早期也就参加过,年轻力壮的时候,生活拮据的年代,ASP技术和ASP.NET技术盛起的时候,分别写过一本《ASP与网站开发实战》和《ASP.NET与网站开发实践教程》,写书的辛苦和出版商的奸诈,从中可以深刻体会到。
俗话说,技不压身,很早就开始想转入苹果开发的系列了,最初从购买自己的Iphone4s开始,就有这个念头,那时候还很早,刚刚2012年初发布的时候就入手一台,同年花钱弄了一个IMAC,一直用不习惯,不过好在安静、方便、大屏幕,偶尔用来晚上玩玩,白天工作不用。
2、苹果平台的转换
苹果桌面操作系统的使用习惯和Windows很不同,你可能习惯在WIndows里面使用Ctrl,而Mac系统主要用Command键替代,虽然键盘也有control键,但是意义完全不同,传统的Windows的Shift按键在Mac系统里也用Option键替代。最开始默认的苹果鼠标还没有右键功能,用了好久才发现,可以启用右键菜单功能,甚至滚轮的方向都有所不同。总之,用惯了Windows平台,你使用Mac系统,会有一个适应的过程。
使用苹果的Mac系统,你也可以使用Windows传统的大键盘,不过建议还是选择较贵的苹果小键盘,虽然不太习惯按键太小,但是很多快捷功能,你在Windows键盘里是不起作用的,这个非常不方便,反正选择配套就对了,呵呵。
苹果的系统,很多功能都在菜单里面寻找,在我们开发之前,最好把基本的系统应用都熟悉一下,一个对这个系统有个了解,二个对苹果的各种操作有一个详细的概念,否则你还不知道文件如何管理呢。
我的操作系统原来装的是猎豹系列的,也安装了XCode开发工具了,前阵子想入手开发的时候,把系统升级到最新,也把XCode更新到了5.02,这个整体系列的更新文件有点大,基本上下载了一天的时间,安装倒是很快,但是可能偶尔会因为网速的原因,断掉,需要接着下载更新。
如果下载多次还是不能成功更新操作系统或者XCode,建议可以通过Mac系统的迅雷下载软件,里面有一个 Thunder Store,速度蛮快了,哈哈。
另外,在开发前,最好能够准备几个IOS设备,IPAD、IPhone都最好有,呵呵。由于XCode5已经不支持进行IOS6以下的版本调试了,因此我把自己的4S从5.1升级到了7.06,虽然新IOS7系统的界面不太习惯,不过为了开发方便,还是升级最好了。
3、注册开发者账号及设置
很早就知道注册苹果开发者账号,每年需要缴纳99美元,这个时候使用信用卡来处理就很好,支持美元支付的就可以了,我使用招行信用卡,周末的时候申请的,好像第二第三天就搞定了,响应的速度还是很快的。
注册开发者账号与否,你都可以使用XCode进行程序开发,但是你开发的应用只能在模拟器中测试,不能在真机测试并发布,而且他们网站还有一些资源使用的限制,不过开始之前可以先熟悉整个开发的流程和知识,如果确定需要从事开发,注册购买一个开发者资格还是非常必要的。
以上红色部分是在苹果开发网站里最为重要的部分了。这里面涉及需要下载开发的证书,以及你需要调试的开发配备证书等。
通过一系列的设置和引导,你可能最终弄好了两个证书,一个是开发的证书,一个是发布的证书,你需要把它们保存并安装到你的Mac电脑上。
申请好后,打开其中的开发证书,看到有下载的链接按钮。
把他下载到本地,然后把它安装到本地的钥匙串里面即可。
弄好了这些后,你需要申请一个Provisioning Profile的开发证书,然后在XCode的【WIndow】【Organizer】里面把你要开发设备接入进来,因为苹果严格规定,只有安装了这个证书的IOS设备,才能用来真机调试,否则是不允许的,因此这些证书的作用就是标识设备是你的,能够用于开发调试。最好为了方便,把所有的IOS设备都接入进来了,截个图大家了解下。
最后,运行XCode的程序,自己创建或者打开一个Demo程序,大致了解下其界面布局吧(默认没有黑色背景的,我通过设置把它调整了以下,感觉眼睛舒服了很多。
4、相关知识的了解
要了解整个IOS开发的系列内容,当然需要全方位的知识掌握,在开发之前,我自己通过网上了解了很多Objective-C的基础知识,好像51CTO里面的系列文章还不错。看了不少,逐渐对这个语言也有所了解。
相对于电子书籍,传统的书籍也是很有必要的,因此,我自己也通过了图书馆借了一些书籍帮助了解,借助各种知识的加强学习,能够对XCode的使用和Objective-C的语法等使用有一个非常好的熟悉了解。如下面就是我自己从图书馆第一次接回来的书籍。
不过,对于全面了解Objective-C等的内容,我后来发现苹果开发平台里面的内容更是全面,虽然全部是英文的,但是看起来非常舒服,叙述的很流畅,关键一点,是苹果把最新最好的特点都叙述的很清晰了,这个比起其他书籍介绍的内容,更加好。
否则你如果看各种参差不齐的书籍,可能对很多地方都有疑问,如有些书籍或者网上的文章,还是在ARC的引入之前的,大量介绍retain release等内容,而Release在引入ARC后,已经不需要写了,引用计数交给编译器完成了。
如在苹果开发网站里面,有一些序列的文章很不错,我自己倒是花了一整天的时间把它学习了一遍,感觉介绍的非常清晰,内容都是苹果根据最新的特性进行更新的,这点非常棒。
Start Developing iOS Apps Today
好了,下一篇继续介绍IOS开发的相关的内容,主要介绍C#和Objective-C的一些相同和不同的地方,把他们做一些对比,以便加深学习印象。
从C#到Objective-C,循序渐进学习苹果开发(1)--准备开发账号和开发环境的更多相关文章
- 从C#到Objective-C,循序渐进学习苹果开发(4)--代码块(block)和错误异常处理的理解
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本文继续上一篇随笔<从 ...
- 从C#到Objective-C,循序渐进学习苹果开发(3)--分类(category)和协议Protocal的理解
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本文继续上一篇随笔<从 ...
- 从C#到Objective-C,循序渐进学习苹果开发(2)--Objective-C和C#的差异
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台开发苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验. 在上篇<从C#到 ...
- 从C#到Objective-C,循序渐进学习苹果开发(5)--利用XCode来进行IOS的程序开发
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.前面几篇随笔主要介绍C#和O ...
- 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...
- 从C#到Objective-C,循序渐进学习苹果开发(6)--视图控制器的使用
本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...
- 【VS开发】循序渐进学习使用WINPCAP(一)
winpcap教程 中文教程 http://www.ferrisxu.com/WinPcap/html/index.html 除此之外, WinPcap · Developer Resources下载 ...
- 如何从零开始学习区块链技术——推荐从以太坊开发DApp开始
很多人迷惑于区块链和以太坊,不知如何学习,本文简单说了一下学习的一些方法和资源. 一. 以太坊和区块链的关系 从区块链历史上来说,先诞生了比特币,当时并没有区块链这个技术和名词,然后业界从比特币中提取 ...
- 循序渐进学.Net Core Web Api开发系列【1】:开发环境
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.本篇概述 本篇不 ...
随机推荐
- Java实现敏感词过滤
敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.前段时间我一个朋友(马上毕业,接触编程不久)要我帮他看一个文字过滤的东西,它说检索效率非常慢.我把它程序拿过来 ...
- SpringMVC自定义注入controller变量
springmvc config the controller parameter injection 问题描述 在SpringMVC中默认可以注入Model,ModelAndView,@Reques ...
- 不要怂,就是GAN (生成式对抗网络) (一)
前面我们用 TensorFlow 写了简单的 cifar10 分类的代码,得到还不错的结果,下面我们来研究一下生成式对抗网络 GAN,并且用 TensorFlow 代码实现. 自从 Ian Goodf ...
- 实现步骤: 推送&传感器&UIDynamic
一.本地通知基本使用: #01.请求授权(8.0以前默人授权) #02.创建本地通知 #03.设置通知内容 #04.设置通知时间(多久后发通知) #05.发送通知 二.本地通知而外设置: #01.设置 ...
- 贪心算法-最小生成树Kruskal算法和Prim算法
Kruskal算法: 不断地选择未被选中的边中权重最轻且不会形成环的一条. 简单的理解: 不停地循环,每一次都寻找两个顶点,这两个顶点不在同一个真子集里,且边上的权值最小. 把找到的这两个顶点联合起来 ...
- jQuery尺寸算法
我们默认都统一是采用offsetWidth或者offsetHeight取值了,但我们知道关于这2个尺寸的算法是这样的: offsetWidth = border-left-width + paddin ...
- CSS实现水平居中的4种思路
× 目录 [1]text-align [2]margin [3]absolute [4]flex 前面的话 水平居中是经常遇到的问题.看似方法较多,条条大路通罗马.但系统梳理下,其实都围绕着几个思路展 ...
- poj2060Taxi Cab Scheme(二分图匹配)
/* 题意: 出租车 有一个出发的时间,从点(a, b)到点(c, d),时间为 abs(a-c)+abs(b-d)! 一辆车可以在运完一个乘客后运另一个乘客, 条件是此车要在预约开始前一分钟之前到达 ...
- hdu3635 Dragon Balls(带权并查集)
/* 题意:有N个城市, 每一个城市都有一个龙珠(编号与城市的编号相同),有两个操作 T A ,B 将标号为A龙珠所在城市的所有的龙珠移动到B龙珠所在城市中! 思路:并查集 (压缩路径的时候将龙珠移动 ...
- 设置让TortoiseGit记住账号和密码
方法一:在"C:\Documents and Settings\Administrator\.gitconfig" 文件 或 "项目/.git/config"文 ...