Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.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
Ios 如何在macOS Mojave 10.14.6上运行Xcode 11.4_Ios_Xcode_Macos - Fatal编程技术网

Ios 如何在macOS Mojave 10.14.6上运行Xcode 11.4

Ios 如何在macOS Mojave 10.14.6上运行Xcode 11.4,ios,xcode,macos,Ios,Xcode,Macos,问题背景: 我有一台iphone6s,它已经升级到ios13.4。在iOS更新之前,我可以通过Xcode在设备上编码并运行我的应用程序,太好了 现在我无法在设备上从Xcode运行我的应用程序来测试我的代码,因为它说: Xcode could not locate device support files This iPhone 6s is running iOS 13.4 (17E255), which may not be supported by this version of Xcode.

问题背景:

我有一台iphone6s,它已经升级到ios13.4。在iOS更新之前,我可以通过Xcode在设备上编码并运行我的应用程序,太好了

现在我无法在设备上从Xcode运行我的应用程序来测试我的代码,因为它说:

Xcode could not locate device support files
This iPhone 6s is running iOS 13.4 (17E255), which may not be supported by this version of Xcode. An updated version of Xcode may be found on the App Store or at developer.apple.com.
所以我试着安装最新的Xcode(11.4),现在它说我必须将整个操作系统更新到Catalina

我不想这样做,因为我的系统工作得很好,我也听说过关于那个版本的不好的事情

问题:


有没有一种方法可以让Xcode构建到我的iPhone上,而不必更新我的整个操作系统并可能破坏我的整个机器?

你不能在Mojave上运行Xcode 11.4,但你可以添加对iOS 13.4的支持

  • 从下载13.4图像
  • 退出Xcode
  • 解压缩归档文件并将文件夹移动到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport中
  • 启动Xcode
考虑到这种方式只增加了对iOS 13.4的支持,其他什么都没有


更新:这不适用于iOS 14,因为iOS 14需要Xcode 12。

这里有一个替代解决方案,它不需要从不受信任的源下载文件:

  • 安装在Mojave上运行的最新版本的Xcode(当前为Xcode 11.3.1)。它可以从苹果的网站下载

  • 从同一页面下载支持iOS 13.4的Xcode版本(例如Xcode 11.4.1)。解压缩它,将其重命名为“Xcode-11.4.1.app”,并将其移动到应用程序文件夹,但不要运行它

  • 将iOS 13.4的符号链接从Xcode 11.4.1中的DeviceSupport文件夹添加到Xcode 11.3.1,如中所述

  • 如果使用此答案中使用的版本,则添加符号链接的命令将为

    sudo ln -s /Applications/Xcode-11.4.1.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/13.4 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
    

    我的Apple TV 4K运行的是tvOS 13.3,我升级到了13.4,这要求我使用这种技术来继续使用Xcode 11.3.1

    奇怪的是,在DeviceSupport文件夹中,Xcode 11.3.1仅随tvOS一起提供13.2版本。那么,在运行13.3的硬件设备上,它是如何工作的呢?我想13.2和13.3已经足够接近了,所以13.2仍然有效


    13.4无法开箱即用,因此我将13.3和13.4从Xcode 11.4.1应用程序复制到我的11.3.1应用程序中。一切又好了。

    您可以在运行10.14的Mac上运行Xcode 11.4-11.7

  • 从下载Xcode 11.4~11.7
  • 解压缩.xip文件,您将获得Xcode.app
  • Xcode.app/Contents/Info.plist中的
    LSMinimumSystemVersion
    从10.15.x修改为10.14
  • 现在您可以使用Xcode 11.4~11.7,而无需升级到Catalina

  • 但是,这种技巧不适用于Xcode 12,因为它需要一些macOS Mojave中不存在的框架。

    您可以在运行10.14的Mac上运行Xcode 11.4-11.7

    • 从下载Xcode 11.4~11.7
    • 解压缩.xip文件,您将获得Xcode.app
    • Xcode.app/Contents/Info.plist中的
      LSMinimumSystemVersion
      从10.15.x修改为10.14.6
    现在您可以使用Xcode 11.4~11.7,而无需升级到Catalina。 然而,这个技巧不适用于Xcode 12。
    我在我的mac mojave 10.4.6上试过这个把戏

    为什么苹果不让人知道呢?!非常感谢。祝您度过愉快的一天,并保持安全。我不建议您从不受信任的来源下载文件,以便将这些文件添加到您的Xcode安装中。相反,直接从苹果下载Xcode 11.4,并从那里提取
    DeviceSupport
    文件。这样,您就可以确信这些文件没有被修改。非常感谢您。我不知道;我不明白他们为什么让你更新到克拉塔利纳。messAs@Theo说最好从可靠的来源下载,我从Xcode开发者资源网站下载了Xcode 11.4,已提取xip文件,并将位于
    Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
    的缺少iOS版本的设备支持文件复制到相同位置的较旧的
    Xcode.app
    。成功了!此方法也适用于Xcode 11.3上的13.5,第一次运行可能需要2-3分钟才能启动为什么不将iOS/tvOS的13.4文件夹从Xcode 11.4复制到您的Xcode 11.3.1工作副本?复制文件后,我在尝试打开Xcode时出错:缺少平台iOS模拟器所需的内容。撤消粘贴操作后,此错误不会消失。@MarekH我仍然得到
    您不能将此版本的应用程序“Xcode”与此版本的macOS一起使用。你有macOS 10.14.6。该应用程序需要macOS 10.15.2或更高版本。
    你们是如何解决的?只需按照说明编辑info.plist即可。如果您试图打开它(未编辑),macos会记住并且不再检查(只需将xcode移动到其他文件夹,然后再次编辑并打开),我会尝试,但仍然不起作用我的Info.plist以某种方式出现了半加密的CbundleIconName_CbundleHolpBookName_CbundleHolpBookFolder ^NSExtensionSDK_CbundleExecutable_LSMinimumSystemVersion_CbundleSignatureZdtCompilerß–我设法在正确的字段上解密了它,15作为最低版本更改为14,但重新粘贴后仍然存在xcode抱怨我需要15个。有什么窍门可以让这个方法奏效吗?这对我来说很有效,但为什么呢?我的意思是,为什么它似乎需要卡特琳娜,即使它在莫哈韦运行良好?另外,我认为Xcode 11.7可以让我在Mojave上为iOS 14开发,在检查Wikipedia上的兼容性表之前,我遇到了所有这些麻烦,所以请把我撕碎。我已经尝试过了,但仍然不起作用