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
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.
I've applied the config.xml updates they reccommend, but I'm still getting a reject message from Apple for using the UIWebView. Any suggestions?
I have iOS 5.1.1 and CLI 9.0.1
cordova-background-geolocation-lt 3.0.8 "BackgroundGeolocation"
cordova-launch-review 3.1.1 "Launch Review"
cordova-plugin-background-fetch 5.5.0 "CDVBackgroundFetch"
cordova-plugin-calendar 5.1.5 "Calendar"
cordova-plugin-camera 4.1.0 "Camera"
cordova-plugin-cocoalumberjack 0.0.4 "CocoaLumberjack"
cordova-plugin-contacts 3.0.1 "Contacts"
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-geolocation 4.0.2 "Geolocation"
cordova-plugin-globalization 1.11.0 "Globalization"
cordova-plugin-inappbrowser 3.2.0 "InAppBrowser"
cordova-plugin-whitelist 1.3.4 "Whitelist"
cordova-plugin-wkwebview-engine 1.2.1 "Cordova WKWebView Engine"
I was able to get by it, there was some references in readme files that had the text UIWebView in it. I just deleted them.
I am facing the following issues while uploading the iOS build. The iOS version is 12.3
(Though it was working on 12.1)
Currently, it is showing an error while making the build:
Xcode version: 10.2.1 (10E1001)
Here is the plugin list I am using in my app
com.razorpay.cordova 0.16.1 "RazorpayCheckout"
cordova-android-support-gradle-release 3.0.0 "cordova-android-support-gradle-release"
cordova-plugin-browsertab 0.2.0 "cordova-plugin-browsertab"
cordova-plugin-camera 4.0.3 "Camera"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-device 1.1.7 "Device"
cordova-plugin-facebook4 2.5.0 "Facebook Connect"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-filechooser 1.2.0 "File Chooser"
cordova-plugin-geolocation 4.0.1 "Geolocation"
cordova-plugin-inappbrowser 2.0.2 "InAppBrowser"
cordova-plugin-ionic-webview 1.2.1 "cordova-plugin-ionic-webview"
cordova-plugin-request-location-accuracy 2.3.0 "Request Location Accuracy"
cordova-plugin-splashscreen 4.1.0 "Splashscreen"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-sqlite-storage 2.6.0 "Cordova sqlite storage plugin"
cordova.plugins.diagnostic 4.0.12 "Diagnostic"
ionic-plugin-keyboard 2.2.1 "Keyboard"
Install cordova plugin add com.razorpay.cordova#1.4.5
import <Razorpay-swift.h>
In project Setting: General> Frameworks, Libraries, and Embedded Content> Razorpay.framework to Embed and Signin or Embed without Signing
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 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.