apache / cordova-ios

Apache Cordova iOS
https://cordova.apache.org/
Apache License 2.0
2.16k stars 990 forks source link

cordova-ios 6.0.0/6.1.0 wont deploy on physical device only simulator #912

Closed si458 closed 4 years ago

si458 commented 4 years ago

Bug Report

Problem

every time i run cordova run ios it wont deploy to my attached iPhone it seems to try deploying to simulator instead which actually fails because i haven't run cordova emulate ios first

What is expected to happen?

i expected it to deploy the app to my attached iPhone device

What does actually happen?

it tries to deploy the app to default simulator device instead of deploying to physical device but fails

Information

if i use cordova platform add ios@6.0.0 i have this problem BUT if i use cordova platform add ios which installs 5.1.1 i am able to deploy without any issues

brief extract from logs

Running command: xcodebuild -exportArchive -archivePath getMyDinner.xcarchive -exportOptionsPlist /Users/Simon/Developer/Cordova/getmydinner/platforms/ios/exportOptions.plist -exportPath /Users/Simon/Developer/Cordova/getmydinner/platforms/ios/build/device
2020-06-21 14:00:46.780 xcodebuild[75874:4587091] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/h8/d5d9xk4171v7c6bl02ymm6980000gn/T/getMyDinner_2020-06-21_14-00-46.779.xcdistributionlogs'.
Exported getMyDinner to: /Users/Simon/Developer/Cordova/getmydinner/platforms/ios/build/device
** EXPORT SUCCEEDED **
Command finished with error code 0: xcodebuild -exportArchive,-archivePath,getMyDinner.xcarchive,-exportOptionsPlist,/Users/Simon/Developer/Cordova/getmydinner/platforms/ios/exportOptions.plist,-exportPath,/Users/Simon/Developer/Cordova/getmydinner/platforms/ios/build/device
No scripts found for hook "before_deploy".
Running command: xcodebuild -version
Command finished with error code 0: xcodebuild -version
Running command: ioreg -p IOUSB -l
Command finished with error code 0: ioreg -p,IOUSB,-l
Running command: ios-deploy --version
Command finished with error code 0: ios-deploy --version
Running command: ios-deploy -c -t 1
[....] Waiting up to 1 seconds for iOS device to be connected
[....] Found ca9050e715f7c2507b0c3507fb3d6d00bade6dc8 (D201AP, iPhone 8, iphoneos, arm64) a.k.a. 'Si-iPhone8' connected through USB.
Command finished with error code 0: ios-deploy -c,-t,1
Running command: unzip -o -qq /Users/Simon/Developer/Cordova/getmydinner/platforms/ios/build/device/getMyDinner.ipa
Command finished with error code 0: unzip -o,-qq,/Users/Simon/Developer/Cordova/getmydinner/platforms/ios/build/device/getMyDinner.ipa
Deploying to simulator
No target specified for emulator. Deploying to "iPhone-XR, 12.4" simulator.
Running command: /Users/Simon/Developer/Cordova/getmydinner/node_modules/ios-sim/bin/ios-sim launch /Users/Simon/Developer/Cordova/getmydinner/platforms/ios/build/emulator/getMyDinner.app --devicetypeid com.apple.CoreSimulator.SimDeviceType.iPhone-XR, 12.4 --log /Users/Simon/Developer/Cordova/getmydinner/platforms/ios/cordova/console.log --exit
Error: Unhandled error. ('[ios-sim] /Users/Simon/Developer/Cordova/getmydinner/platforms/ios/build/emulator/getMyDinner.app/Info.plist file not found.\n')

Command or Code

cordova run ios

Environment, Platform, Device

Mac OS 10.15.5, iOS@6.0.0, iPhone 8 13.5.1

Version information

Cordova 9.0.0 (cordova-lib@9.0.1) cordova-ios@6.0.0 no plugins, using sample project created via cordova create

Checklist

sc0ttdav3y commented 4 years ago

I've got the same issue on cordova-ios@6.1.0.

sc0ttdav3y commented 4 years ago

As a workaround, I have found that I can manually deploy the app to a device by using ios-deploy directly.

cd platforms/ios/build/device

# extract the .app from the .ipa (creates Payload directory)
unzip "<Project Name>.ipa"
cd Payload

# deploy to device
ios-deploy --debug --bundle "<Project Name>.app"

See https://github.com/ios-control/ios-deploy for details.

timia2109 commented 4 years ago

I got the same problem.

iPhone 11 / iPhone SE (2020), iOS 13.5.1, macOS 10.15.5

sdegenaar commented 4 years ago

I have the same issue too on cordova-ios@6.1.0, iPhone 11

imgos commented 4 years ago

I'm experiencing the same problem with cordova 9.0.0, cordova-ios 6.1.0, osx 10.15.5, and ios 13.5.1.

The phone is detected with cordova run --list, but it still attempts to deploy to a simulator. I'm able to deploy successfully with cordova-ios 5.1.1. Running ios-deploy as @sc0ttdav3y suggested works when using 6.1.0.

si458 commented 4 years ago

I’m amazed nobody from the programming team has picked up on this issue as I’m glad it’s not just me having this problem!?

dpogue commented 4 years ago

There's not really a programming team, there's a handful of volunteers. Speaking for myself, I can't help debug this because I don't have any physical devices to reproduce it with.

If someone wants to investigate further, one place to start would be reviewing the commits between 5.1.1 and 6.0.0 to see if anything changed around how we use ios-deploy (or maybe the version of ios-deploy itself?)