如果你让你的iPhone应用程序变得通用,你能在未来的版本中撤消它吗?
我已经制作了一个通用的 iPhone/iPad 应用程序(仅从 iPhone 过渡),但在未来的版本中,我将大量切换到仅限 iOS 4 的功能。
下次更新我的应用程序时,我可以只更新 iPhone 版本吗?
I've made a universal iPhone/iPad app (transitioned from iPhone only), but in a future version, I'm going to switch heavily to iOS 4-only features.
For the next update of my app, can I update only the iPhone version?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于 iPad 运行 iOS3.2,因此您的代码必须同时处理这两者。
尽管您在使用 4.0 特定 API 时必须小心,但可以使用
NSClassFromString()
等技巧加载类,以防止它在旧操作系统版本上崩溃。我的示例也可以使用更强大的版本检查,例如可以解析字符串来测试主要版本是“4”还是“3”。
Since iPad runs iOS3.2, your code has to handle both.
Though you have to be careful about using 4.0 specific APIs, loading the classes with tricks like
NSClassFromString()
in order to prevent it from crashing on older OS versions.My example could using more robust version checking too, may parsing the string to test if the major version is "4" or "3", for instance.
您必须更新这两个应用程序,因为它们捆绑到一个二进制文件中。但是,使用条件编码(例如
if !(UIUserInterfaceIdiom() == UIUserInterfaceIdiomPad) {
- 请注意,我总是以这种方式检查 iPhone/iPod Touch,就像在 OS 3.1.3 或更低版本上一样,它会不返回任何内容),您可以将其设置为仅 iPad 版本不同。至于逆向使其通用 - 进入您的项目和目标设置,并将“目标设备条目”更改为 iPhone 或 iPad。升级目标的选项应该会再次出现。
You would have to update both applications, as they are bundled into one single binary. However, using conditional coding (e.g.
if !(UIUserInterfaceIdiom() == UIUserInterfaceIdiomPad) {
- note that I always check for an iPhone/iPod Touch this way as on OS 3.1.3 or lower, it will return nothing), you can make it so that only the iPad version is different.As for reversing making it Universal - go into your project and target settings, and change the 'Targeted Device Entry' to either iPhone or iPad. The option to upgrade your target should appear again.