Build CLI Native Code Issues
Levitamin opened this issue · comments
I developed an app using PhoneGap Build in the cloud. It's working perfectly and is currently distributed through Google Play and the App Store. My company is contracting through a government vendor, and they want me to add tracking code to the native code of the app. They require Cordova apps to be buildable in command line. The issue I'm having is that when I try to build native code in the platforms folder of the app using the $phonegap build ios
command, I get a "hello world" version of the app that doesn't work when I open the generated .xcodeproj file in Simulator. None of the Cordova plugins transfer to the platforms folder, nor do my icon and splashscreen images. I can navigate around the menu in my app, but I can't click on anything and the geolocation doesn't work. This seems like a common problem, and I tried changing the lowercase "plugins" folder to "Plugins" and that didn't help.
I'm using Phonegap CLI 8.0.0 on both Windows 7 and OSX El Capitan 10.11.6 with Xcode 8. I'm not sure if I need to reconfigure something. Here is the app repository. Here is the config.xml:
<?xml version='1.0' encoding='utf-8'?> <widget id="com.phonegap.metcon" version="1.0.3" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> <name>MetCon Weather</name> <description> Climate and Three Week Charts </description> <author email="levi.cecil@mymetcon.com" href="http://www.mymetcon.com"> Levi Cecil </author> <preference name="phonegap-version" value="cli-7.1.0" /> <content src="index.html" /> <access origin="*" /> <access launch-external="yes" origin="mailto:*" /> <allow-intent href="http://*/*" launch-external="yes" /> <allow-intent href="https://*/*" launch-external="yes" /> <allow-intent href="tel:*" /> <allow-intent href="sms:*" /> <allow-intent href="geo:*" /> <platform name="android"> <preference name="android-minSdkVersion" value="14" /> <preference name="android-targetSdkVersion" value="26" /> <preference name="permissions" value="none" /> <allow-intent href="market:*" /> </platform> <platform name="ios"> <allow-intent href="itms:*" /> <allow-intent href="itms-apps:*" /> <preference name="BackupWebStorage" value="none" /> </platform> <preference name="DisallowOverscroll" value="true" /> <platform name="android"> <icon density="ldpi" src="res/icon/android/drawable-ldpi-icon.png" /> <icon density="mdpi" src="res/icon/android/drawable-mdpi-icon.png" /> <icon density="hdpi" src="res/icon/android/drawable-hdpi-icon.png" /> <icon density="xhdpi" src="res/icon/android/drawable-xhdpi-icon.png" /> <icon density="xxhdpi" src="res/icon/android/drawable-xxhdpi-icon.png" /> <icon density="xxxhdpi" src="res/icon/android/drawable-xxxhdpi-icon.png" /> <splash density="land-ldpi" src="res/screen/android/drawable-land-ldpi-screen.png" /> <splash density="land-mdpi" src="res/screen/android/drawable-land-mdpi-screen.png" /> <splash density="land-hdpi" src="res/screen/android/drawable-land-hdpi-screen.png" /> <splash density="land-xhdpi" src="res/screen/android/drawable-land-xhdpi-screen.png" /> <splash density="land-xxhdpi" src="res/screen/android/drawable-land-xxhdpi-screen.png" /> <splash density="land-xxxhdpi" src="res/screen/android/drawable-land-xxxhdpi-screen.png" /> <splash density="port-ldpi" src="res/screen/android/drawable-port-ldpi-screen.png" /> <splash density="port-mdpi" src="res/screen/android/drawable-port-mdpi-screen.png" /> <splash density="port-hdpi" src="res/screen/android/drawable-port-hdpi-screen.png" /> <splash density="port-xhdpi" src="res/screen/android/drawable-port-xhdpi-screen.png" /> <splash density="port-xxhdpi" src="res/screen/android/drawable-port-xxhdpi-screen.png" /> <splash density="port-xxxhdpi" src="res/screen/android/drawable-port-xxxhdpi-screen.png" /> </platform> <platform name="ios"> <icon height="57" platform="ios" src="res/icon/ios/icon.png" width="57" /> <icon height="114" platform="ios" src="res/icon/ios/icon@2x.png" width="114" /> <icon height="40" platform="ios" src="res/icon/ios/icon-40.png" width="40" /> <icon height="80" platform="ios" src="res/icon/ios/icon-40@2x.png" width="80" /> <icon height="50" platform="ios" src="res/icon/ios/icon-50.png" width="50" /> <icon height="100" platform="ios" src="res/icon/ios/icon-50@2x.png" width="100" /> <icon height="60" platform="ios" src="res/icon/ios/icon-60.png" width="60" /> <icon height="120" platform="ios" src="res/icon/ios/icon-60@2x.png" width="120" /> <icon height="180" platform="ios" src="res/icon/ios/icon-60@3x.png" width="180" /> <icon height="72" platform="ios" src="res/icon/ios/icon-72.png" width="72" /> <icon height="144" platform="ios" src="res/icon/ios/icon-72@2x.png" width="144" /> <icon height="76" platform="ios" src="res/icon/ios/icon-76.png" width="76" /> <icon height="152" platform="ios" src="res/icon/ios/icon-76@2x.png" width="152" /> <icon height="29" platform="ios" src="res/icon/ios/icon-small.png" width="29" /> <icon height="58" platform="ios" src="res/icon/ios/icon-small@2x.png" width="58" /> <icon height="87" platform="ios" src="res/icon/ios/icon-small@3x.png" width="87" /> <splash height="1136" platform="ios" src="res/screen/ios/Default-568h@2x~iphone.png" width="640" /> <splash height="1334" platform="ios" src="res/screen/ios/Default-667h.png" width="750" /> <splash height="2208" platform="ios" src="res/screen/ios/Default-736h.png" width="1242" /> <splash height="1242" platform="ios" src="res/screen/ios/Default-Landscape-736h.png" width="2208" /> <splash height="1536" platform="ios" src="res/screen/ios/Default-Landscape@2x~ipad.png" width="2048" /> <splash height="768" platform="ios" src="res/screen/ios/Default-Landscape~ipad.png" width="1024" /> <splash height="2048" platform="ios" src="res/screen/ios/Default-Portrait@2x~ipad.png" width="1536" /> <splash height="1024" platform="ios" src="res/screen/ios/Default-Portrait~ipad.png" width="768" /> <splash height="960" platform="ios" src="res/screen/ios/Default@2x~iphone.png" width="640" /> <splash height="480" platform="ios" src="res/screen/ios/Default~iphone.png" width="320" /> </platform> <plugin name="cordova-plugin-file" source="npm" spec="~4.1.1" /> <plugin name="cordova-plugin-geolocation" source="npm" spec="~2.1.0" /> <plugin name="cordova-plugin-globalization" source="npm" spec="~1.0.3" /> <plugin name="cordova-plugin-network-information" source="npm" spec="~1.2.0" /> <plugin name="cordova-plugin-splashscreen" source="npm" spec="~3.2.1" /> <plugin name="cordova-plugin-statusbar" source="npm" spec="~2.1.2" /> <plugin name="cordova-plugin-whitelist" spec="~1.3.3" /> <plugin name="cordova-plugin-inappbrowser" spec="~1.3.0" /> <plugin name="cordova-plugin-console" spec="~1.1.0" /> <plugin name="cordova-plugin-device" spec="~2.0.2" /> <plugin name="cordova-plugin-device-motion" spec="~2.0.1" /> <plugin name="cordova-plugin-device-orientation" spec="~2.0.1" /> <plugin name="cordova-plugin-dialogs" spec="~2.0.1" /> </widget>
A question about CLI clearly has nothing to do with PGB, so don't expect too much in terms of answers here.
There are slight differences, so check the documentation and community for Cordova CLI. My experience is that you need to place config.xml above www and change references to resources accordingly.