扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
什么是开发者账号 ?
10多年的廉江网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整廉江建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“廉江网站设计”,“廉江网站推广”以来,每个客户项目都认真落实执行。
顾名思义,开发者账号当然是ios开发者用到的了,将写的程序部署到真机上,打包发布到app store上,都需要用到开发者证书。同时,衍生的功能就是可以优先体验测试版系统,可以在非越狱的ios设备上安装破解程序。
可以让开发者提前适用产品,上传软件等等,但是是要交钱的!跟用户没关系,除非你想编苹果的软件赚钱。
开发者账号注册申请方法
1.1. 打开苹果网站
到网页底部,点击iOS开发者计划链接
会看到如下画面【苹果开发者联盟】
点击【马上加入】滚动到页面底部,选择Continue
看到如下画面:在下面的画面我们选择或者创建一个开发者账号,在这里我已经有一个Apple ID了,所以选择左边第二项,然后单击右下侧Continue
来到下面的画面该画面是选择个人或者公司账号,我这里选择个人左下角的【Individual】
会到下面的画面输入已经有的Apple ID,然后点击Sign In
到下面的画面,填写个人信息
点击Continue,到下面的画面,选择程序
选择iOS Developer Program,然后Continue到下面的review画面
确认无误,继续点击Continue 到下面的画面:同意协议
勾上复选框,点击:I Agree,到下面的画面。这里我们把Purchase Form表单打印出来
填写好那个打印出来的表单之后,按照上图中给出的fax号传真过去。 在这里使免费网络传真用
传真过去的第二天:苹果会给你发一封邮件,
内容如下:
如果您需要回复我们时,请您将以下的Follow up number添加到您的电子邮件内容里面。 Follow Up: 221571059 Re: iOS Developer Program 您好, 我们是苹果开发者支持部门。 关於您申请的开发者计划,我们需要跟您联络。请您参照以下网站联络您所在地区的开发者支持电话号码∶ 联络时请说明您的Enrollment ID: 828JH7QQK3 以及Follow-up号码:221571059 感谢您的协助。 KennethApple Developer Support 参照邮件内容的链接中的对应电话号码拨过去。
ChinaEnglish,
Mon-Fri, 09:00-17:00 CST4006 855
然后就等待苹果确认你的信息,通过之后就好啦。
确认通过之后,会收到如下一封邮件,点击激活码链接
来到下面页面,点击Active进行激活
激活成功提示
用申请成功的账号进行登录苹果开发者网站,如下页面
基础
一定的编程经验
这里说的编程经验是至少熟练一门编程语言,对 OOP 有一定的了解,最好熟悉一些基本的设计模式。遇到过的好多 iOS 开发,大多是从别的语言转过来的,所以有一定的编程基础,学起来会更容易 get the point.
如果是第一次接触编程,当然也是没问题的,只是要做好心理准备,可能会比想象的难。
英语
发现不少开发对于英语似乎有点接受不能,通常都是中文优先,除非迫不得已,才硬着头皮看看 StackOverflow,英文文章,文档等。忘了是谁说过「难走的路越走越好走」,通常如此。其实只要稍微 push 一下自己,那些技术文章啃下来应该不会有太大的问题,有过几次成功的体验后,这种恐惧感就会减少很多。优质的文章、视频、书籍,多是英文的,不迈过这个 坎,将来要么成为瓶颈,要么花更大的成本去填补。
入门
书籍
要学习 iOS 开发,自然要先学 Objective-C (当然现在也可以直接上 Swift,不过如果多人协作的话,OC目前还是主流),因为 OC 是 C 语言的超集,所以了解 C 语言对于学习 OC 肯定会有帮助,不过就算不了解,直接学 OC 也没太大问题。
这里推荐 BNR (Big Nerd Ranch) 的这本 Objective-C Programming The Big Nerd Ranch Guide,讲解地比较细致,能帮助你更好的理解 OC,更重要的是教你遇到问题时,如何去解决问题,以及这个问题对应的一些知识点,如何使用文档等等。
来到一个新的世界,肯定会对这个世界充满好奇,想订阅一大堆博客,买一堆书,看各种教程和视频,然后就变得浮躁,不知该从哪下手,这会导致拖延症。 我渴了,给我倒一杯水,这个很直接,马上就可以做,但如果是给我买一瓶饮料,而自己对那些饮料又不怎么熟悉时,就纠结了,不如刷会微博,看看朋友圈,玩个小游戏先。
所以一本好的入门教材很重要,要契合自己当前的水平,且常常会有收获,这种成就感会激励着你继续学下去。
在看书的过程中,往往会有这样的经历:书中提到某个人、观点、知识点、书、文章,然后就顺着它提到的这些东西出去了,可能某个知识点又牵扯到另一些内容,然后就这样越走越远。想起了一个故事——
三只猎狗追一只土拔鼠,土拔鼠逃跑时钻进了一个树洞。这个树洞只有一个出口,不一会儿,忽然从树洞里跑出一只兔子。兔子飞快地向前跑,并爬上另一棵大树。兔子因为慌乱在树上没站稳,掉了下来,砸晕了正仰头看的三只猎狗,最后,兔子终于逃脱。
对于这个故事可以从不同的角度去解读,我更愿意以初心去解读。兔子为什么会爬树?为什么能砸晕三只猎狗?这不是重点,重点是,之前追赶的土拨鼠哪去了?看书时难免会有延伸阅读,这个深度我觉得不宜超过 2 层,不然很容易就回不来了。
还有就是如果有可能,最好每天都看点,这其实是很难的,因为总是会有优先级更高的事,或者之前的某些习惯在干扰。一旦断了几天,就不想再拿起来了。
还有,苹果官方的 Start Developing iOS Apps Today 也是很不错的入门材料。
视频
推荐斯坦福老头子(Paul Hegarty)的 Developing iOS 7 Apps for iPhone and iPad ,当初也是看的这个(那时还是更老的版本),Paul 是资深的 Mac/iOS 开发(前苹果员工?),很多知识点讲得很到位,学生们的提问也大都在点上,同时配有Demo,总之听下来会对 iOS 开发有比较全面的了解。
同时推荐一本小册子:objc-zen-book,花不长时间就能看完,里面是一些 Best Practices,对于编写优质代码会很有帮助。
笔记
这是一个持久的过程,任何阶段都适用。以前也没太在意这个,觉得概念性的东西,脑子过一遍,就大概知道了,然后就去啃其他的东西了,现在看来,如果有记笔记的话,会更有助于消化概念、知识点,也可以记录自己的思考过程。达芬奇就记录了10000多页的笔记。
记笔记可以加深对知识点的理解,而成为编程巨星的唯一秘诀就是:对所做的事情理解地越深,就会做得越好。同时如果遵循遗忘曲线去复习的话,效果更佳。对知识点了解地足够透彻后,Debug 时才更有可能知道问题出在哪,解决问题也更容易有思路。
笔记不仅可以记知识点,也可以记录调试过程,比如这篇笔记,有一种调试方法:小黄鸭调试法
许多程序员都有过向别人(甚至可能向完全不会编程的人)提问及解释编程问题,就在解释的过程中击中了问题的解决方案。一边阐述代码的意图一边观察它实际上的意图并做调试,这两者之间的任何不协调会变得很明显,并且更容易发现自己的错误。
生活中我们可能不会真的这么去做,这时抽离出另一个自己,记录下跟ta的对话,也是个发现问题的好方法。
练习
这也是一个持续的过程,知道了些概念或原理后,总是会想着去验证下是不是这样,无论结果是否如自己预期,实践的过程会降低对语言的陌生感,慢慢地培养一种驾驭这门语言的自信,如果出了错,正好可以重新梳理一下。
目标
如果静下心来看完了 BNR 的这本书,以及斯坦福的 iOS 开发视频,那么对 OC 应该比较了解了,一些常用的 UIKit 用起来也没什么问题了,比如 UIViewController / UIView / UIScrollView / UIImageView / UITableView。也熟悉一些概念,如 KVO / MVC / Delegate / DataSource。
这个阶段下来,应该会有:哦,iOS 开发也就这样嘛,多翻翻文档,熟悉 Cocoa Touch 的一些 Class,差不多也能做出一个简单的 App 了。
进阶
入门之后,接下来可以折腾的东西还会有不少。
书籍
Effective Objective-C 2.0,里面提到了 52 种提高 iOS App 质量的途径。涉及了 API 设计、protocols / category 的使用、写出更模块化的代码等,读下来应该会有不少收获。
iOS Programming: The Big Nerd Ranch Guide (4th Edition),又是一本 BNR 的书,这本书的特点是通过 Demo 来引出知识点,然后提一些问题,并且会细说解题思路。看书的过程中,对于元学习能力的提升也会有一定帮助。
--- update ---
发现巧哥的 iOS开发进阶 已经可以在京东买到了,虽然没有细看,但巧哥出品质量肯定有保障。
其他资源
进入这个阶段后,可以去探索更大的世界了,现在的资源已经很丰富了,但还是要遵循「少而精」的原则。以下是我觉得挺不错的资源
iOS Dev Weekly 每周一期,内容多为这一星期里值得关注的Github项目、文章、工具等。
iOS 移动开发周报 这是唐巧大大整理的每周不错的 iOS 开发相关的内容,多为中文。
RayWenderlich 很多详细又全面的教程,不容错过。
iOS Dev Slack 国内不少 iOS 开发(包括大大们)都在这里,不过现在好像不怎么能拿到邀请了。
中文 iOS/Mac 开发博客列表,打开工具订阅吧。
还有,如果可能的话,多去分享自己学到的东西,教是最好的学,我试过几次,效果真的很不错。
目标
这个阶段下来,对于常用的设计模式、内存管理、Blocks 的使用、图像操作、网络请求和管理、多线程应该比较熟悉了。对于 CALayer、Animation、UIScrollView、UITableView、UICollectionView、 ViewController Container 则非常熟悉,对「非常熟悉」的定义是:不打开 Xcode,脑子里就能把相应的知识点复述出来 80% ,比如这个类有哪些方法,Delegate / DataSource 有哪些方法,怎么使用,如果要实现某个效果,应该怎么做(好吧, UICollectionView 除外)。
高级
其实高级、进阶、入门并没有严格的界限,在入门阶段也可以探究高级阶段的一些东西。我觉得支撑我们不断探索和前进的动力不是兴趣,而是永不满足的好奇心,和对优雅代码的追求。
If your standards are low, you're going to stop pretty early on in the process.
BNR 的这篇 Leveling Up 已经讲得很好了,也更加细致。
书籍
iOS 7 Programming Pushing the Limits 这本书对 iOS 7 的一些特性会讲解地比较深入,当然也不仅仅是 iOS 7。只叹 iOS 更新实在太快,书籍往往跟不上,一本好书往往需要很长时间来撰写,等书可以出版了,iOS 又出新版本了。
源码
看优秀的源码,可以学到很多东西,使用过程中遇到问题也更容易解决。这些是我觉得值得细看的源码:AFNetworking(NSOperation, HTTP, Block), SDWebImage(Image Handle, Cache, NSOperation, Block),SVPullToRefresh(UIScrollView, State Handle), JSONModel(runtime)
如果有兴趣,也可以翻翻 CoreFoundation / OC runtime 的源码。
资源
oleb
NSHipster
objc.io || objcio.cn
WWDC 视频
工具
chisel Facebook 出品的 LLDB 助手,用于调试很方便
Reveal 每当好奇某个 App 的实现时,都会打开它一窥究竟,用于调试自己的 App 也很方便
Aspects steipete 大大出品的一款方便使用 method swizzling 的工具,可以在运行时动态添加代码到某个方法
class-dump 从 Mach-O 文件生成 OC 头文件,有时想看看某个 App 大概是如何组织的会比较方便
Hopper 可以对二进制文件进行反编译,甚至可以生成伪代码!有时想看看 UIViewController 里某个方法大概是怎么实现的,就可以用它。
Instruments 这个内置的工具对于发现 App 的各种问题很有帮助,如内存占用、泄露,渲染问题等。
目标
这个阶段,对于底层的实现会有更深入的了解,各种 Core 开头的 Framework 至少可以说出个大概,工具也能熟练使用,「正经的代码」写过数万行,可能天天在翻 Dash。如果别人让你实现某个功能,能在较短的时间内给出不错的实现方案,并且足够细致,甚至精细到如何使用 Core Graphic 去画某个图像。
其他
我觉得无论学习什么,「速成」的心态是最要不得的,这只会让自己变得浮躁,一知半解,整个过程也很难让自己的元学习能力得到提升。慢慢来,攻占一个城后,再去打下一个,这时心态也会平和许多。
全新iOS7界面有了很大改变,新版应用图标趋于扁平化,这与以往风格存在很大不同,不仅图标有变化,界面、功能等方面也有改变,全新的上滑的锁屏界面、拨号界面、含有快捷功能键的通知中心界面、动态天气界面等,照相功能也首次添加了滤镜,AirDrop也被iOS“吸收”。而全新的Siri则可配合车载系统进行操作,苹果公布将会有16加汽车厂商在2014年将Si日正和岛车在系统内。新版iOS7系统支持iPhone 4以上、iPad 2以上、iPad mini和第五代iPod touch。
IOS7的发布让“扁平化(Flat Design)”和“拟物化(Skeuomorphism)”的争论变得愈演愈烈,这比上次微软发布Metro 来的还要强烈。
为何IOS的改变会引起这样的争议?
我想这跟苹果公司一直以来作为的“拟物化”设计的的领军形象不无关系。我们可以回想,iphone发布时,将手机的物理拨号键以触屏软件的形式植入ios系统开始,或者从imac桌面那一个个跳动的水晶图标开始,再或者在ibook像翻开一本真实的图书一样来阅读,苹果公司一直在引领了“拟物化”设计的浪潮。而新发布的IOS7现在开始推动“扁平化设计”,这样颠覆性转变必然会引起大家的争议。
拟物化的优势是什么?
“当你应用中的可视化对象和操作按照现实世界中的对象与操作仿造,用户就能快速领会如何使用它。( iOS Human Interface Guidelines)” 也就是说以 模拟实物的视觉设计和交互体验,让用户完全不用去抽象的理解就可以直观的认知和使用。
拟物化设计在视觉上有着很高的识别性,让原本抽象的产品形象变得具有亲和力,更加优雅,在使用上降低用户的学习门槛。
推荐我最喜欢的拟物化设计App: Paper by FiftyThree
拟物化的劣势是什么?
在追求拟物化设计的浪潮中,出现了另外一些的问题。
一、视觉设计:上面有说,拟物设计具有很高的识别性、质感、亲和力。
但是盲目的追求拟物化设计需要付出更高的开发成本,在移动设备的小尺寸屏幕里不能高效的利用的有限的空间。
二、移动设备上的平面操作毕竟与现实生活中有着巨大的区别,盲目的拟物有时候反而会对用户造成困惑。
三、既然拟物是一个模仿过程,这就限制了开发者的创新和想象间,产品容易臃肿且局限。
拟物与极简是矛盾的吗?
我不这么认为,苹果公司是一家崇尚极简主义的公司,在过去的一段时间里,苹果以优雅的拟物设计和极简的产品体验,真正的做到了 简单而丰富 ,我的小外甥女拿到IPAD不需要教她就可以自己玩的不亦乐乎。
扁平化设计的优势和劣势
扁平化设计就是 用最简单、最轻量级甚至抽象的方法来传达产品本身核心内容或功能 ,也就是说“扁平化设计”并不追求画面的质感、重量感、甚至产品的实际形态。优秀的扁平化设计给人感觉简洁、整齐、清晰,所有的功能一目了然,没有什么是多余的。因此“扁平化”可以更高效的利用空间,给用户最少的干扰去理解产品内容。
但是扁平化设计太过简洁,识别性极差,容易审美疲劳,缺少亲和力。最重要的是, 抽象的表达提高了学习成本 。举一个例子大家就明白:拟物化设计就像“象形文字”,全世界人不用学习都能猜出它所表达的大概意思,但是它的表达却非常模糊和局限,而扁平化设计就像抽象的现代文字,你必须通过学习才能理解它所表达的意思,但表达精确而丰富。(PS:我并不是说“拟物化设计”原始,而是举例说明他们之间直观的感受)
推荐我最喜欢的扁平化设计App: Any.do
为什么IOS7开始推动扁平化设计?
我在本文开头所引用的设计十诫中的两条描述,在IOS7发布后似乎给人传达了这两个信息:创新、极简。
同时,我也有个猜想:Google glass已经公测,传说中的Apple iWatch也越来越近,电子产品似乎正在往穿戴市场发展。穿戴式的电子产品体积更小,屏幕空间有限,而 扁平化设计恰恰能够更好的利用空间 。
iOS7正式版北京时间2013年9月19日发布。
iOS 7提升了动作和动画效果,并且改进App Store,可通过“我的附近的热门App”来查看当前与位置相关的应用程序。
iOS 7支持从屏幕底部向上推送来快速访问常用的控制和应用程序。iOS 7还推出了AirDrop、企业功能、教育功能等新功能。截至北京时间2014年7月1日,iOS 7已更新至iOS 7.1.2,iOS 7有版本已更新完毕。
系统特点:
1、界面设计
iOS 7重新设计了界面,对整个系统和每个内置应用程序都进行了更新。对动作动画进行优化,采用分层和半透明设计。iOS 7提供了深度感优雅的全新配色和美观的版面,更新了系统声效和电话铃声。
2、控制中心
iOS 7支持从屏幕底部向上推送来快速访问常用的控制和应用程序,比如:打开和关闭飞行模式、无线局域网、蓝牙、勿扰模式;调整屏幕亮度;访问媒体控制;打开AirPlay 和AirDrop;快速访问手电筒、计时器、计算器、相机和音乐控制等。
3、AirDrop
iOS 7支持与周围的人快速轻松地共享内容,无需网络或设置便可进行安全加密的传输。
以上内容参考:百度百科—iOS 7
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流