Search code examples
androidioscordovatemplatesphonegap

Phonegap building template issues


I'm studying the phonegap-push-plugin and I already use it on Android. I'm working with DevExtreme, a phonegap-based platform.

I saw there is just released the cordova 7.0.1 and I hope this can help me, since the push didn't work on iOS.

But, now, I have problem. With the online tool (https://build.phonegap.com), when I try to buld the template, the push plugin isn't included in the apk file (I checked this opening it as a zip file) and the ipa file isn't built because I get an error.

Here an extract from the log:

Blockquote The file “GoogleService-Info.plist” couldn’t be opened because there is no such file.

Blockquote [...] Blockquote "** ARCHIVE FAILED **

The following build commands failed: CopyPlistFile /Users/phonegap/Library/Developer/Xcode/DerivedData/Selfnet-cuvcjbwqnhuixzdmlmoklhnfmyqf/Build/Intermediates/ArchiveIntermediates/Selfnet/InstallationBuildProductsLocation/Applications/Selfnet.app/GoogleService-Info.plist /tmp/private/tmp/gimlet/2726929/project/Selfnet/Resources/GoogleService-Info.plist (1 failure) Error code 65 for command: xcodebuild [...]"

Here my config.xml file:

<widget id="com.devexpress.apptemplate" version="1.0" versionCode="1">
  <name>ApplicationTemplate</name>
  <description>Template</description>

  <preference name="phonegap-version" value="cli-7.0.1" />
  <preference name="permissions" value="none" />
  <preference name="prerendered-icon" value="true" />
  <preference name="android-windowSoftInputMode" value="adjustPan" />
  <preference name="SplashScreen" value="splash" />
  <preference name="SplashScreenDelay" value="60000" />
  <preference name="AutoHideSplashScreen" value="false" />
  <preference name="SplashShowOnlyFirstTime" value="false" />
  <preference name="FadeSplashScreen" value="false" />
  <preference name="ShowSplashScreenSpinner" value="false" />
  <preference name="DisallowOverscroll" value="true" />
  <preference name="StatusBarOverlaysWebView" value="false" />
  <preference name="StatusBarBackgroundColor" value="#000000" />
  <preference name="android-minSdkVersion" value="15" />
  <preference name="android-targetSdkVersion" value="22" />
  <!--<plugin name="cordova-plugin-file" />-->
  <plugin name="cordova-plugin-geolocation" />
  <plugin name="cordova-plugin-splashscreen" onload="true" />
  <plugin name="cordova-plugin-whitelist" />
  <plugin name="cordova-plugin-ios-longpress-fix" />
  <plugin name="cordova-plugin-statusbar" onload="true" />
  <plugin spec="https://github.com/phonegap/phonegap-plugin-push.git" source="git" />
  <platform name="android">
   <resource-file src="google-services.json" target="google-services.json" />
  </platform>
  <platform name="ios">
   <resource-file src="GoogleService-Info.plist" />  
  </platform>

  <access origin="*" />
</widget>

Both the GoogleService file (iOS and Android) are in the root folder, the same as the file config.xml.


Solution

  • Summarized all the steps here: https://programmingistheway.wordpress.com/2017/07/19/devextremephonegap-how-to-manage-push-notifications-with-fcm/