I recently rebuilt my iOS platform in my ionic/cordova project. In that process I somehow broke my push functionality. Before this it worked beautifully.
Now, when I launch the app to a device in Xcode:
In Xcode debugger I see all the normal pushwoosh API calls happening as the app is loading but without the APP ID, so they're all failing.
The important thing here is that the plugin is being loaded seems to be trying to work
Right after those errors in the console, I get this one, which I can only see when I attach a safari console debugger to the app running on the phone:
module com.pushwoosh.plugins.pushwoosh.PushNotification not found
The app just goes to a white screen, and I am pretty sure it's because of that error - when I test the app out in a browser (where cordova is not loaded), it runs fine.
I set my APP ID right from the start of the app with this:
var pushNotification = cordova.require("com.pushwoosh.plugins.pushwoosh.PushNotification");
pushNotification.onDeviceReady({
pw_appid: PW_APPID
});
I have uninstalled and reinstalled the plugin several times. I have removed and then added the platform as well. In this process I tried updating my cordova-ios to 4.1.0 but that introduced a whole new set of headaches, so I reverted back to cordova-ios 3.8.0
What other troubleshooting can I do to see what is going on?
Here's some other diagnostics....
RocketHQ:rr-app-newest laphona$ ionic -v
1.7.14
RocketHQ:rr-app-newest laphona$ cordova -v
6.0.0
RocketHQ:rr-app-newest laphona$ cordova plugin list
com.cordova.plugins.sms 0.1.9 "Cordova SMS Plugin"
com.unarin.cordova.beacon 3.4.0 "Proximity Beacon Plugin"
cordova-plugin-app-event 1.2.0 "Application Events"
cordova-plugin-bluetooth-serial 0.4.5 "Bluetooth Serial"
cordova-plugin-calendar 4.4.7 "Calendar"
cordova-plugin-camera 2.1.1 "Camera"
cordova-plugin-console 1.0.2 "Console"
cordova-plugin-device 1.1.1 "Device"
cordova-plugin-file 4.1.1 "File"
cordova-plugin-file-transfer 1.5.0 "File Transfer"
cordova-plugin-freshdesk-mobihelp 1.1.0 "Mobihelp Plugin for Phonegap"
cordova-plugin-geolocation 2.1.0 "Geolocation"
cordova-plugin-google-analytics 0.8.1 "Google Universal Analytics Plugin"
cordova-plugin-inappbrowser 1.3.0 "InAppBrowser"
cordova-plugin-network-information 1.2.0 "Network Information"
cordova-plugin-splashscreen 3.2.1 "Splashscreen"
cordova-plugin-whitelist 1.2.1 "Whitelist"
cordova-sqlite-storage 0.8.4-dev "Cordova sqlite storage plugin (core version)"
cordova.plugins.diagnostic 2.3.13 "Diagnostic"
de.appplant.cordova.plugin.local-notification 0.8.4 "LocalNotification"
ionic-plugin-keyboard 2.0.1 "Keyboard"
org.nypr.cordova.hockeyappplugin 0.1.0 "Device"
org.nypr.cordova.nslogger-cocoalumberjack-connector-plugin 0.1.0 "Device"
pushwoosh-cordova-plugin 4.2.2
I just found out from the cordova pushwoosh authors:
To support latest version of Cordova and Ionic we had to rename plugin
id to
var pushNotification =
cordova.require("pushwoosh-cordova-plugin.PushNotification");
It's reflected in the docs.
Related
Dear Developer,
We identified one or more issues with a recent delivery for your app, "Saudi Freelancer" 1.0 (1.0.6). Please correct the following issues, then upload again.
ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview).
Getting this error while uploading in the app store.
App is build in phonegap and just opened the website url in the application.
These are the plugin used in the app.
cordova-plugin-audioinput 0.3.0 "Audio Input"
cordova-plugin-camera 2.4.1 "Camera"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-console 1.1.0 "Console"
cordova-plugin-device 2.0.4-dev "Device"
cordova-plugin-geolocation 2.4.3 "Geolocation"
cordova-plugin-ionic-webview 4.1.0 "cordova-plugin-ionic-webview"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-statusbar 2.2.1 "StatusBar"
cordova-plugin-whitelist 1.3.1 "Whitelist"
cordova-sms-plugin 1.0.0 "Cordova SMS Plugin"
ionic-plugin-keyboard 2.2.1 "Keyboard"
So how to solve this error and upload the application in app store.
Phonegap build is discontinued
https://blog.phonegap.com/update-for-customers-using-phonegap-and-phonegap-build-cc701c77502c
Old answer:
It's a known Phonegap Build issue, they have not updated cordova-ios to 5.1.1, required to hide the UIWebView code from Apple review.
So you should switch to another service or build locally with a mac.
My app for iOS got rejected with the following error:
Guideline 2.5.1 - Performance - Software Requirements
Your app uses the "prefs:root=" non-public URL scheme, which is a private entity. The use of non-public APIs is not permitted on the App Store because it can lead to a poor user experience should these APIs change.
I have seen several issues opened on this subject for the native iOS app but not Cordova or Ionic. Is there a way to resolve this in Cordova? Ironically, the build that got reject has only a minor change that shows a number with 3 decimals instead of 2. Everything else is the same. Yet, it got rejected.
Below is the list of all the plugins I have:
card.io.cordova.mobilesdk 2.1.0 "CardIO"
cordova-android-support-gradle-release 0.0.2 "cordova-android-support-gradle-release"
cordova-plugin-actionsheet 2.3.3 "ActionSheet"
cordova-plugin-app-event 1.2.1 "Application Events"
cordova-plugin-camera 2.4.1 "Camera"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-datepicker 0.9.3 "DatePicker"
cordova-plugin-device 1.1.6 "Device"
cordova-plugin-dialogs 1.3.3 "Notification"
cordova-plugin-facebook4 1.9.1 "Facebook Connect"
cordova-plugin-file 4.3.3 "File"
cordova-plugin-file-transfer 1.6.3 "File Transfer"
cordova-plugin-google-analytics 1.8.3 "Google Universal Analytics Plugin"
cordova-plugin-googleplus 5.3.1 "Google SignIn"
cordova-plugin-inappbrowser 1.7.1 "InAppBrowser"
cordova-plugin-ionic-webview 1.2.1 "cordova-plugin-ionic-webview"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-statusbar 2.2.4-dev "StatusBar"
cordova-plugin-touchid 0.4.0 "Touch ID"
cordova-plugin-vibration 2.1.5 "Vibration"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-plugin-x-socialsharing 5.4.1 "SocialSharing"
cordova.plugins.diagnostic 3.7.1 "Diagnostic"
de.appplant.cordova.plugin.local-notification 0.8.5 "LocalNotification"
es6-promise-plugin 4.2.2 "Promise"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-barcodescanner 7.0.0 "BarcodeScanner"
As #Paulw11 suggested -
Run grep -r -i 'prefs' ./* under the plugins directory
Find references to the prefs
Update the plugins.
No code changes required.
Rebuild it and submit the archive.
Note: You may have to update all the plugins. I would highly recommend making a backup of all the plugins before updating them.
I have developing hybrid ionic app, its working fine for android . In iOS , for first time when Open app its works perfect but after closing and re-open, app becomes hang. no any data load in app.
I have installed this plugins :
cordova-plugin-camera 2.4.0 "Camera"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-console 1.0.6 "Console"
cordova-plugin-device 1.1.5 "Device"
cordova-plugin-google-analytics 1.8.3 "Google Universal Analytics Plugin"
cordova-plugin-inappbrowser 1.7.0 "InAppBrowser"
cordova-plugin-network-information 1.3.2 "Network Information"
cordova-plugin-splashscreen 4.0.2 "Splashscreen"
cordova-plugin-statusbar 2.2.2 "StatusBar"
cordova-plugin-themeablebrowser 0.2.17 "ThemeableBrowser"
cordova-plugin-whitelist 1.3.3-dev "Whitelist"
cordova-plugin-x-socialsharing 5.1.7 "SocialSharing"
cordova-plugin-x-toast 2.6.0 "Toast"
ionic-plugin-keyboard 2.2.1 "Keyboard"
We had this exact issue!
It was to do with ionic auto updates. It would download some update on the first app run and apply it on the second app run.
We fixed it by removing the cordova-plugin-ionic plugin as we didn't actually want the functionality.
ionic cordova plugin remove cordova-plugin-ionic
For a while I can not compile my application correctly.
My application uses cordova and Angular 1, I tried with several versions of ipad tablet without success.
I reinstalled the application and updated all the plugins cordova, without success I upgraded cordova, gulp, iOS on my tablet, ionnic, without success too..
Latest configuration :
- ipad 4 Version 10.3.3
- cordova : 7.0.1
- ionic : 2.2.3
- AngularJS 1.X
Plugins List :
cordova-custom-config 3.1.4 "cordova-custom-config"
cordova-plugin-client-certificate-addictic 0.0.1 "Client Certificate"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-console 1.0.7 "Console"
cordova-plugin-device 1.1.6 "Device"
cordova-plugin-file 4.3.3 "File"
cordova-plugin-file-transfer 1.6.3 "File Transfer"
cordova-plugin-inappbrowser 1.7.1 "InAppBrowser"
cordova-plugin-keyboard 1.1.5 "Keyboard"
cordova-plugin-network-information 1.3.3 "Network Information"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-statusbar 2.2.3 "StatusBar"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-sqlite-storage 2.0.4 "Cordova sqlite storage plugin"
ionic-plugin-keyboard 2.2.1 "Keyboard"
Compilation with Console :
‘cordova run iOS —device’
Error in Console bash :
Starting debug of iPad 4 'iPad 4'
(2399acc62866ac2ac6000ad55f470e9e43d69dab) connected through USB...
2017-09-05 09:20:09.735 ios-deploy[9492:9633908] [ !! ] Unable to
locate DeviceSupport directory. This probably means you don't have
Xcode installed, you will need to launch the app manually and logging
output will not be shown! Error: Error code 253 for command:
ios-deploy with args:
--justlaunch,--no-wifi,-d,-b,/Users/agenceaddictic/Apps/crpvapp/platforms/ios/build/device/VigiMedic.app
With Xcode 8.3.3 :
iOS Deployment Target : 10.3 (is the same error with 9.x)
Device iPad 4
Use Release for command-line builds
Default compiler : Apple LLVM 8,1
I launch : « Build and then run the current scheme »
Application Builded but don’t correct running
view screen here
I have a problem when I'm trying to sign the certificate for my ionic iOs platform. The error specifies like this:
I have no idea why the error occurs since my other ionic app project using the same development team works. I've looked in the everywhere but none solved the problem. Does it have anything to do with the plugins installed on my projects?
I'm using XCode 9 beta. Here's my ionic info:
global packages:
#ionic/cli-utils : 1.4.0
Ionic CLI : 3.4.0
local packages:
#ionic/cli-plugin-ionic1 : 2.0.1
Ionic Framework : ionic1 1.3.3
System:
Node : v6.11.0
OS : macOS Sierra
Xcode : Xcode 9.0 Build version 9M136h
ios-deploy : not installed
ios-sim : not installed
npm : 3.10.10
Here the list plugins installed on my project:
com.telerik.plugins.nativepagetransitions 0.6.5 "Native Page Transitions"
cordova-plugin-app-preferences 0.99.3 "AppPreferences"
cordova-plugin-clipboard2 0.1.0 "Clipboard"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-console 1.0.7 "Console"
cordova-plugin-crosswalk-webview 2.3.0 "Crosswalk WebView Engine"
cordova-plugin-device 1.1.6 "Device"
cordova-plugin-facebook4 1.9.1 "Facebook Connect"
cordova-plugin-file 4.3.3 "File"
cordova-plugin-file-transfer 1.6.3 "File Transfer"
cordova-plugin-inappbrowser 1.7.1 "InAppBrowser"
cordova-plugin-network-information 1.3.3 "Network Information"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-statusbar 2.2.3 "StatusBar"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-plugin-x-socialsharing 5.1.8 "SocialSharing"
cordova-plugin-x-toast 2.6.0 "Toast"
cordova-sqlite-storage 2.0.4 "Cordova sqlite storage plugin"
es6-promise-plugin 4.1.0 "Promise"
ionic-plugin-deeplinks 1.0.15 "Ionic Deeplink Plugin"
ionic-plugin-keyboard 2.2.1 "Keyboard"
Make sure your email is enrolled in Apple's $99/year Developer Program.
When someone sends you the developer invite from Apple Developer Portal (now in iTunes Connect): https://itunesconnect.apple.com/access/users
Make sure they check this little box for you to access certificates and profiles: (If they did not, they can go back to the invite and add this permission anytime.)
Nevermind, turns out the ionic-plugin-deeplinks caused the error. I had no idea why, I uninstalled the plugin and then the error resolved.
first of all, take a look into xcode and check if your signing is setup correctly. Furthermore, check under 'capabilities' if there are any actions required, in my case, I had to toggle the push option manually to add the correct entitlements.
You can also have a look at this thread to get any further information...