Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone-如何将仅限iPhone的应用程序转换为通用应用程序?_Iphone_Objective C_Ipad_Transform_Universal - Fatal编程技术网

iPhone-如何将仅限iPhone的应用程序转换为通用应用程序?

iPhone-如何将仅限iPhone的应用程序转换为通用应用程序?,iphone,objective-c,ipad,transform,universal,Iphone,Objective C,Ipad,Transform,Universal,我如何将一个只支持iPhone的应用程序转换为通用应用程序? 编辑:找到解决方案 如果要选择“将当前目标升级到iPad”选项,则必须将目标设备系列设置为仅限iPhone,而不是iPad/iPhone。这对我有用 如果您想手动操作,首先创建一个虚拟/模板通用应用程序,查看它与您的应用程序之间的差异,然后更改您的应用程序以消除这些差异。在这些步骤中: 创建iPad子目录 在该子目录中为iPad创建合适的XIB。Interface Builder有一个菜单项可以自动转换generic.xibs 修改i

我如何将一个只支持iPhone的应用程序转换为通用应用程序? 编辑:找到解决方案
如果要选择“将当前目标升级到iPad”选项,则必须将目标设备系列设置为仅限iPhone,而不是iPad/iPhone。这对我有用

如果您想手动操作,首先创建一个虚拟/模板通用应用程序,查看它与您的应用程序之间的差异,然后更改您的应用程序以消除这些差异。在这些步骤中:

创建iPad子目录

在该子目录中为iPad创建合适的XIB。Interface Builder有一个菜单项可以自动转换generic.xibs

修改info.plist(添加NSMainNibFile~ipad键)以在ipad主窗口中使用ipad xib。还可在此列表中添加适当的图标等

为iPad创建新的子类,或者使用修改现有子类来检查UI范例,并在代码中选择适当的UI子元素和大小。您可以使用以下方法签入代码:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    ...
} else {
    ...  // iPhone stuff, etc.
}
如果您创建了新类,请根据需要将它们插入iPad XIB

修改所有目标设置,以便为iPad和iPhone生成。

“第一步是在Xcode中选择目标,右键单击并使用“升级当前iPad目标…”命令。您将看到一个选项:

选择“一个通用应用程序”,Xcode将完成(一些)这对我们来说是一项艰巨的工作。苹果指南警告不要尝试手动迁移您的目标,但老实说,很难真正理解原因。还请注意,如果您的项目有多个目标,您只能运行一次升级任务。您需要检查所有目标,并自行调整build和Info.plist设置。”


根据应用程序的复杂程度,可以完成,但可能需要大量工作。你能提供更多细节吗?这是一个简单的应用程序,2个视图,一个主视图和另一个主视图,我想知道我能为自动创建ipad文件做些什么这是不正确的。我已选择将目标设备系列升级到iPad/iPhone,但升级当前目标iPad选项未启用!!