IOS Safari support plugins? - ios

I'm currently working on ipad IOS Safari. Thinking of adding some plugins to the application. but found some article saying that IOS Safari doesn't support plugins. Any expert know how true is the statement? Thanks

Safari, like all iOS apps, does not support plug-ins or any other form of customization. Your only option is to create an app with a UIWebView. Quite a few browser apps can be found in the App Store.
iOS 9 update: Safari still does not support plug-ins; however, it is now possible to build an app that blocks specific content via a JSON file. Content blocking rules only affect the Safari app and the new SFSafariViewController (UIWebView and WKWebView instances are unaffected).

The fact that you need to jailbreak it to use them actually proves that Apple is not supporting the use of plugins.

As of iOS 9, browser plugins are supported (as content blockers).

It DOES support plug-ins, you have to be Jailbroken to add any though. Install iFile from cydia then in iFile go to /System/Library/Internet Plug-Ins
The QuickTime Plugin is in there already, which proves that plugins are supported
And you can customize apps if your jailbroken

Related

Why is QWebEngineView not ready for mobie apps?

My apps will use some widgets to show web pages. But QTextBrowser just support HTML 4.1, and QtWebView just support QML, and QWebEngineView just spoport Linux/Unix/MacOSX/Windows. Why does QWebEngineView not support Android and IOS? It is the reason of Chromium donot support Android and IOS ?
Current mobie apps often use WebView to show web pages, so we can't wait for QWebEngineView. What is the official idea and plan?
It is the reason of Chromium donot support Android and IOS ?
iOS
Apple does not allow Chromium on iOS.
See rule #2.5.6 at https://developer.apple.com/app-store/review/guidelines/#software-requirements -- Apps that browse the web must use the appropriate WebKit framework and WebKit Javascript.
Android
It is technically possible to add support for Qt WebEngine on Android, but this support does not exist at the moment.
See http://lists.qt-project.org/pipermail/development/2013-September/013169.html for the reasons.
This is my interpretation:
It requires a lot of work. The Qt Company's resources are being spent in other areas.
An Android app that uses QWebEngineView will need to include the Qt WebEngine library, which is very large (~30 MB?). This is not desirable.

How to reduce my iOS app's bundle size?

I am working on an iOS app that integrates with multiple bluetooth devices (e.g. printers and barcode scanners). Each of the devices comes with it's own version of SDK and most of them just have objective-c/swift SDKs but not javascript SDKs.
Would like to find out what is the best way to reduce the app bundle size at the same time supporting multiple devices ?
Based on my investigations,
iOS doesn't allow downloading objective-c/swift code dynamically during runtime, hence the option of downloading the SDKs after the user having installed the app is ruled out.
Would like to get a feedback on the feasibility of the below solution. Also let me know if there is a better solution.
iOS version 8+ support embedded frameworks - Have separate iOS driver
apps for each of the supported devices which just installs the device
SDK as a shared embedded framework so that the parent app can
dynamically link to the shared embedded framework if one that matches
the connected device is available, otherwise force the user to
download the respective driver app.
This question has gone unanswered for a little while, so you may have already figured this out, but no, you cannot make shared embedded frameworks on iOS. Only Apple can do that. All of the frameworks you use must be either provided by Apple or embedded inside your app.

webRTC-enabled browser for iOS?

Preface: there are questions (some good, some bad) already in existance on StackOverflow about webRTC support on various browsers and platforms, including iOS. However I couldn't find anything definitive that was more recent than ~2012, and this is a rapidly-changing field.
I'm working on a browser-based webapp that uses webRTC for minimal-latency peer-to-peer data transfer (not for audio/video, unlike most applications it would seem - all I need is DataChannel).
I hit a snag when I started testing the data-transfer part of the project and discovered that iOS devices still don't natively support this in their built-in browsers (despite some recent rumors).
Bowser is a free open-source browser App for iOS that purports to support webRTC on iOS. The problem is that when I try to open the app, it simply crashes and closes. I've tested this on an iPhone 5 and 5s. Googling has failed to turn up alternatives - even Chrome for iOS doesn't currently support webRTC it seems.
My questions:
1) Are there alternative browsers (even iOS-version restricted) that are currently supporting webRTC, or is there anything promising coming down the pipeline?
2) Does Bowser actually work (webRTC) on iOS devices where it doesn't crash immediately upon launch?
3) What strategies have other people used to work around this limitation?
As of iOS 11, WebRTC is now supported in Safari: https://developer.apple.com/library/archive/releasenotes/General/WhatsNewInSafari/Articles/Safari_11_0.html#//apple_ref/doc/uid/TP40014305-CH13-SW1
Check out crosswalk project ( https://crosswalk-project.org )
This Provides runtime of Chromium engine for native support in older devices.
1) Are there alternative browsers (even iOS-version restricted) that are currently supporting webRTC, or is there anything promising coming down the pipeline?
Answer:
There is a Browser called Bowser that supports webRTC.
2) Does Bowser actually work (webRTC) on iOS devices where it doesn't crash immediately upon launch?
Answer:
It's not crashing as of now.But I couldn't successfully test with anything so far.I have raised an issue about it
3) What strategies have other people used to work around this limitation?
Answer:
Apple is yet to support WebRTC in Webkit so as of now the only way would be develop a native or Hybrid app that would support the unsupported WebRTC APIs.
You can develop a hybrid app powered by OpenWebRTC or cordova-plugin-iosrtc

iOS PhoneGap app using WebGL

Which is the WebView of a PhoneGap app, is the Safari mobile or desktop one?
Is it possible to use WebGL in PhoneGap apps? If not which they work around to use them being able to submit the app to the Apple Store and Android Store
Will I be able to submit to Apple Store a PhoneGap app that uses WebGL?
UPDATE:
iOS 8 brought WebGL support on the UIWebView and WKWebView, so if you don't want to support previous versions you can use it without CocoonJS
See more details on ludei's website
OLD:
If you want to create HTML5 apps with WebGL for iOS and android, try CocoonJS
Right now it's the only way to create WebGL apps that run on iOS and android
I just figured out your issues in two points.They are-
phonegap build app links won't open in safari. For More details Please check HERE
Neither the iOS nor Android browsers support WebGL so it is pretty much a non-starter in PhoneGap.
Apple are clearly working towards supporting WebGL in a more general sense, as can be seen in their support for it in iAds.
It’s possible to take advantage of WebGL using standard embedded web views ( using private APIs).
check HERE too fro browser support.
I personally recommend Ejecta for it being open source:
https://github.com/phoboslab/Ejecta
The Android port doesn't seem widely active, but the main ios port seems well maintained, supporting WebGl.
The latest Android versions support webGL directly - if using older Android versions, Crosswalk can also be used along with phonegap to utilize webgl support.
https://crosswalk-project.org/

Mobile Safari uses Webkit1/Webkit2?

I am researching a bit about Mobile safari and have searched the web for any information about the process model being used.
Webkit1 was a single process framework and with Webkit2 the chromium style multi-process model was introduced in Webkit. But no where is there a mention of Mobile Safari using the same.
Is there anyway to detect which Webkit(1/2) is being used in the latest Mobile Safari? Is there any changelog of the same?
I'm not sure in my answer, but there is a private framework called WebKit2.framework in iOS7. You can check it here.
So, it's quite possible, that Safari uses WebKit2.

Resources