transistorsoft / cordova-background-geolocation-lt

The most sophisticated background location-tracking & geofencing module with battery-conscious motion-detection intelligence for iOS and Android.
http://www.transistorsoft.com/shop/products/cordova-background-geolocation
Other
655 stars 277 forks source link

Build failed (phonegap) #490

Closed rcha103 closed 6 years ago

rcha103 commented 6 years ago

Your Environment

Context

I'm building a phonegap app that uses your plugin. So far it works on Android, but the build on iOS always fails (ARCHIVE FAILED). If I remove the plugin from the config.xml file, the build succeeds. Here is my phonegap config.xml including the plugins:

<?xml version="1.0" encoding="UTF-8" ?> <widget xmlns = "http://www.w3.org/ns/widgets" xmlns:gap = "http://phonegap.com/ns/1.0" id = "com.app.appname" versioncode = "200" version = "2.0.4" >

<name>app</name>

<description></description>

<!--
Current latest and default version
Platform versions don't follow a common version number anymore
(see: http://phonegap.com/blog/2015/06/16/phonegap-updated-on-build/).
Instead, Phonegap Build derives the platform versions from the CLI
defaults.
-->

<preference name="phonegap-version" value="cli-6.5.0" />

<feature name="CDVWKWebViewEngine">
    <param name="ios-package" value="CDVWKWebViewEngine" />
</feature>

<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
<preference name="orientation" value="portrait" />

<!-- allow assets to be loaded and open links in the app itself, see: http://phonegap.com/blog/2012/03/20/access-tags/ -->
<!-- Issue 204079: Allow retrieval of any resource. Custom widgets can point to anything. -->
<access origin="*" />
<access origin="https://www.mobile88.com/ePayment/entry.asp" />
<allow-intent href="*" />
<allow-intent href="https://www.mobile88.com/ePayment/entry.asp" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="data:*" />
<allow-navigation href="*" />
<allow-navigation href="https://www.mobile88.com/ePayment/entry.asp" />
<allow-navigation href="http://*/*" />
<allow-navigation href="https://*/*" />
<allow-navigation href="data:*" />
<access origin="tel:*" launch-external="yes"/>
<access origin="geo:*" launch-external="yes"/>
<access origin="mailto:*" launch-external="yes"/>
<access origin="sms:*" launch-external="yes"/>
<access origin="market:*" launch-external="yes"/>

<!-- Force the default architecture for Android to ARM -->
<plugin name="com.darktalker.cordova.screenshot" source="npm" spec="0.1.6" />
<plugin name="com.telerik.plugins.nativepagetransitions" source="npm" spec="0.6.5" />
<plugin name="cordova-build-architecture" source="git" spec="https://github.com/MBuchalik/cordova-build-architecture.git#v1.0.1" />
<plugin name="cordova-HTTP" source="git" spec="https://github.com/wymsee/cordova-HTTP" />
<plugin name="csIPay88" source="git" spec="https://github.com/tjwoon/csIPay88" />
<plugin name="cordova-plugin-mauron85-background-geolocation" source="npm" spec="2.1.2"/>
<plugin name="uk.co.workingedge.phonegap.plugin.launchnavigator" source="npm" version="2.9.11"/>
<plugin name="cordova-plugin-actionsheet" source="npm" spec="2.3.3" />
<plugin name="cordova-plugin-android-permissions" source="npm" spec="0.10.0" />
<plugin name="cordova-plugin-app-version" source="npm" spec="0.1.8" />
<plugin name="cordova-plugin-battery-status" source="npm" spec="1.1.2" />
<plugin name="cordova-plugin-console" source="npm" spec="1.0.3" />
<plugin name="cordova-plugin-device" source="npm" spec="1.1.2" />
<plugin name="cordova-plugin-device-motion" source="npm" spec="1.2.1" />
<plugin name="cordova-plugin-device-orientation" source="npm" spec="1.0.3" />
<plugin name="cordova-plugin-dialogs" source="npm" spec="1.2.1" />
<plugin name="cordova-plugin-file" source="npm" spec="4.2.0" />
<plugin name="cordova-plugin-file-transfer" source="npm" spec="1.5.1" />
<plugin name="cordova-plugin-globalization" source="npm" spec="1.0.3" />
<plugin name="cordova-plugin-inappbrowser" source="npm" spec="1.4.0" />
<plugin name="cordova-plugin-network-information" source="npm" spec="1.2.1" />
<plugin name="cordova-plugin-secure-storage" source="npm" spec="2.4.0" />
<plugin name="cordova-plugin-spinner" source="npm" spec="1.1.0" />
<plugin name="cordova-plugin-splashscreen" source="npm" spec="3.2.2" />
<plugin name="cordova-plugin-statusbar" source="npm" spec="2.1.3" />
<plugin name="cordova-plugin-vibration" source="npm" spec="2.1.1" />
<plugin name="cordova-plugin-x-socialsharing" source="npm" version="5.0.11"/>
<plugin name="cordova-plugin-zip" source="npm" spec="3.1.0" />
<plugin name="cordova-plugin-whitelist" source="npm" spec="1.2.2" />
<plugin name="cordova-sqlite-storage-pgb" source="git" spec="https://github.com/mendix/Cordova-sqlite-storage-pgb.git#storage-master" />
<!--plugin name="cordova-sqlite-evcore-extbuild-free" source="npm" spec="0.8.0" /> -->
<plugin name="phonegap-plugin-push" source="npm" spec="1.5.3" />
<plugin name="cordova-background-geolocation-lt" spec="2.8.5">
    <variable name="LOCATION_ALWAYS_USAGE_DESCRIPTION" value="app requires to track your location in the background." />
    <variable name="LOCATION_WHEN_IN_USE_USAGE_DESCRIPTION" value="app needs access to your current location." />
    <variable name="MOTION_USAGE_DESCRIPTION" value="Using the accelerometer increases battery-efficiency by intelligently toggling location-tracking only when the device is detected to be moving" />
 </plugin>

<plugin name="uk.co.workingedge.phonegap.plugin.launchnavigator" source="npm" version="2.9.11"/>

    <plugin name="cordova-plugin-calendar" source="npm" spec="4.5.5">
        <param name="CALENDAR_USAGE_DESCRIPTION" value="This app needs to access your calendar" />
    </plugin>

        <plugin name="cordova-plugin-camera" source="npm" spec="2.4.0">
            <param name="CAMERA_USAGE_DESCRIPTION" value="This app needs to access your camera" />
            <param name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="This app needs to access your photo library" />
        </plugin>

    <plugin name="cordova-plugin-contacts" source="npm" spec="2.3.0">
        <param name="CONTACTS_USAGE_DESCRIPTION" value="This app needs to access your contacts" />
    </plugin>

            <plugin name="cordova-plugin-media-capture" source="npm" spec="1.4.2">
                <param name="CAMERA_USAGE_DESCRIPTION" value="This app needs to access your camera" />
                <param name="MICROPHONE_USAGE_DESCRIPTION" value="This app needs to access your microphone" />
                <param name="PHOTOLIBRARY_USAGE_DESCRIPTION" value="This app needs to access your photo library" />
            </plugin>

    <plugin name="phonegap-plugin-barcodescanner" source="npm" spec="6.0.5" >
        <param name="CAMERA_USAGE_DESCRIPTION" value="This app needs to access your camera" />
    </plugin>

    <plugin name="cordova-plugin-geolocation" source="npm" spec="2.2.0">
        <param name="GEOLOCATION_USAGE_DESCRIPTION" value="This app needs to access your location" />
    </plugin>

    <plugin name="cordova-plugin-media" source="npm" spec="2.3.0" />

    <!-- On iOS, the statusbar is transparent by default and is drawn over the top of our app. -->
    <preference name="StatusBarOverlaysWebView" value="false" />
    <preference name="StatusBarBackgroundColor" value="#000000" />

    <preference name="DisallowOverscroll" value="true" />

    <preference name="webviewbounce" value="false" />

    <!-- Set proper defaults for `cordova.file.dataDirectory`. -->
    <preference name="iosPersistentFileLocation" value="Library" />

    <!-- Set proper keyboard action for Apple device. -->
    <preference name="KeyboardDisplayRequiresUserAction" value="false" />

    <!-- Disable backup to iCloud on iOS. -->
    <preference name="BackupWebStorage" value="none" />

    <!-- Enable WKWebView on iOS -->
    <feature name="CDVWKWebViewEngine">
        <param name="ios-package" value="CDVWKWebViewEngine" />
    </feature>

    <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

    <!--plugin name="cordova-plugin-wkwebview-engine-nextgen" source="npm" spec="1.0.2" /-->

    <!--
    <platform name="ios">
            <preference name="deployment-target" value="6.0" />
            <icon src="res/ios/icon-60-3x.png" width="180" height="180" />
            <icon src="res/ios/icon-72.png" width="72" height="72" />
            <icon src="res/ios/icon-76-2x.png" width="152" height="152" />
            <icon src="res/ios/icon-50-2x.png" width="100" height="100" />
            <splash src="res/ios/screen-iphone-landscape-736h.png" width="2208" height="1242" />
            <splash src="res/ios/screen-iphone-landscape.png" width="480" height="320" />
            <splash src="res/ios/screen-ipad-portrait-2x.png" width="1536" height="2048" />
            <icon src="res/ios/icon-40-2x.png" width="80" height="80" />
            <splash src="res/ios/screen-iphone-portrait.png" width="320" height="480" />
            <icon src="res/ios/icon-60.png" width="60" height="60" />
            <splash src="res/ios/screen-ipad-landscape-2x.png" width="2048" height="1536" />
            <splash src="res/ios/screen-iphone-landscape-667h.png" width="1334" height="750" />
            <icon src="res/ios/icon.png" width="57" height="57" />
            <splash src="res/ios/screen-iphone-landscape-568h-2x.png" width="1136" height="640" />
            <icon src="res/ios/icon-small.png" width="29" height="29" />
            <splash src="res/ios/screen-ipad-landscape.png" width="1024" height="768" />
            <splash src="res/ios/screen-ipad-portrait.png" width="768" height="1024" />
            <icon src="res/ios/icon-76.png" width="76" height="76" />
            <icon src="res/ios/icon-40.png" width="40" height="40" />
            <icon src="res/ios/icon-83.5-2x.png" width="167" height="167" />
            <icon src="res/ios/icon-small-2x.png" width="58" height="58" />
            <icon src="res/ios/icon-50.png" width="50" height="50" />
            <icon src="res/ios/icon-72-2x.png" width="144" height="144" />
            <splash src="res/ios/screen-iphone-portrait-736h.png" width="1242" height="2208" />
            <icon src="res/ios/icon-60-2x.png" width="120" height="120" />
            <icon src="res/ios/icon-2x.png" width="114" height="114" />
            <splash src="res/ios/screen-iphone-portrait-667h.png" width="750" height="1334" />
            <icon src="res/ios/icon-small-3x.png" width="87" height="87" />
            <splash src="res/ios/screen-iphone-portrait-2x.png" width="640" height="960" />
            <splash src="res/ios/screen-iphone-portrait-568h-2x.png" width="640" height="1136" />
            <splash src="res/ios/screen-iphone-landscape-2x.png" width="960" height="640" />
    </platform>
    -->

    <platform name="ios">
            <preference name="deployment-target" value="9.0" />
            <preference name="target-device" value="handset" />
            <icon src="res/ios/180x180.png" width="180" height="180" />
            <icon src="res/ios/72x72.png" width="72" height="72" />
            <icon src="res/ios/152x152.png" width="152" height="152" />
            <icon src="res/ios/100x100.png" width="100" height="100" />
            <splash src="res/ios/2208x1242.png" width="2208" height="1242" />
            <splash src="res/ios/480x320.png" width="480" height="320" />
            <splash src="res/ios/1536x2048.png" width="1536" height="2048" />
            <icon src="res/ios/80x80.png" width="80" height="80" />
            <splash src="res/ios/320x480.png" width="320" height="480" />
            <icon src="res/ios/60x60.png" width="60" height="60" />
            <splash src="res/ios/2048x1536.png" width="2048" height="1536" />
            <splash src="res/ios/1334x750.png" width="1334" height="750" />
            <icon src="res/ios/57x57.png" width="57" height="57" />
            <splash src="res/ios/1136x640.png" width="1136" height="640" />
            <icon src="res/ios/29x29.png" width="29" height="29" />
            <splash src="res/ios/1024x768.png" width="1024" height="768" />
            <splash src="res/ios/768x1024.png" width="768" height="1024" />
            <icon src="res/ios/76x76.png" width="76" height="76" />
            <icon src="res/ios/40x40.png" width="40" height="40" />
            <icon src="res/ios/167x167.png" width="167" height="167" />
            <icon src="res/ios/58x58.png" width="58" height="58" />
            <icon src="res/ios/50x50.png" width="50" height="50" />
            <icon src="res/ios/144x144.png" width="144" height="144" />
            <splash src="res/ios/1242x2208.png" width="1242" height="2208" />
            <icon src="res/ios/120x120.png" width="120" height="120" />
            <icon src="res/ios/114x114.png" width="114" height="114" />
            <splash src="res/ios/750x1334.png" width="750" height="1334" />
            <icon src="res/ios/87x87.png" width="87" height="87" />
            <splash src="res/ios/640x960.png" width="640" height="960" />
            <splash src="res/ios/640x1136.png" width="640" height="1136" />
            <splash src="res/ios/960x640.png" width="960" height="640" />
            <config-file platform="ios" target="*-Info.plist" parent="NSLocationAlwaysUsageDescription"> 
                <string>apprequires to track your location in the background .</string> 
            </config-file>
            <config-file platform="ios" target="*-Info.plist" parent="NSLocationWhenInUseUsageDescription"> 
                <string>appneeds access to your current location.</string> 
            </config-file>                
    </platform>

    <!-- The gradle build tool is required for the phonegap-plugin-push -->
    <preference name="android-build-tool" value="gradle" />

    <preference name="CrosswalkAnimatable" value="true" />
    <preference name="xwalkMultipleApk" value="true" />

    <preference name="android-targetSdkVersion" value="18" />

    <plugin name="cordova-plugin-crosswalk-webview" source="npm" spec="2.3.0" />
    <plugin name="cordova-plugin-crosswalk-certificate" source="npm" spec="2.0.1" />

    <plugin name="cordova-plugin-whitelist" source="npm" spec="1.2.2" />

    <!-- Icon definitions - for more details: http://developer.android.com/guide/topics/resources/providing-resources.html
    <platform name="android">
            <preference name="android-minSdkVersion" value="18" />
            <icon src="res/android/icon-48-mdpi.png" qualifier="mdpi"/>
            <splash src="res/android/screen-hdpi-landscape.png" qualifier="land-hdpi"/>
            <icon src="res/android/icon-96-xhdpi.png" qualifier="xhdpi"/>
            <splash src="res/android/screen-xhdpi-landscape.png" qualifier="land-xhdpi"/>
            <splash src="res/android/screen-xhdpi-portrait.png" qualifier="port-xhdpi"/>
            <splash src="res/android/screen-xxxhdpi-landscape.png" qualifier="land-xxxhdpi"/>
            <splash src="res/android/screen-hdpi-portrait.png" qualifier="port-hdpi"/>
            <splash src="res/android/screen-xxxhdpi-portrait.png" qualifier="port-xxxhdpi"/>
            <splash src="res/android/screen-mdpi-landscape.png" qualifier="land-mdpi"/>
            <icon src="res/android/icon-36-ldpi.png" qualifier="ldpi"/>
            <icon src="res/android/icon-72-hdpi.png" qualifier="hdpi"/>
            <splash src="res/android/screen-ldpi-landscape.png" qualifier="land-ldpi"/>
            <icon src="res/android/icon-144-xxhdpi.png" qualifier="xxhdpi"/>
            <icon src="res/android/icon-192-xxxhdpi.png" qualifier="xxxhdpi"/>
            <splash src="res/android/screen-ldpi-portrait.png" qualifier="port-ldpi"/>
            <splash src="res/android/screen-xxhdpi-portrait.png" qualifier="port-xxhdpi"/>
            <splash src="res/android/screen-mdpi-portrait.png" qualifier="port-mdpi"/>
            <splash src="res/android/screen-xxhdpi-landscape.png" qualifier="land-xxhdpi"/>
    </platform>
     -->

     <platform name="android">
            <preference name="android-minSdkVersion" value="18" />
            <icon src="res/android/48x48.png" qualifier="mdpi"/>
            <splash src="res/android/800x480.png" qualifier="land-hdpi"/>
            <icon src="res/android/96x96.png" qualifier="xhdpi"/>
            <splash src="res/android/1280x720.png" qualifier="land-xhdpi"/>
            <splash src="res/android/720x1280.png" qualifier="port-xhdpi"/>
            <splash src="res/android/1920x1080.png" qualifier="land-xxxhdpi"/>
            <splash src="res/android/480x800.png" qualifier="port-hdpi"/>
            <splash src="res/android/1080x1920.png" qualifier="port-xxxhdpi"/>
            <splash src="res/android/480x320.png" qualifier="land-mdpi"/>
            <icon src="res/android/36x36.png" qualifier="ldpi"/>
            <icon src="res/android/72x72.png" qualifier="hdpi"/>
            <splash src="res/android/320x200.png" qualifier="land-ldpi"/>
            <icon src="res/android/144x144.png" qualifier="xxhdpi"/>
            <icon src="res/android/192x192.png" qualifier="xxxhdpi"/>
            <splash src="res/android/200x320.png" qualifier="port-ldpi"/>
            <splash src="res/android/900x1600.png" qualifier="port-xxhdpi"/>
            <splash src="res/android/320x480.png" qualifier="port-mdpi"/>
            <splash src="res/android/1600x900.png" qualifier="land-xxhdpi"/>
    </platform>

<!--
<splash src="splash.png" />
-->

<splash src="1080x1920.png" />

The phonegap build error and line executed before it fails:

Ld /Users/phonegap/Library/Developer/Xcode/DerivedData/SEND-ebjeprotnwurcmezsjmnkxzkskqf/Build/Intermediates/ArchiveIntermediates/SEND/IntermediateBuildFilesPath/SEND.build/Release-iphoneos/SEND.build/Objects-normal/arm64/SEND normal arm64 cd /tmp/gimlet/2719316/project export IPHONEOS_DEPLOYMENT_TARGET=9.0 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.1.sdk -L/tmp/gimlet/2719316/project/build -L/tmp/gimlet/2719316/project/SEND/Plugins/cordova-plugin-ipay88 -L/tmp/gimlet/2719316/project/SEND/Plugins/phonegap-plugin-push/GCM/Libraries -L/tmp/gimlet/2719316/project/SEND/Plugins/cordova-plugin-cocoalumberjack -F/tmp/gimlet/2719316/project/build -FSEND/Plugins/cordova-plugin-background-fetch -FSEND/Plugins/cordova-background-geolocation-lt -filelist /Users/phonegap/Library/Developer/Xcode/DerivedData/SEND-ebjeprotnwurcmezsjmnkxzkskqf/Build/Intermediates/ArchiveIntermediates/SEND/IntermediateBuildFilesPath/SEND.build/Release-iphoneos/SEND.build/Objects-normal/arm64/SEND.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -miphoneos-version-min=9.0 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/phonegap/Library/Developer/Xcode/DerivedData/SEND-ebjeprotnwurcmezsjmnkxzkskqf/Build/Intermediates/ArchiveIntermediates/SEND/IntermediateBuildFilesPath/SEND.build/Release-iphoneos/SEND.build/Objects-normal/arm64/SEND_lto.o -fobjc-arc -fobjc-link-runtime -ObjC /tmp/gimlet/2719316/project/build/libCordova.a -framework Security -framework SystemConfiguration -lipay88sdk -framework MapKit -framework CoreLocation -framework CoreMotion -weak_framework AudioToolbox -framework CoreTelephony -weak_framework Social -weak_framework MessageUI -lz -lGGLCloudMessaging -lGGLCore -lGGLInstanceIDLib -lGIP_Reachability -lGSDK_Overload -lGTMSessionFetcher_core -lGTMSessionFetcher_full -lGTMStackTrace -lGTM_AddressBook -lGTM_DebugUtils -lGTM_GTMURLBuilder -lGTM_KVO -lGTM_NSData+zlib -lGTM_NSDictionary+URLArguments -lGTM_NSScannerJSON -lGTM_NSStringHTML -lGTM_NSStringXML -lGTM_Regex -lGTM_RoundedRectPath -lGTM_StringEncoding -lGTM_SystemVersion -lGTM_UIFont+LineHeight -lGTM_core -lGTM_iPhone -lGcmLib -lProtocolBuffers -framework AddressBook -lsqlite3 -lz -framework TSBackgroundFetch -lCocoaLumberjack -weak_framework AVFoundation -weak-lsqlite3 -framework TSLocationManager -framework EventKit -framework EventKitUI -weak_framework ImageIO -weak_framework AddressBookUI -liconv -framework CoreVideo -framework QuartzCore -framework CoreImage -Xlinker -dependency_info -Xlinker /Users/phonegap/Library/Developer/Xcode/DerivedData/SEND-ebjeprotnwurcmezsjmnkxzkskqf/Build/Intermediates/ArchiveIntermediates/SEND/IntermediateBuildFilesPath/SEND.build/Release-iphoneos/SEND.build/Objects-normal/arm64/SEND_dependency_info.dat -o /Users/phonegap/Library/Developer/Xcode/DerivedData/SEND-ebjeprotnwurcmezsjmnkxzkskqf/Build/Intermediates/ArchiveIntermediates/SEND/IntermediateBuildFilesPath/SEND.build/Release-iphoneos/SEND.build/Objects-normal/arm64/SEND

ARCHIVE FAILED

The following build commands failed: Ld /Users/phonegap/Library/Developer/Xcode/DerivedData/SEND-ebjeprotnwurcmezsjmnkxzkskqf/Build/Intermediates/ArchiveIntermediates/SEND/IntermediateBuildFilesPath/SEND.build/Release-iphoneos/SEND.build/Objects-normal/armv7/SEND normal armv7 (1 failure) Error code 65 for command: xcodebuild with args: -xcconfig,/private/tmp/gimlet/2719316/project/cordova/build-release.xcconfig,-workspace,SEND.xcworkspace,-scheme,SEND,-configuration,Release,-destination,generic/platform=iOS,-archivePath,SEND.xcarchive,archive,CONFIGURATION_BUILD_DIR=/private/tmp/gimlet/2719316/project/build/device,SHARED_PRECOMPS_DIR=/private/tmp/gimlet/2719316/project/build/sharedpch

christocracy commented 6 years ago

2.8.5 is built with XCode 9, for iOS 11.

If you're not building with XCode 9 on PGB, 2.8.5 is going to fail. See if 2.8.4 builds.

rcha103 commented 6 years ago

@christocracy thanks! Changing to 2.8.4 and now the build succeeds. But the plugin does not work on iOS 11. It still works on Android though.

christocracy commented 6 years ago

Talk to PhoneGap whether they support XCode 9.0

christocracy commented 6 years ago

Did you get this fixed yet?

andersborgabiro commented 6 years ago

I can't see the actual error message in the log above. Is it something with IOSurface? That's at least what I get with PGB, cli-6.5.0 or cli-7.0.1 (same), licensed 2.8.5, target 9.

christocracy commented 6 years ago

IOSurface is an iOS 11 API. Only XCode 9 knows about iOS 11.

Your issue is with your 3rd party build service.

andersborgabiro commented 6 years ago

I've asked the PGB team for status on upgrading. They tend to be slow, but for 7.0.1 they dumped their own forks of the tools and went straight for Cordova original code, so just maybe it goes faster in the future. That said, XCode 9 has been out for months now.

christocracy commented 6 years ago

XCode 9 betas have been out for months. The betas were all horribly unstable, crashing all the time on my system. It was only the final release that was stable for me.

andersborgabiro commented 6 years ago

True. XCode 9 was announced months ago. I installed it September 22.

rcha103 commented 6 years ago

@christocracy PGB cli-7.0.1 which is the latest uses cordova iOS 4.4.0, so I can't really test out your proposed solution and I'm still having the same problem.

@andersborgabiro Yes, you are correct. It does say ld: framework not found IOSurface for architecture arm64 on the console log. I also don't think that license key has anything to do with this, as I'm also building for Android (debug build) with no license key.

andersborgabiro commented 6 years ago

@rcha103 AFAIK Cordova iOS 4.4 is built with pre-9 XCode. We still need a new cli version, unless there would be a way to use this plugin somehow. I'll be setting up a Cordova environment on my Mac today, but so far I can't even get Node and npm to install properly.

christocracy commented 6 years ago

Using PGB as a development server is a symptom not a solution. A symptom of a developer without a proper development environment.

andersborgabiro commented 6 years ago

Probably :). Arguably though, a real developer develops native code only. That's the only thing I've found roughly reliable and available in time for new platform releases.

