WKWebview runs fine in iOS 10, freezes in iOS 9 - ionic-framework

I installed the WKWebview plugin from driftyco Github page and my app runs normally in ios 10. However, when I installed the app on iOS 9, the app freezes at the splash screen.
I read about the ATS and in my info.plist, I have this value
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Here is my access-origin and allow-navigation tag
<access origin="*" />
<allow-navigation href="*" />
What else do I need to do to make WKWebview work? I have WKWebview v1.1.1 and Cordova iOS 4.1.1.
I also noticed an error "DOM Exception 18: An attempt was made to break through the security policy of the user agent."
Another interesting error is
[Error] module cordova-plugin-nativestorage.NativeStorageError already defined
define (cordova.js:79)
Global Code (NativeStorageError.js:1)
[Error] Failed to load resource: unsupported URL (ready, line 0)
Please help!

Related

Insecure HTTP is not allowed by platform

I am facing following issue :
I/flutter (31349): Bad state: Insecure HTTP is not allowed by platform: http://max-image-caption-generator-test.2886795296-80-host19nc.environments.katacoda.com/model/predict
I added following lines in android/app/src/main/AndroidManifest.xml file
<uses-permission android:name="android.permission.INTERNET" />
<application
android:usesCleartextTraffic="true"
</application>
But still I am facing the error
HTTP connections are not allowed anymore since Flutter 2.0 on Android and iOS.
There are two solutions: You can use only HTTPS connections or you can activate unsecure connections (e.g. for debugging). The following article describes how to do this: https://flutter.dev/docs/release/breaking-changes/network-policy-ios-android or Flutter Insecure http is not allowed by platform
You need to take permission to use http
For Android -> android:usesCleartextTraffic="true" in application in AndroidManifest.xml file
<application
...
android:usesCleartextTraffic="true">
For IOS -> add below lines in Info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

ionic base64togallery plugin not working in android-targetSdkVersion 29

I'm using base64-to-gallery to save images for android devices in my ionic app.
Previously it was working fine but now after added <preference name="android-targetSdkVersion" value="29" />to config.xml file, under android platform, it's not working.
Please kindly help me with it.
Finally solved the issue. To anyone who is struggling, I will explain as below.
As mentioned in the git, https://github.com/Nexxa/cordova-base64-to-gallery , ionic Cordova base64togallery plugin has been discontinued.
And also when trying to submit the ionic mobile app for Android production, it's saying that the target SDK version should be more than 29.
But as usual, if we add <preference name="android-targetSdkVersion" value="29" /> to the config.xml file under the Android platform, it will not work the base64togallery plugin (not saving images to your device)
So you have to do like below,
In your ionic project, go to build.gradle file (platforms\android\build.gradle) and change defaultTargetSdkVersion and defaultCompileSdkVersion to 29. (as below)
defaultTargetSdkVersion=29
defaultCompileSdkVersion=29
And then go to AndroidManifest.xml file
(platforms\android\app\src\main\AndroidManifest.xml) and add android:requestLegacyExternalStorage="true" to the application tag, as showing below.
<application android:hardwareAccelerated="true" android:icon="#mipmap/ic_launcher" android:label="#string/app_name" android:networkSecurityConfig="#xml/network_security_config" android:requestLegacyExternalStorage="true" android:supportsRtl="true">
Then try to build your app for debug or release versions.

Flutter and Firebase authentication via Facebook: Lost connection to device

I'm trying to setup Flutter-Firebase-Facebook social authentication as defined here. I used just the example given in the docs and after I execute flutter run and click the 'Login' button on the simulator, the app exits and what I can see from the logged message is just:
[ +4 ms] Lost connection to device.
Step I followed are the following:
I setup the Facebook App as described in here;
I also setup the Flutter project for iOS and Android as defined in here;
I ran the exact example described in the flutter_facebook_auth page;
What I've checked so far is:
Memory is enough;
flutter doctor does not show any issue.
Version of deps I am using are:
firebase_core: ^0.7.0
firebase_auth: ^0.20.0+1
flutter_facebook_auth: ^2.0.1
Version of flutter, sdk etc are all latest. Running on Big Sur 11.1
Does anyone know what I can investigate further?
i had same issue, make sure your CFBundleURLSchemes starts with fb
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<!--
Replace "000000000000" with your Facebook App ID here.
**NOTE**: The scheme needs to start with `fb` and then your ID.
-->
<string>fb000000000000</string>
</array>
</dict>
</array>
I ran into this and went back through the installation guide to make sure I got everything. What fixed it for me was making sure I had these two properties set in the Info.plist:
<key>FacebookAppID</key>
<string>{your-fb-app-id}</string>
<key>FacebookDisplayName</key>
<string>{your-app-name}</string>

phonegap facebook connect fail on iphone 4 and iphone 5

I'm developing an ios app with PhoneGap 3.4 which connects to facebook
I used this plugin to connect to facebook: https://github.com/phonegap/phonegap-facebook-plugin
everything works in emulators provided by xcode 5.1.
I tested the app on iphone 3gs and the connection to Facebook still works.
tested also with iphone 4s and facebook connection does not work: FB.login is not called.
the same happens on the iphone 5s.
no error in the xcode console and even in the safari console under developer mode.
the plugin is out of date
Make sure set your config.xml correctly
<access origin="https://m.facebook.com" />
<access origin="https://graph.facebook.com" />
<access origin="https://api.facebook.com" />
<access origin="https://*.fbcdn.net" />
<access origin="https://*.akamaihd.net" />
<feature name="org.apache.cordova.facebook.Connect">
<param name="ios-package" value="FacebookConnectPlugin" />
</feature>
OR
Use this command to install your facebook phonegap plugin
cordova plugin add https://github.com/phonegap/phonegap-facebook-plugin.git --variable APP_ID="XXXXXXXXXXXXXX" --variable APP_NAME=“YOUR_APP_NAME
Don't ever use plugman to install cordova plugin.

Can I upgrade UIRequiredDeviceCapabilities from opengles-1 to opengles-2 in iOS app

Hi I’m upgrading my app from cocos2d-x 1.x to 2.x that means change from OpenGLES 1.0 to 2.0,
I've updated my Info.plist settings to reflect the change
<key>UIRequiredDeviceCapabilities</key>
<dict>
<key>accelerometer</key>
<true/>
<key>opengles-2</key>
<true/>
</dict>
Change from opengles-1 to opengles-2
But while installing application from XCode 4.5 GM (the older version was compiled with prevoius XCode) I receive error:
Could not change executable permissions on the application