“ react-native run-ios”返回错误:找不到iPhone X模拟器

时间:2019-02-03 14:55:02

标签: react-native ios-simulator react-native-ios

只要我运行react-native run-ios,我都会得到

Could not find iPhone X simulator

Error: Could not find iPhone X simulator
    at resolve (calendarPractice/node_modules/react-native/local-cli/runIOS/runIOS.js:149:13)
    at new Promise (<anonymous>)
    at runOnSimulator (calendarPractice/node_modules/react-native/local-cli/runIOS/runIOS.js:134:10)
    at Object.runIOS [as func] (calendarPractice/node_modules/react-native/local-cli/runIOS/runIOS.js:106:12)
    at Promise.resolve.then (calendarPractice/node_modules/react-native/local-cli/cliEntry.js:117:22)

但是,当我在Xcode上运行时,它工作正常

{
  "devicetypes" : [
    {
      "name" : "iPhone 4s",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 4s.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-4s"
    },
    {
      "name" : "iPhone 5",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 5.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-5"
    },
    {
      "name" : "iPhone 5s",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 5s.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-5s"
    },
    {
      "name" : "iPhone 6",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 6.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-6"
    },
    {
      "name" : "iPhone 6 Plus",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 6 Plus.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-6-Plus"
    },
    {
      "name" : "iPhone 6s",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 6s.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-6s"
    },
    {
      "name" : "iPhone 6s Plus",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 6s Plus.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-6s-Plus"
    },
    {
      "name" : "iPhone 7",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 7.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-7"
    },
    {
      "name" : "iPhone 7 Plus",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 7 Plus.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-7-Plus"
    },
    {
      "name" : "iPhone 8",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 8.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-8"
    },
    {
      "name" : "iPhone 8 Plus",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 8 Plus.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-8-Plus"
    },
    {
      "name" : "iPhone SE",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone SE.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-SE"
    },
    {
      "name" : "iPhone X",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone X.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-X"
    },
    {
      "name" : "iPhone Xs",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone Xs.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-XS"
    },
    {
      "name" : "iPhone Xs Max",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone Xs Max.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-XS-Max"
    },
    {
      "name" : "iPhone Xʀ",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone Xʀ.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-XR"
    },
    {
      "name" : "iPad 2",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad 2.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-2"
    },
    {
      "name" : "iPad Retina",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Retina.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Retina"
    },
    {
      "name" : "iPad Air",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Air.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Air"
    },
    {
      "name" : "iPad Air 2",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Air 2.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Air-2"
    },
    {
      "name" : "iPad (5th generation)",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad (5th generation).simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad--5th-generation-"
    },
    {
      "name" : "iPad Pro (9.7-inch)",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Pro (9.7-inch).simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Pro--9-7-inch-"
    },
    {
      "name" : "iPad Pro (12.9-inch)",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Pro (12.9-inch).simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Pro"
    },
    {
      "name" : "iPad Pro (12.9-inch) (2nd generation)",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Pro (12.9-inch) (2nd generation).simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---2nd-generation-"
    },
    {
      "name" : "iPad Pro (10.5-inch)",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Pro (10.5-inch).simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Pro--10-5-inch-"
    },
    {
      "name" : "iPad (6th generation)",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad (6th generation).simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad--6th-generation-"
    },
    {
      "name" : "iPad Pro (11-inch)",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Pro (11-inch).simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Pro--11-inch-"
    },
    {
      "name" : "iPad Pro (12.9-inch) (3rd generation)",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/iPad Pro (12.9-inch) (3rd generation).simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPad-Pro--12-9-inch---3rd-generation-"
    },
    {
      "name" : "Apple TV",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/AppleTVOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple TV.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-TV-1080p"
    },
    {
      "name" : "Apple TV 4K",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/AppleTVOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple TV 4K.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-4K"
    },
    {
      "name" : "Apple TV 4K (at 1080p)",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/AppleTVOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple TV 4K (at 1080p).simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-TV-4K-1080p"
    },
    {
      "name" : "Apple Watch - 38mm",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch - 38mm.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-38mm"
    },
    {
      "name" : "Apple Watch - 42mm",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch - 42mm.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-42mm"
    },
    {
      "name" : "Apple Watch Series 2 - 38mm",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch Series 2 - 38mm.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-2-38mm"
    },
    {
      "name" : "Apple Watch Series 2 - 42mm",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch Series 2 - 42mm.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-2-42mm"
    },
    {
      "name" : "Apple Watch Series 3 - 38mm",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch Series 3 - 38mm.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-3-38mm"
    },
    {
      "name" : "Apple Watch Series 3 - 42mm",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch Series 3 - 42mm.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-3-42mm"
    },
    {
      "name" : "Apple Watch Series 4 - 40mm",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch Series 4 - 40mm.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-4-40mm"
    },
    {
      "name" : "Apple Watch Series 4 - 44mm",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/DeviceTypes\/Apple Watch Series 4 - 44mm.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.Apple-Watch-Series-4-44mm"
    }
  ],
  "runtimes" : [
    {
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/Runtimes\/iOS.simruntime",
      "availabilityError" : "",
      "buildversion" : "16B91",
      "availability" : "(available)",
      "isAvailable" : true,
      "identifier" : "com.apple.CoreSimulator.SimRuntime.iOS-12-1",
      "version" : "12.1",
      "name" : "iOS 12.1"
    },
    {
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/AppleTVOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/Runtimes\/tvOS.simruntime",
      "availabilityError" : "",
      "buildversion" : "16J602",
      "availability" : "(available)",
      "isAvailable" : true,
      "identifier" : "com.apple.CoreSimulator.SimRuntime.tvOS-12-1",
      "version" : "12.1",
      "name" : "tvOS 12.1"
    },
    {
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/WatchOS.platform\/Developer\/Library\/CoreSimulator\/Profiles\/Runtimes\/watchOS.simruntime",
      "availabilityError" : "",
      "buildversion" : "16R591",
      "availability" : "(available)",
      "isAvailable" : true,
      "identifier" : "com.apple.CoreSimulator.SimRuntime.watchOS-5-1",
      "version" : "5.1",
      "name" : "watchOS 5.1"
    }
  ],
  "devices" : {
    "com.apple.CoreSimulator.SimRuntime.watchOS-5-1" : [
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "Apple Watch Series 2 - 38mm",
        "udid" : "01AFDEF7-63B6-465C-A02A-44EE4A07EABA",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "Apple Watch Series 2 - 42mm",
        "udid" : "BE62C985-DEE2-46EC-8962-A582D537EEE0",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "Apple Watch Series 3 - 38mm",
        "udid" : "078BF157-30FA-41D1-94FA-6B1686E03085",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "Apple Watch Series 3 - 42mm",
        "udid" : "E4CE652E-0185-4C59-B965-BED5FCEE7C76",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "Apple Watch Series 4 - 40mm",
        "udid" : "6621323A-A9DE-4BCB-AC97-54C8C33B0158",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "Apple Watch Series 4 - 44mm",
        "udid" : "D89037A3-66A0-43C1-90BA-E7C76CA0D724",
        "availabilityError" : ""
      }
    ],
    "com.apple.CoreSimulator.SimRuntime.tvOS-12-1" : [
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "Apple TV",
        "udid" : "AFAA21B8-BD4A-45EA-B0FF-E9915FE9B926",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "Apple TV 4K",
        "udid" : "EBB88F2E-CFFE-4981-A736-7A7C0B85643D",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "Apple TV 4K (at 1080p)",
        "udid" : "F0B73E8A-986E-447E-B37A-2F46096DEFF6",
        "availabilityError" : ""
      }
    ],
    "com.apple.CoreSimulator.SimRuntime.iOS-12-1" : [
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone 5s",
        "udid" : "F870B7FA-6DDA-4336-89AD-68A402844188",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone 5s",
        "udid" : "6627ADE5-F8C1-4AE5-BD6F-3AEDDC0B7B63",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone 6",
        "udid" : "05574997-ACAD-40CA-A3D7-5624D53F00FA",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone 6 Plus",
        "udid" : "93237078-CA6D-4F97-93F9-779809700018",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone 6s",
        "udid" : "9B50FE18-4F49-4EA4-80F0-DF498A667D33",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone 6s Plus",
        "udid" : "D4640B6D-97DC-4CA1-BE63-C5403159A3D4",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone 7",
        "udid" : "6E9EEC00-3291-42B4-B04A-BA3487F9CD5F",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone 7 Plus",
        "udid" : "6DA1C3CF-1D1F-4DEF-9B74-2C40D5FB5881",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone 8",
        "udid" : "E19386B9-469A-450B-9CD2-B4FE8687DCF9",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone 8 Plus",
        "udid" : "6D36DF76-8ED9-41A2-9E1A-0BA48B92C26E",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone SE",
        "udid" : "EE4818DF-F817-4441-8A1C-BE1B99303E10",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone X",
        "udid" : "85B78A8F-C32B-4493-BDD1-65ECA3F77C86",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone X",
        "udid" : "CA12C337-4F66-4C6C-ACE5-7F7EACCBC39A",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone XS",
        "udid" : "8BBCE315-2F4C-4132-8E53-28AF52401C8E",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone XS Max",
        "udid" : "4E77C62F-AB1F-4EDE-839B-53F70CAFC79E",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPhone XR",
        "udid" : "28D12ABE-3355-4862-960A-0FE5FFE41C7B",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPad Air",
        "udid" : "94485C88-BCEB-456A-95DC-5F8C3DA8D181",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPad Air 2",
        "udid" : "CF2C787D-A378-4AB9-B334-F7B24E94AF4D",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPad (5th generation)",
        "udid" : "DFE602A5-EC68-4585-8AB0-C045A9843D29",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPad Pro (9.7-inch)",
        "udid" : "5A3F3EAC-F788-49F1-A753-5D34A9990F0B",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPad Pro (12.9-inch)",
        "udid" : "EF6EBE34-0A85-4FF0-8A45-7BA418A0CC0C",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPad Pro (12.9-inch) (2nd generation)",
        "udid" : "FBA940F8-FD85-4D5E-A570-EB4F3A56E1F9",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPad Pro (10.5-inch)",
        "udid" : "8AE4AAED-ECE0-4984-9679-8D3022064692",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPad (6th generation)",
        "udid" : "1121363D-EF49-4AC0-9E46-5C30318A24A2",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPad Pro (11-inch)",
        "udid" : "038FECC0-8711-46E3-B601-8F88F2F4AD7D",
        "availabilityError" : ""
      },
      {
        "availability" : "(available)",
        "state" : "Shutdown",
        "isAvailable" : true,
        "name" : "iPad Pro (12.9-inch) (3rd generation)",
        "udid" : "12DC911F-2F45-4767-BC1A-6F1D0C8D9F3D",
        "availabilityError" : ""
      }
    ]
  },
  "pairs" : {
    "C9B69F4A-6A9D-44F3-A6BC-56BFA2F8B83F" : {
      "watch" : {
        "name" : "Apple Watch Series 4 - 44mm",
        "udid" : "D89037A3-66A0-43C1-90BA-E7C76CA0D724",
        "state" : "Shutdown"
      },
      "phone" : {
        "name" : "iPhone XS Max",
        "udid" : "4E77C62F-AB1F-4EDE-839B-53F70CAFC79E",
        "state" : "Shutdown"
      },
      "state" : "(active, disconnected)"
    },
    "5327B65F-29E7-42D0-9861-FF31428F3218" : {
      "watch" : {
        "name" : "Apple Watch Series 4 - 40mm",
        "udid" : "6621323A-A9DE-4BCB-AC97-54C8C33B0158",
        "state" : "Shutdown"
      },
      "phone" : {
        "name" : "iPhone XS",
        "udid" : "8BBCE315-2F4C-4132-8E53-28AF52401C8E",
        "state" : "Shutdown"
      },
      "state" : "(active, disconnected)"
    }
  }

