Notes for the builds. Very Technical. Here be dragons…
The “platform” Repo can build all the items at once. Desktop, Android and iOS devices. Windows, OSX, iOS, Android and so on.
The builds are done for ‘all’ or individually like “npm run mobile:ios”
Note that iOS still breaks, because something has changed the repo base and in so doing has changed the build name from JSECoin.app to HelloCordova.app – and so the emulator can’t find it.
“The request to open “com.jsecoin.alpha” failed.”
** BUILD SUCCEEDED ** An error was encountered processing the command (domain=FBSOpenApplicationServiceErrorDomain, code=1): The request to open "com.jsecoin.alpha" failed. The request was denied by service delegate (SBMainWorkspace) for reason: NotFound ("Application "com.jsecoin.alpha" is unknown to FrontBoard"). Underlying error (domain=FBSOpenApplicationErrorDomain, code=4): The operation couldn’t be completed. Application "com.jsecoin.alpha" is unknown to FrontBoard. Application "com.jsecoin.alpha" is unknown to FrontBoard. com.jsecoin.alpha: -1 logPath: /Users/robert/Documents/github/JSECoin/platform/build/mobile/platforms/ios/cordova/console.log
Ensure that you have the latest npm, and Cordova installed, as well as the full install of Android Studio. Make sure it’s completely installed.
This bit takes a lot of getting right. I was starting blind never having used npm or Cordova before at all, nor Android Studio.
You must install the Cordova plugins from within the build directory for the platform you want to use. If you try to add platforms, and it tells you its a nono-Cordova project directory, then you aren’t in the right directory.
JSECoin/platform/build/mobile/platforms is where the config.xml file is on my system.
Now, things I’ve changed or twiddled with so far. Note that everything builds even the iOS. It’s just the iOS won’t run.
In platform/package.json I changed to this line
For Android (i’m on a Mac remember)
"mobile:android": "npm run mobile:www && cd build/mobile && cordova emulate android",
"mobile:ios": "npm run mobile:www && cd build/mobile && cordova emulate ios --buildFlag='-UseModernBuildSystem=0' --target 'iPhone-XS-Max, 12.0'", from this line "mobile:ios": "npm run mobile:www && cd build/mobile && cordova run ios",
The error of the missing Info.plist file.
I was able to fix this by following the directions so.: from this post: https://github.com/ionic-team/ionic-cli/issues/2487
> cordova run ios --list --target --emulator Available ios devices: Available ios virtual devices: iPhone-5, 10.1 iPhone-5, 8.2 iPhone-5, 10.3 iPhone-5, 8.1 iPhone-5, 10.0 iPhone-5, 9.3 creates a huge list of all available emulators.
Full list of most recent error output from iOS
2018-10-30 15:13:41.213890+0000 JSECoin[46149:11255044] DiskCookieStorage changing policy from 2 to 0, cookie file: file:///Users/robert/Library/Developer/CoreSimulator/Devices/8FF1BA16-BF58-4AE0-9131-F4B72B792E32/data/Containers/Data/Application/70FE0FF1-87CE-4BE0-9940-1117A8F17F48/Library/Cookies/com.jsecoin.alpha.binarycookies 2018-10-30 15:13:41.285512+0000 JSECoin[46149:11255044] +[CATransaction synchronize] called within transaction 2018-10-30 15:13:41.476961+0000 JSECoin[46149:11255044] Apache Cordova native platform version 4.5.5 is starting. 2018-10-30 15:13:41.477772+0000 JSECoin[46149:11255044] Multi-tasking -> Device: YES, App: YES 2018-10-30 15:13:41.574664+0000 JSECoin[46149:11255044] Started backup to iCloud! Please be careful. Your application might be rejected by Apple if you store too much data. For more information please read "iOS Data Storage Guidelines" at: https://developer.apple.com/icloud/documentation/data-storage/ To disable web storage backup to iCloud, set the BackupWebStorage preference to "local" in the Cordova config.xml file 2018-10-30 15:13:44.075065+0000 JSECoin[46149:11255044] Using UIWebView 2018-10-30 15:13:44.105079+0000 JSECoin[46149:11255044] [CDVTimer][console] 0.119090ms 2018-10-30 15:13:44.105469+0000 JSECoin[46149:11255044] [CDVTimer][handleopenurl] 0.130057ms 2018-10-30 15:13:44.107800+0000 JSECoin[46149:11255044] [CDVTimer][intentandnavigationfilter] 2.174973ms 2018-10-30 15:13:44.108021+0000 JSECoin[46149:11255044] [CDVTimer][gesturehandler] 0.066996ms 2018-10-30 15:13:44.220734+0000 JSECoin[46149:11255044] [CDVTimer][file] 112.555027ms 2018-10-30 15:13:44.221637+0000 JSECoin[46149:11255044] [CDVTimer][socialsharing] 0.708938ms 2018-10-30 15:13:44.221762+0000 JSECoin[46149:11255044] [CDVTimer][TotalPluginStartup] 117.709041ms 2018-10-30 15:13:56.460447+0000 JSECoin[46149:11255044] Resetting plugins due to page load. 2018-10-30 15:14:02.469764+0000 JSECoin[46149:11259639] NSURLConnection finished with error - code -1100 2018-10-30 15:14:02.565626+0000 JSECoin[46149:11259639] NSURLConnection finished with error - code -1100 2018-10-30 15:14:02.906134+0000 JSECoin[46149:11255044] THREAD WARNING: ['Device'] took '54.784912' ms. Plugin should use a background thread. 2018-10-30 15:14:02.938015+0000 JSECoin[46149:11255044] THREAD WARNING: ['File'] took '20.158203' ms. Plugin should use a background thread. 2018-10-30 15:14:03.556908+0000 JSECoin[46149:11255044] Finished load of: file:///Users/robert/Library/Developer/CoreSimulator/Devices/8FF1BA16-BF58-4AE0-9131-F4B72B792E32/data/Containers/Bundle/Application/A38859F4-5C0C-4EBE-BC1F-13C115208CAA/JSECoin.app/www/index.html
Another chunk. Test run. When all else fails …
Running the following and pressing play worked: