我找到了在 iPhone 上开发应用程序的“入门”文档。
我想要社区对我应该知道/学习什么(在语言或概念方面)的意见?
一个普通的程序员需要多长时间来学习和构建一个管理列表、连接到某些网站等的应用程序?
如何将我制作的应用程序下载到 iPhone 上?只需 ZIP,然后使用 .ipa 文件安装?
我想要社区对我应该知道/学习什么(在语言或概念方面)的意见?
您将使用 Objective-C 和 Cocoa。如果你以前没有做过 MAC 编程,这些都是相当奇怪的概念,但不久之后你可能会爱上它们。iPhone 开发中要记住的最重要的概念是内存管理,因为该设备没有垃圾收集的概念。
一个普通的程序员需要多长时间来学习和构建一个管理列表、连接到某些网站等的应用程序?
不会太长。互联网上有大量示例应用程序,stackoverflow.com 上有许多有用的人
如何将我制作的应用程序下载到 iPhone 上?只需 ZIP,然后使用 .ipa 文件安装?
您将需要下载 SDK,在 Mac 上使用 xcode 创建一个应用程序(或类似的 Windows 环境,如果有的话) - 您可以在不给苹果任何东西的情况下使用模拟器进行测试,但为了在设备上进行合法测试,您需要成为苹果开发者。
但是,如果您越狱您的设备,您将能够按照几种方法之一让您的应用程序绕过苹果限制在 iphone 上运行。
整个 iPhone UI 开发(UITableView 等)都基于 MVC(模型-视图-控制器)模式,因此对此有很好的理解至关重要。
内存管理也很重要,刚开始可能有点麻烦。我刚开始不久,所以不能在这里给你一个很好的描述而不自欺欺人:)。苹果内存管理
最后,开发环境一开始可能有点奇怪。特别是连接视图控制器和界面元素。所以检查一下。
然后它基本上是通过 iPhone 开发者网站和互联网上的教程来了解不同 UI 元素和控制器(表格、文本框等)的内部结构。
您需要为 iPhone 开发者计划付费才能合法地使用您的 iPhone 来调试您的应用程序(尽管 Xcode 开发环境带有一个模拟器)。将应用程序提交到应用商店允许所有人访问。付款后可获得执行此操作的全部详细信息。您可以通过其他方式在 iPhone 上获取应用程序,但我不会提供这样做的详细信息 - 搜索互联网。
我想说,浏览文档和遵循教程将使您能够开始构建应用程序。这不应该花很长时间。一本好书也可以帮助你,试试iPhone Developers Cookbook,它提供了很好的讨论和分解的例子,关于特定问题和更广泛的覆盖范围,比如表格等。
目标-C。密切关注内存管理,即保留、释放和自动释放。
我花了大约一个月(兼职)来获得一些非常有效的东西。然后在了解我第一次做错了什么之后再进行一个月的重构。这是在 NDA 到位的时候,所以现在可能会更容易。
您需要加入 iPhone 开发者计划。对证书进行排序后,安装开发应用程序只需从 XCode 运行即可。(检查 iTunes Connect 文档。它非常好。)
在别人的 iPhone 上安装是搞清楚临时部署(困难)或上传到 iTunes(容易)的问题。
首先:如果您还没有Mac,请购买Mac,Windows工具管道基本上不存在。在大多数情况下,试图在非苹果硬件上运行 OSX 是非法的。
下载 iPhone SDK。http://developer.apple.com/iphone/应该有你需要的一切。
Objective-C 有点奇怪,但一个中等的程序员应该能够很快地掌握它。
安装:我不知道对不起...使用应用商店;)
学习目标 C 并使用 Cocoa。有比 iPhone 代码更多的例子。根据您使用的环境,Xcode 和为 iPHone 开发的经验可能会发生很大变化,所以准备好购买一些书籍并花大量时间摸索吧!
了解如何浏览 Apple 的文档。
例如UIView 类参考。我花了一点时间来了解情况。XCode 还具有集成到 IDE 中的出色文档浏览器。一旦您可以将文档告诉您的内容翻译成代码,整个 API 就会打开。
使用 XCode 中的研究助理。(在帮助菜单下)那东西震撼了我的世界。突出显示像 ABRecordRef 这样的类,它会给你一个关于它是什么以及如何使用它的快速概要,并带有参考文档的链接。
Apple 文档的一个坏处是,他们在讨论方法时没有明确的示例说明如何调用方法。这是一个明显的疏忽,IMO。很多时候,我只是希望有一个简单的例子来说明如何使用某些东西,然后我就去谷歌了。
上面的信息非常好,但我要补充一点,熟悉 XCode 中的文档非常有价值。这意味着您需要转到 Developer Documentation 窗口的 DOC SETS 部分,并确保您拥有正在编写代码的 iPhone OS 的文档。我花了很多时间编写代码,这些代码依赖于 NSObject 中的方法,这些方法在 Cocoa 中可用,但在 iPhone OS 上不可用。