我一直在做移动应用程序开发很长一段时间(2001年?),但我们当时使用的系统是专用的移动开发环境(Symbian,J2ME,BREW).iPhone SDK是Mac OS X和Apple在移动设备(Cocoa Touch)上的混合体.
但它遗漏了其他移动系统所拥有的一些东西,IMO.特别:
应用后台处理
短信/彩信应用程序路由(在后台向我的应用程序发送短信)
用于访问电话功能/呼叫历史/呼叫拦截的API
我意识到Apple有完全正确的理由以他们的方式发布SDK.我很好奇SO上的人认为SDK 缺失了,如果他们是Apple的工程产品经理,他们将如何修复/添加它.
我认为最大的缺点是支持将许可与分销分开.
我的意思是,应该可以下载应用程序的试用版,然后购买该应用程序的许可证(来自应用程序内部的API调用或应用程序商店).这样可以让您在购买之前更轻松地尝试使用'lite'版本摆脱许多应用程序的当前重复.
我认为缺少针对应用的推送通知是我们现在所缺少的重点.使用push,您可以注册您的应用程序以执行任务(例如从Web服务获取最新数据),即使它没有运行,也是操作系统决定最佳的时间和频率.在理想的世界中,随着iPhone应用程序的现有概念快速加载并在最后一次停止的地方恢复,这解决了不在后台运行的问题.我知道使用这种策略会有一些任务变得更困难或者更不可能,但它仍然是第三方应用程序和iPhone有限硬件之间的一个很好的折衷方案.
最初推出计划于去年9月推出,但它已经从测试版SDK中删除,从那时起就没有提及.
API我个人正在寻找:
Apple80211作为公共API(如果记录的话,私有的,当前的API是好的)
访问音量按钮(可通过Celestial进行半访问,私有,需要新的API)
访问日历(私有,API状态未知)
访问蓝牙+ SPP配置文件(状态未知)
访问相机(直接,API状态未知)
访问JavaScript运行时(直接,不通过UIWebView,API状态未知)
WebKit访问比UIWebView更低级(私有,当前API很好)
访问音乐库(私人,当前API很好)
垃圾收集.