loading请求处理中...
10大优享服务
62项会员特权

iOS设备开发通用的应用程序是怎么开发的?

提问者:1301096984的店铺 1回答 浏览次数:1618 提问时间: 2021/12/01 12:01
提问者采纳
当首次引进iPhone的时候,开发人员并没有关注于创建一个简单的代码库以使能够运行在多重设备上。没有其它的设备。在iPodTouch进入市场的时候,界面-尺寸和分辨率-几乎是等同于第一代的iPhone。开发、编译以及发布与这两个设备兼容的通用应用程序是非常简单的。如今,开发一套能够在所有设备上运行的简单应用程序并不会太难。
过程步骤AppleXcode使得通用二进制代码的编码变得很简单,但没有实现自动化。需要一点附加的工作-规划和编码阶段均需要-以使得生成可扩张的通用应用程序。开发一个通用的应用程序的第一步是从设备菜单中选择通用选项。Xcode会为iPhone、iPod以及iPad设备使用代码创建一项目。创建了两个故事板文件并将其附加到通用项目中。其中一个故事板文件支持iPhone和iPod设备的屏幕尺寸和分辨率,而另外一个故事板文件要独属于设备产品中的iPad家族系列。
图A除了设备-独有的故事板文件之外,一个通用的项目会包括两个单独的区域用于单独地控制每个类型设备的配置设置。被支持的方向、应用程序图标以及登录图片由在项目设置下面的概要标签的不同部分内进行管理。
图B图C图D正如您所看到的,Xcode具有用于开发通用应用程序的内置的支持。如果开发人员的意图是维持所有设备的一般体验,那么只需遵循在每个故事板上的相同的设计和流型,编译然后运行即可。然而如果有必要在每一个设备上具有不同的体验,就会需要额外的编码。
在iOS编程指南的高级应用程序技巧部分,Apple使用了开发在iPad设备中的横向和在iPhone以及iPod设备中的纵向上支持登录的通用应用程序的例子。Info.plist是使用元数据控制iOS应用程序某些方面的非常有效的方式。将特定键附加到Info.plist文件上是控制代码库之外的参数的一种简单又可扩展的方法。可以参考一下列表键引用,以获得在Info.plist文件中可以定义的参数的一览表。
在Info.plist文件内部的一组名称/数值结构如下:
keyUserInterfaceOrientation/keystringUIInterfaceOrientationLandscape/string该key标签识别属性,string标签附上数值。在上面的例子中,由我们的通用应用程序支持的每一个设备都将以横向模式启动。为了针对一个特定的设备,我们将这三个设备类型的其中一个附到键上。举例来说,如果我们需要让iPhone设备以纵向模式启动,我们应当将以下的代码加到Info.plist文件中:
keyUserInterfaceOrientation-iphone/keystringUIInterfaceOrientationPortrait/string可接受值为iphone,ipad以及ipod。
越过界面有时候需要创建条件代码路径以支持设备-独有的功能。Apple包含了用于容易地测定当前设备类型的宏。UI用户界面惯用语宏是UIKit框架的一部分,可供所有的应用程序使用。如果该设备是iPad,那么从该宏中返回的值将会是UIUserInterfaceIdiomPad。如果该设备是iPhone或是iPodTouch,返回的值则是UIUserInterfaceIdiomPhone。
If==UIUserInterfacePhone){//PlaceiPhone/iPodspecificcodehere...}else{//PlaceiPad-specificcodehere...}开发人员一直在不
2012经典语录
断地寻找使开发iOS应用程序所需要的代码数量最小化的方法。其中一个方法当然是维护用于再使用的类别、方法和函数的程序库。考虑在通用应用程序中用到这些类别的可能性是非常重要的。考虑到这一点,您应当在必要时使用条件代码路径开发类别。
最终想法开发通用应用程序有利有弊。从维护和支持的角度来看,更易于管理代码库。同时,一个通用的应用程序方法意味着单一发行-升级和补丁-同时覆盖所有的设备。然而商业需求可能会推翻开发和发布通用应用程序的可行性。有时候对iPhone应用程序和为iPad发布的相同应用程序采取不同的价格点可能会更合适。目前,应用程序商店对每一个应用程序仅支持一种价格。

全部回答

问题分类

我 要 回 答 我 要 提 问
问题分类   验证码 换一组

向专家快速提问

人才 更多>