christocracy commented 6 years ago

this plugin will work in pure native apps too if you want to go that route.

andersborgabiro commented 6 years ago

I only code native for Android at the moment, and this specific app is already quite complex, so migrating to native would not be a small feat. Also, iOS 11.0.2 has known issues with making apps very sluggish, that I can't see where I'm at (the customer is in Mexico), but might actually be the whole problem. Migrating to native iOS and Android just for that seems a bit over the top (I believe the PGB team would support XCode 9 before I'm done with the migration, even though they are continuously behind). I actually hope that people find a connection between sluggishness and Cordova/PhoneGap, so that it can be locked down, or of course that Apple fixes the issues with iOS. Anyway, I'll hopefully have CLI as an option soon.

christocracy commented 6 years ago

Also, iOS 11.0.2 has known issues with making apps very sluggish,

Do you have some references about this?

andersborgabiro commented 6 years ago

Yup. Again, this might not be why my app is slow, so I've asked them about what aspects are affected. One was that it takes minutes (!) to load an in-app Web page.

https://www.forbes.com/sites/gordonkelly/2017/10/05/apple-ios-11-0-2-iphone-battery-problem-ios-11-problems/#1f283cd3eb0a

https://www.macrumors.com/2017/09/25/ios-11-app-slowdowns-performance-issues/

christocracy commented 6 years ago

I don't trust Forbes for anything. I see nothing conclusive here, just a bunch of anecdotal FUD.

andersborgabiro commented 6 years ago

Could be, but it remains that an app that works perfectly "at home" doesn't in Mexico (slow, but no crash). The exact same code talking to the exact same server, all phones running iOS 11.0.2. I doubt that your plugin has some kind of "Mexican mode", nor that Cordova in general does. The customer can't be asked about Web Inspector and such, as they don't have any technical people. Not your worry of course.

christocracy commented 6 years ago

Is this app "slow" in DEBUG build or RELEASE build?

andersborgabiro commented 6 years ago

The customer only has access to a release build.

christocracy commented 6 years ago

Are you able to test your app on a variety of iOS devices in Mexico? Is it just this one device?

andersborgabiro commented 6 years ago

One each of iPhone 6 and iPhone 7 so far. It's customer staff that's testing.

christocracy commented 6 years ago

What exactly is slow?

christocracy commented 6 years ago

Are the HTTP requests slow?

andersborgabiro commented 6 years ago

I've asked for details today. Waiting for response.

So far: Booting works fine, but not opening an inappbrowser view to the CMS I host in NYC. There were response time issues before (earthquake-related), but they are gone on Android. Around 120 ms response time on average.

christocracy commented 6 years ago

You're measuring the response-time at the client-end?

andersborgabiro commented 6 years ago

Yup. Full round-trip.

rcha103 commented 6 years ago

@christocracy I have not much of a choice but to use PGB due to many reasons. I agree that PGB is not the most proper development environment but this is my best choice for the time being. So I have no choice but to wait for PGB to officially support XCode 9, just like @andersborgabiro said.

christocracy commented 6 years ago

PGB is not a development environment. It’s a deployment service.

Buy yourself a cheap/used Mac Mini, develop with XCode and see your productivity skyrocket.

andersborgabiro commented 6 years ago

At least now I can build and deploy with XCode 9. I had to use Automatic signing for XCode to build successfully.