ios - 我可以为 iPhone 和 iPad 提供两个单独的应用程序吗?

标签 ios objective-c iphone user-interface ipad

我已经完成了一个 iPad 应用程序,它只能在 iPad iTune 商店中使用。

但客户也希望为 iPhone 提供不同设计但功能相似的应用程序。某些新功能必须添加到 iPhone 版本。我可以使用 iPad 版本中的大部分功能,并拥有一个新项目并从头开始构建 iPhone!

我的要求会随着时间的推移而改变。新的要求可能针对两者或其中之一。因此,我需要不时在这两个应用程序中添加新功能并同时维护这两个应用程序。这个应用程序非常复杂,有 150 多个类(class)。我需要一些建议才能知道只有一个应用程序可以在两种设备上运行更好,还是更好的做法是为每个 iPhone 和 iPad 设置单独的项目?

编辑
我想在 iPad 中使用 Split View Controller 和垂直菜单栏,在 iPhone 中使用侧边菜单和水平菜单栏。

最佳答案

如果您想在商店中拥有两个独立的 iPhone/iPad 应用程序,只需为您的应用程序设置两个目标。这意味着您可能会使用两个不同的 Storyboard,但这取决于您。转到您的项目设置并制作两个单独的目标 - 一个用于 iPad,一个用于 iPhone。编辑目标常规设置,其中一个应仅部署用于 iPad,而另一个应部署用于 iPhone。下面贴几张图:

Making new target

Example Build[2]

您还需要转到管理方案,删除您拥有的当前方案并添加您刚刚创建的目标。然后在您的 iPhone 版本中设置这些宏,这样您就可以只编辑一个代码库,而无需同时编辑手机和平板电脑代码 -

Macros

一些示例代码:

// Just for Phone Target
#ifdef PHONE
- (void)somePhoneMethod;
#endif

// For both phone and tablet device
- (void)aMethod;

我想补充每个人所说的话,如果没有太大区别,只需制作一个通用应用程序。

关于ios - 我可以为 iPhone 和 iPad 提供两个单独的应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35625946/

相关文章:

ios - 撤销 APNS 证书

ios - 将函数参数传递给 subview 时动画不起作用

iphone - XCode 在多台计算机上的结果不一致

ios - `tableView heightForRowAtIndexPath`方法get调用的场景是什么?

iphone - 验证 iOS 应用程序

iphone - RestKit:更改 RKObjectManager 的基本 URL

iphone - 2 个 NSDate 之间的差异(不包括周末)?

ios - 解析、查询以根据频率查找对象

ios - 在 Unity iOS 应用程序中 Conceal/显示状态栏 [ Objective-C ]

ios - Mail Composer 不会关闭 iOS