Viewing the app using Xcode for iOS
Depending on personal preference, you may find it more convenient to just deploy the app using ionic ios --device
on a regular basis. This command line will push the app to your physical device connected via USB without ever running Xcode. However, you could run the app using Xcode (in Mac), too.
How to do it...
- Go to the
/platforms/ios
folder. - Look for the folder with
.xcodeproj
and open in Xcode. - Click on the iOS Device icon and select your choice of iOS Simulator.
- Click on the Run button and you should be able to see the app running in the simulator.
There's more...
You can connect a physical device via a USB port and it will show up in the iOS Device list for you to pick. Then you can deploy the app directly on your device. Note that iOS Developer Membership is required for this. This method is more complex than just viewing the app via a web browser.
However, it's a must when you want to test your code related to device features such as camera or maps. If you change code in the /www
folder and want to run it again in Xcode, you have to do ionic build ios first, because the running code is in the Staging
folder of your Xcode project:
For debugging, the Xcode Console can output JavaScript logs as well. However, you could use the more advanced features of Safari's Web Inspector (which is similar to Google Chrome's Developer Tools) to debug your app. Note that only Safari can debug a web app running on a connected physical iOS device because Chrome does not support this on a Mac.
It's simple to enable this capability:
- Allow remote debugging for an iOS device by going to Settings | Safari | Advanced and enable Web Inspector.
- Connect the physical iOS device to your Mac via USB and run the app.
- Open the Safari browser.
- Select Develop, click on your device's name (or iOS Simulator), and click on
index.html
.
Note: If you don't see the Develop menu in Safari, you need to navigate to menu Preferences | Advanced and check on Show Develop menu in menu bar.
Safari will open a new console just for that specific device just as it's running within the computer's Safari.