我一直在做移动应用程序开发很长一段时间(2001年?),但我们当时使用的系统是专用的移动开发环境(Symbian,J2ME,BREW)。 iPhone SDK是Mac OS X和Apple对移动设备(Cocoa Touch)的奇特混合体。
但缺少其他移动系统的一些东西,IMO。具体做法是:
我意识到Apple完全有理由以他们的方式发布SDK。我很好奇SO上的人认为SDK 缺失以及如果他们是Apple的工程产品经理,他们将如何修复/添加它。
答案 0 :(得分:11)
我认为最大的缺点是支持将许可与发行分开。
我的意思是应该可以下载应用程序的试用版,然后购买该应用程序的许可证(来自应用程序内部的API调用或应用程序商店)。这样可以让你在购买之前更轻松一些,并且可以摆脱许多应用程序与'lite'版本的当前副本。
答案 1 :(得分:9)
我认为缺少针对应用的推送通知是我们现在所缺少的重点。使用push,您可以注册您的应用程序以执行任务(例如从Web服务获取最新数据),即使它没有运行,也是操作系统决定最佳的时间和频率。在理想的世界中,随着iPhone应用程序的现有概念快速加载并在最后一次停止的地方恢复,这解决了不在后台运行的问题。我知道使用这种策略会有一些任务变得更困难或者更不可能,但它仍然是第三方应用程序和iPhone有限硬件之间的一个很好的折衷方案。
最初推送计划于去年9月推出,但它已从测试版SDK中删除,此后一直没有提及。
答案 2 :(得分:7)
API我个人在寻找:
答案 3 :(得分:5)
垃圾收集。
答案 4 :(得分:3)
缺少CoreData。
答案 5 :(得分:2)
你已经提到了一些重要的东西 - 复制和放大粘贴(或实际上任何应用程序协作的方式)是另一个巨大的遗漏。
它似乎也缺少桌面同步框架(至少如果它存在我找不到它)。
语言独立性,特别是缺乏脚本编写是另一个令人讨厌的问题 - objective-c非常好,但更多可供选择的语言会很好。
无法通过脚本或其他方式动态扩展应用程序是另一个重大遗漏。这部分是SDK / OS问题,部分是许可。
答案 6 :(得分:1)
我的名单按优先顺序排列:
答案 7 :(得分:1)
我看到它缺少的功能是
这些是我的客户过去可以访问的一些功能,当它们不可用时会被取消。
答案 8 :(得分:1)
我们绝对错过了日历API和短信访问。如此多的应用程序可以利用这些API。 iPhone允许用户将所有东西放在口袋里,但只要开发人员无法在他们的应用程序中利用这种集成,它几乎是无用的。
答案 9 :(得分:1)
具有适当命名空间的语言。
答案 10 :(得分:0)
一个让我烦恼的限制是无法访问需要root或setuid的系统功能。例如:打开特权IP端口。
我不确定是否有一个很好的解决方案,只要Apple的政策是保持设备锁定。
答案 11 :(得分:0)
允许程序为您的应用程序设置某种本地定时事件,以便在用户同意(如任何日历应用程序)时显示警报并启动您的应用程序。你可以通过推送通知来做到这一点,但是在很多情况下我不得不依赖整个服务器基础设施和网络连接来基本上做一些定时的事情。
了解用户面临的方向。我不敢相信新款iPhone使用的GPS芯片无法报告方向。
答案 12 :(得分:0)
我个人很乐意看到
答案 13 :(得分:0)
动画视图将减少开发人员制作一个很酷的应用程序,当然核心业务本地仍需要考虑更多,但视图层可以更容易使用....