cordova-ios icon indicating copy to clipboard operation
cordova-ios copied to clipboard

Cannot read property 'name' of undefined xcode@15 ios17

Open LOVETOO opened this issue 8 months ago • 2 comments

sudo ionic cordova build ios --prod --release ... Cannot read property 'name' of undefined. at /xxx/platforms/ios/cordova/lib/build.js:162:40

return getDefaultSimulatorTarget().then(function (defaultTarget) { emulatorTarget = defaultTarget.name;

The defaultTarget is undefined. Running getDefaultSimulatorTarget using sudo yields undefined, while the opposite is true.

The iOS simulator is installed through commands: sudo xcode-select -s /Applications/Xcode-15.0.app
sudo xcodebuild -runFirstLaunch sudo xcrun simctl runtime add "/Users/xxx/Desktop/xxx/iOS_17_Simulator_Runtime.dmg"

Environment: Mac OS 14.0 xCode 15.0 iOS simulator 17.0 ionic/[email protected] Cordova 12.0.0

LOVETOO avatar Oct 09 '23 15:10 LOVETOO

nodejs:16.x

LOVETOO avatar Oct 09 '23 15:10 LOVETOO

Why are you running as root? Running things as root puts your development machine at risk. Cordova should run without requiring root If Cordova requires root, it might mean you installed it using root so that you're normal user doesn't have permission to read or execute files.

Running simctl under root shows me it has no devices either on my mac machine other than an iPhone 13 /iOS 15.5 and an iPod Touch / iOS 15.5 device (which is kind of odd in itself.) Running simctl under your own user shows all the simulators you'd expect to have. So I this doesn't appear to be a bug with Cordova, but rather with XCode.

You can test this yourself using: xcrun simctl list

sudo xcrun simctl runtime add "/Users/xxx/Desktop/xxx/iOS_17_Simulator_Runtime.dmg"

XCode 15 also ships with iOS 17 runtime + simulators. You don't need to add one yourself.

breautek avatar Oct 10 '23 12:10 breautek