本随笔系列主要介绍从一个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

Programming with Objective-C

iOS App Programming Guide

好了,下一篇继续介绍IOS开发的相关的内容,主要介绍C#和Objective-C的一些相同和不同的地方,把他们做一些对比,以便加深学习印象。

从C#到Objective-C,循序渐进学习苹果开发(1)--准备开发账号和开发环境相关推荐

  1. 从C#到Objective-C,循序渐进学习苹果开发(7)--使用FMDB对Sqlite数据库进行操作

    本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本篇主要开始介绍基于XCod ...

  2. 从C#到Objective-C,循序渐进学习苹果开发(2)--Objective-C和C#的差异

    本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台开发苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验. 在上篇<从C#到 ...

  3. 循序渐进学习嵌入式开发技术

     嵌入式时代已经来临,你还在等什么?   ---循序渐进学习嵌入式开发技术最近经常有用人单位给我打来电话,问我这有没有嵌入式Linux方面的开发人员,他们说他们单位急需要懂得在嵌入式linux环境下的 ...

  4. 学习苹果Swift语言的一些在线资源

    Swift 是苹果为 OS X 和 iOS 平台引入的一种新的程序设计语言,这种程序设计语言已经激发了开发者社区的大量关注.仅仅几天之内,在 Stack Overflow 网站上提出的关于 Swift ...

  5. 学习ios牛人40天精通iOS开发的学习方法

    学习ios(必看经典)牛人40天精通iOS开发的学习方法 描述 这是一套从一个对iOS开发感兴趣的学员到iOS开发高手的系统.专业的课程体系.以培养企业开发真正需要的人才为目标,每个知识点都用案例来讲 ...

  6. 初级java开发学习路线_成为初级全栈Web开发人员的10分钟路线图

    初级java开发学习路线 So you have started your journey into the world of web development. But what do you lea ...

  7. html5代码_干货篇!零基础学习HTML5要用到的6款开发工具

    HTML5不是一种编程语言,而是一种标记语言,是程序员开发网页必用的一种开发工具.目前来说HTML5技术是非常火爆的,而且有专家预估在未来的10年HTML技术都不会过时.HTML5前景好,来学HTML ...

  8. c语言口令验证模块加强版,[C语言学习第3章口令验证模块的开发.ppt

    [C语言学习第3章口令验证模块的开发 C语言程序 设计项目教程 第3章 口令验证模块的开发 Evaluation only. Created with Aspose.Slides for .NET 3 ...

  9. PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建

    PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建 最近一段时间会学习一下PHP全栈开发,将会写一系列的文章来总结学习的过程,以自勉. 第一篇记录一下LAMP环境的安装 0. 安装Apa ...

最新文章

  1. 安卓双摄像头录像_android开发之调用手机的摄像头使用MediaRecorder录像并播放_Android_脚本之家...
  2. 日本农商巨头50年布局多个领域 对话国际农民丰收节贸易会
  3. VTK:几何对象之PolyLine
  4. 【技术累积】【点】【java】【29】MapUtils
  5. 指令 出厂_口碑营销_南澳出口木箱出厂价
  6. linux的常用操作——read函数和write函数
  7. 【Python3网络爬虫开发实战】1.5.1-PyMySQL的安装
  8. java统计数据并导出Excel
  9. 51nod1079中国剩余定理
  10. 定位CPU高问题三把斧
  11. React:在发表评论功能中加入表情emoji
  12. 用Python通过摄像头进行视频录制
  13. 计算机语言中索引什么意思,index在中是什么意思
  14. Ubuntu18.04配置运行Kintinuous
  15. python中print打印输出
  16. 云服务器有几种类型,一般要如何选购
  17. 【yolov3】如何使用摄像头进行目标检测——yolov3-pytorch摄像头检测教程
  18. 2022中国MarTech领域最具商业合作价值企业盘点
  19. 腾讯手游助手android版本过低,腾讯手游助手电脑版存储空间不足什么意思
  20. Chrome居然是学术利器?一口气推荐15个神级插件赋能科研之路

热门文章

  1. springmvc重定向到另一个项目_spring mvc的转发与重定向
  2. linux rt 应用程序,RTlinux编程
  3. php返回支付状态,magento paypal返回支付状态
  4. 2020idea插件怎么同步_VScode 插件整理
  5. linux c fifo阻塞写和非阻塞写,linux—FIFO的使用与非阻塞标志(O_NONBLOCK)的影响
  6. 企业微信:腾讯的“佛系”办公江湖
  7. 在linux怎样删除文件夹里,linux删除文件夹(里头有文件)
  8. C++ 函数重载碰到默认的参数
  9. Doc2Vec训练相似文章识别模型
  10. 2021年网生代线上社交行为洞察报告