25 个答案:

答案 0 :(得分:79)

编辑: 我复制了输出JSON的“设备”部分,并将其嵌入到自己的/node_modules/react-native/local-cli/runIOS/runIOS.js

function runOnSimulator(xcodeProject, args, scheme) {
return new Promise(resolve => {
    try {
        var simulators = {devices section of your json}; //Here
    } catch (e) {
        console.log("e", e);
        throw new Error('Could not parse the simulator list output');
    }

    const selectedSimulator = findMatchingSimulator(simulators, args.simulator);
    console.log("selected", selectedSimulator);
    if (!selectedSimulator) {
        throw new Error(`Could not find ${args.simulator} simulator`);
    }
    ...

最后,它给出了与您相同的错误。因此,我发现设备的解析版本有所不同。在您的设备中,版本为;

"com.apple.CoreSimulator.SimRuntime.tvOS-12-1" //for tvOS
"com.apple.CoreSimulator.SimRuntime.iOS-12-1" // for iOS

但在react-native中检查此版本值,例如this(/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js);

// Making sure the version of the simulator is an iOS or tvOS (Removes Apple Watch, etc)
if (!version.startsWith('iOS') && !version.startsWith('tvOS')) {
    continue;
}

因此本机无法识别。
如果我们以此更改代码;

// Making sure the version of the simulator is an iOS or tvOS (Removes Apple Watch, etc)
if (!version.startsWith('com.apple.CoreSimulator.SimRuntime.iOS') && !version.startsWith('com.apple.CoreSimulator.SimRuntime.tvOS')) {
    continue;
}

问题已解决。我在计算机上检查了您的JSON数据后,就可以正常工作了。

答案 1 :(得分:51)

问题

如果您使用最新的Xcode(11)尝试此操作,则没有iPhone X!

自行运行模拟器,在顶部菜单中,在“硬件,设备,iOS 13.0”下查看。 您将看到:

  • iPhone 8
  • iPhone 8 Plus
  • iPhone XS
  • iPhone XS Max
  • iPhone XR
  • ...和一些iPad

执行run-ios时,react-native旨在匹配请求的设备。

内部硬编码默认值为iPhone X。

试图匹配所请求设备的功能位于:

/node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/findMatchingSimulator.js

设计此功能是为了使您可以为其提供设备和可选的版本号。

如果找不到给定的设备和版本,则默认情况下它将使用列表中的第一个设备返回匹配项。

但是...实际上,第一个设备是手表,并且所有手表都不匹配,因此该函数将返回null。

解决方案1-使用现有的Xcode设备

如上所述,首先自己运行模拟器,并记下所需的iPhone或iPad。

然后将该名称作为可选参数传递给run-ios命令行命令,如下所示:

react-native run-ios --simulator="iPhone 8"

解决方案2-添加新的Xcode iOS设备

根据Xcode 11 Release Notes

“默认情况下,Xcode不再创建每个可用的iOS模拟器设备。而是创建一组最常用的设备。要创建其他设备(或设备的多个实例),请打开“设备”窗口,选择“模拟器”,然后单击“ +按钮,输入名称,然后选择相关的设备类型和操作系统版本,在终端中,执行xcrun simctl create命令,例如xcrun simctl create“ My iPhone 7”“ iPhone 7” iOS13.0。(49428617)“ < / p>

在Xcode中,您需要添加一个名为“ iPhone X”的新设备。

我也在这里回答:React Native Issue #2328

答案 2 :(得分:36)

要解决此错误,只需使用npm重新安装项目

npm install

然后它将显示警告列表,并使用以下命令来修复它们:

npm audit fix

这应该可以解决所有问题,并允许您运行iOS模拟器 react-native run-ios

答案 3 :(得分:27)

您的机器上没有iPhone X模拟器,这很可能是因为您更新了Xcode。您可以简单地传递可用模拟器的名称,如下所示:

react-native run-ios --simulator="iPhone 11"

要检查可用的模拟器,可以打开Xcode并检查设备列表,如下所示:

enter image description here

答案 4 :(得分:26)

临时修复:

步骤1 :打开文件/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

第2步:从此更改一行代码:

if (!version.startsWith('iOS') && !version.startsWith('tvOS')) {
  continue;
}

对此:

if (!version.startsWith('com.apple.CoreSimulator.SimRuntime.iOS') && !version.startsWith('com.apple.CoreSimulator.SimRuntime.tvOS')) {
  continue;
}

第3步:运行react-native run-ios(您可能需要运行两次,并且不要忘记杀死Metro Bundler(在后台运行的控制台)(如果正在运行)从您之前的失败构建中获取!)

问题是,在更新Xcode之后-模拟器名称空间已添加到设备的版本列表中。 React Native构建不期望这些名称空间-因此构建中断。

答案 5 :(得分:8)

将Xcode更新到版本11后,我遇到了相同的问题。

一种解决方案是将iPhone X模拟器添加到您的列表中。

  • 选择模拟器->硬件->管理设备(您将看到一个弹出窗口)

  • 选择“模拟器”->(左下角)+(加号图标,在“过滤器”旁边),然后添加新的模拟器

  • 模拟器名称:iPhone X 设备类型:选择iPhone X。

对我有用

答案 6 :(得分:6)

在更新到Xcode 11之后,xcrun返回true或false,而不是以前的YES或NO。

goto /node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

找到

if (
   simulator.availability !== '(available)' &&
   simulator.isAvailable !== 'YES'
 ) {
  continue;
}

并将其更改为

if (
   simulator.availability !== '(available)' &&
   simulator.isAvailable !== true
 ) {
  continue;
}

答案 7 :(得分:6)

我还没有在Xcode上安装iPhone X作为模拟器。我要做的就是在Xcode中将iPhone X添加为新的模拟器,一切都很好。

在Xcode中:依次转到BEGINWindow。单击模拟器选项卡。单击左下角的Devices and Simulators按钮,然后添加iPhone X。

我希望此修复程序对您和对我一样容易。

答案 8 :(得分:3)

在我的情况下,我运行脚本: sed -i'''s / startsWith / includes / g'node_modules / react-native / local-cli / runIOS / findMatchingSimulator.js 而且有效。 也适合不能更新本机的人

答案 9 :(得分:3)

对于Xcode 11.2和iOS 13.2,这是我为在模拟器中运行应用所做的更改

findMatchingSimulator.js

第43行:

if (!version.startsWith('iOS') && !version.startsWith('tvOS')) {

if (!version.includes('iOS') && !version.includes('tvOS')) {

第52行

if (
    simulator.availability !== '(available)' &&
    simulator.isAvailable !== 'YES'
  ) {
    continue;
  }

if (
    simulator.isAvailable != true
  ) {
    continue;
  }

P.S。

React项目广告的第一天已经降价了! (否)

答案 10 :(得分:2)

容易修复...

Xcode->首选项->组件安装ios 12.2求和器

答案 11 :(得分:2)

更改 /node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/index.js

文件

options: [{
    name: '--simulator [string]',
    description: 'Explicitly set simulator to use. Optionally include iOS version between' + 'parenthesis at the end to match an exact version: "iPhone 6 (10.0)"',
    default: 'iPhone X'
  }

options: [{
    name: '--simulator [string]',
    description: 'Explicitly set simulator to use. Optionally include iOS version between' + 'parenthesis at the end to match an exact version: "iPhone 6 (10.0)"',
    default: 'iPhone 8'
  }

答案 12 :(得分:2)

打开文件/node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

!version.startsWith('iOS')->!version。包含('iOS')

答案 13 :(得分:1)

只需重新启动计算机,然后再次运行命令即可。

答案 14 :(得分:1)

在尝试将React Native从0.59.8升级到0.59.9之后,我遇到了这个问题。

事实证明(基于以上答案),我们需要更新@react-native-community/cli模块:

  1. 从锁定文件(yarn.lockpackage-lock.json)中删除它
  2. 运行yarnnpm install重新安装。

参考:https://github.com/react-native-community/rn-diff-purge/issues/21#issuecomment-507645945

答案 15 :(得分:0)

更新Xcode时遇到了问题。所有模拟器均不可用/未安装。我要重新安装它们。

答案 16 :(得分:0)

使用react-native-cli 2.0.1,您可能只想重命名模拟器。默认情况下,Xcode将以<DeviceName> (<DeviceSize>)格式命名某些设备。但是,此版本的CLI会将括号中的内容解释为iOS版本。

当尝试运行名为iPad Pro (10.5-inch)的模拟器时,只需将模拟器重命名为iPad Pro [10.5-inch]就可以使其运行。

您可以通过使用Simulator应用程序的Hardware-> Device-> Manage Devices...菜单重命名模拟器,然后右键单击其中一个模拟器(在Xcode 10.2.1中) >

答案 17 :(得分:0)

我的问题是未安装iPhone X模拟器

您可以检查安装了哪些模拟器

 xcrun simctl list devices --json | grep iPhone

然后运行

react-native run-ios --simulator="iPhone Xs"

答案 18 :(得分:0)

当我将Xcode 10升级到Xcode 11时,我遇到了相同的错误,但是指定模拟器版本恰好是我的快速解决方案。

首先列出所有可用的ios模拟器,

  xcrun simctl list devices | grep iPhone | grep -v unavailable | cut -d'(' -f1

结果 Output

然后选择一个要与之进行本机反应,例如

 react-native run-ios --simulator='iPhone 11 Pro Max'

赵!

答案 19 :(得分:0)

在替换runSimulator.js中的以下代码行后,如果找不到模拟器,模拟器仍然存在。

  

runSimulator.js的路径->   /node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

if (!version.startsWith('iOS') && !version.startsWith('tvOS')) { continue; }

与此一起

if ( !version.startsWith('com.apple.CoreSimulator.SimRuntime.iOS') && !version.startsWith('com.apple.CoreSimulator.SimRuntime.tvOS') ) { continue; }

在替换后评论以下行

if ( simulator.availability !== '(available)' && simulator.isAvailable !== 'YES' ) { continue; }

它将毫无问题地启动iPhone模拟器。

和更新到XCode 11后的第二种方法

Xcode 11 xcrun返回true或false,对于 isAvailable 属性像以前一样不是YES或NO。 您可以使用以下命令进行检查

xcrun simctl list devices --json 
  

以上命令将打印所有可用设备,如下所示

"com.apple.CoreSimulator.SimRuntime.iOS-12-2" : [
  {
    "state" : "Booted",
    "isAvailable" : true,
    "name" : "iPhone X",
    "udid" : "E53748D1-628B-4A99-A419-4D7AE7CE4745"
  }
]
  

在以下代码中用 true 替换YES

if ( simulator.availability !== '(available)' && simulator.isAvailable !== 'YES' ) { continue; }
  

像这样

if ( simulator.availability !== '(available)' && simulator.isAvailable !== true ) { continue; }

答案 20 :(得分:0)

就我而言,我已经尝试了其他解决方案,但没有任何效果。

然后我尝试将react-native从0.59.5升级到0.59.10,然后解决了

答案 21 :(得分:0)

对我来说,我必须通过运行npx react-native-git-upgrade将React Native更新到0.60。

答案 22 :(得分:0)

我遇到了同样的问题

npm审核修复程序

这对我有用

答案 23 :(得分:0)

对我来说修复它的是没有设置 Xcode 命令行工具(xcrun simctl 失败。)如果您刚刚重新安装 Xcode,您可能会遇到此问题。

有关如何设置命令行工具的信息,请参阅 this post。之后,尝试运行 react-native run-ios --simulator="iPhone 11"(或任何您的模拟器名称)。

答案 24 :(得分:-1)

每次更新Xcode时,我都会遇到相同的问题。
我运行以下命令:

sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService

然后我再次运行react-native run-ios