iOS示例项目学习

我刚刚开始iOS开发。 我阅读了一些教程,在iTunes U上观看了一些东西,并自己写了一些示例代码。 现在我想要采取下一步。 我想了解XCode中iOS开发的最佳实践。

有没有什么写得好的,组织良好的iOS项目,可以看看?

(就我所见,iOS并不是开源软件爱好者的地方。)

谢谢
麦克风。

我同意其他几个答案,他们指出,在你自己的应用程序中想要做什么的微型例子的许多项目是要走的路。

不过,您要求提供展示最佳做法的应用程序示例。

你可能会比从头到尾阅读Matt Gallagher的博客“ cocoa与爱”更糟糕。 但是,您要求的应用示例就在这里。

它不仅会展示各种技术,一些新颖的devise和最佳实践,而且他还指出他觉得自己可能做得更好。

这是一个伟大的阅读。

我会build议以下过程:(它为我工作)

  1. 想想一个先进的应用程序。 你最终想成为足够精通创造。
  2. 制作自上而下的问题解决树,其中包含构build最终应用程序所需的必要技能。
  3. 使用这棵树来划分你的最终应用程序。 进入“子应用程序”。 从树的底部开始,find专门针对该技能的教程,并制作“Hello World”应用程序。 使用该技能。
  4. 继续前进,创build“子应用程序”。
  5. 当你终于准备好你的最终应用程序。 (这将需要一段时间),你将很好地处理iOS开发的工作。 这也将通过直接应用程序对您的知识进行很好的testing!

掌握iOS开发可能会非常棘手; 它确实需要一个自上而下的方法,我发现每个在线资源都是线性的。 我认为线性方法学习iOS开发的唯一方法是可以pipe理的,就是一次只做一件小事。

至于具体的资源,我总是谷歌“[我想做的] iPhone SDK”,浏览出现的教程和论坛post。

这里有一些开源的iOS应用程序。 但是,他们没有很好的logging,也很先进。

  • TKAWebView – 处理authentication和下载的UIWebView的子类。
  • 欢迎来到您的Mac – 一个iOS应用程序。 到VNC到PC / Mac和做一些很酷的东西。
  • InAppSettingsKit – 您应用的设置屏幕创build者。

祝你好运!

Parse平台背后的人已经完成了两个完整的项目。

对于每个项目都有完整的源代码,一个教程,最终的应用程序也可以从AppStore中获得。

  • Anywall: https ://parse.com/anywall
  • 非典型的: https ://parse.com/anypic

他们都严重依赖Parse平台作为数据源,但是您仍然可以感受到iOS项目。

分子是一个伟大的开源应用程序,使用3D OpenGL来渲染复杂的分子模型。

只要继续编码我的朋友。 你会学习一段时间。 肮脏的斗争最好的方法就是跳进去……奇怪的比喻,但你明白了。

也许有一天,我们都会向你学习!

就像你说的那样,有很多源代码都可以上网,但是大部分都是不完整的。

我发现一些通过苹果应用程序商店可用的REAL应用程序的开源代码在这里给出

免费iPhone应用程序源代码的真实应用程序

还有,你可以在这里find很多答案在stackoverflow的问题 – 有没有任何开源的iPhone应用程序?

我意识到这是一个古老的线程,但我也一直在寻找最好的Objective-C代码示例,我刚刚意识到TextEdit的源代码可以在Mac Developer Library的网页上find 。

另外,这里有一些stream行的Objective-C库引起了我的注意:

  • 的CocoaPods
  • AFNetworking 。

您也可以通过UICatalog从开发人员库中下载示例代码。 只是谷歌它,你会发现一个项目,包含所有基本的iPhone。

我不认为有什么完美的项目能够展示伟大代码的所有品质。 开发人员有文体偏好,可能会犯错误。 也就是说,你应该看看很多不同的项目,并试图看看使用的惯例。

我build议从GitHub开始。 除了查看代码外,还会看到哪些库在外,这可能会在以后进一步帮助您的项目。 这是GitHub上的Objective-C页面 。

(另外, 我(GitHub链接)认为你的iOS开发者不赞成开源,是的,有钱可赚 ,但你不能在App Store上出售CSV配对库 )

看看https://github.com/mozilla/firefox-ios

这就是用Swift编写的iOS版Firefox。

Cocoacontrols有很多用Objective-C和Swift编写的控件。

我相信这些天,这是iOS开发人员最有名的网站之一。

但是,在你跳到这之前,你必须学习 Objective-C和Swift ,这样你才能理解如何在你的应用中使用这些控件,使你的应用顺利。