Qt for iOS: Error unknown module(s) in Qt: webkitwidgets - ios

I have downloaded .dmg file for Qt on Android and iOS. I have installed it and tried to run examples. I am able to run examples under folder "widgets" for iOS but when I try to run example for "webkitwidgets" and run qmake on (let say for example of "browser") .pro (in this case for example browser.pro) then it gives me error : "Error unknown module(s) in Qt: webkitwidgets". Then I checked "ios" folder in installed qt directory. I found in "Include" folder there is no folder called "QtWebkitWidgets" while there is folder "QtWidgets". Let me know solution asap because I am doing some poc on Qt for iOS and need to have conclusion soon. Did I miss some steps while installation or do I have to do some extra steps to execute examples for QtWebkitWidgets. Let me know whether QtWebkitWidgets module is supported for in Qt for iOS or not. Note that I am using Qt 5.2 with XCode 5. If more detail is required then let me know.

Apple explicitly forbids that any programming language be compiled/interpreted on the iOS device itself, except by their own WebKit. So Qt’s WebKit is disallowed.
It is worthy to note thet part of the QtWebKit team has started the project QtWebEngine to explore the option of providing a Chromium/Blink based web engine instead of QtWebKit, and in addition to that, the iOS port of Qt will need their own webview API since Apple does not allow additional web engines on their iOS devices.

Related

Lexical or preprocessor issue in react native while building ios app <React/RCTUtils.h> not found

When I am trying to build my ios app in xcode, the build is failing due to lexical or preprocessor issue the error shows up like this
This was a problem specific to the react-native-device-info module.
For your specific case you may try v1.6.1 or higher (currently at 2.0 as of May 21, 2019) of the library and that should fix things for you.
For others interested more generally in the problem, this is a react-native library that uses native code, so it has an XCode project embedded within it for use in react-native after you run react-native link react-native-device-info. Unfortunately, the library was not including any directories in it's header search path, so it was of course unable to find the header files for the react-native objects it was using locally.
A library user proposed a change that fixed that problem for tvOS, and I extended the change to cover iOS as well, and now the library no longer generates errors like this for iOS or tvOS targets.
Perhaps someone with a similar issue may find the specific changes required for the fix useful in their projects

How to compile FileMQ in iOS?

I want to implement FileMQ for file transfer from iOS to android in my iOS app.
I tried the steps given here but it causes errors at many steps. Also I need to know how should I use the downloaded library.
How should I compile FileMQ for iOS and use it?
Any information in this regard is appreciated!
I downloaded a C version of the library from the link mentioned in the question and compiled it on linux machine. I made some changes in the headers to make it iOS compatible as the headers were generated for linux. Now I am using the same copy in my iOS project.

MergJSON LiveCode External for iOS standalone setup

Currently we are only testing LiveCode 7.0.4 to see how it works and if we want to even use it. In our apps we need JSON from our server and have setup the mergJSON library/External in Livecode. So far, this is working very nicely in standalone tests for both MacOS and Windows. Today I started doing some simple tests on iOS and I am having a hard time with it.
I found answers where we need to use the Copy Files section in Standalone Settings, and that we need to copy the *.lcext file for mergJSON. Also watched the youtube how-to video that had mergSettings. There are no .nib files for mergJSON. Only .so, .dylib, and .dll, and the .lcext. I tried to add the .bundle file like the video, but the app will not launch, only black screen. Are other files required for mergJSON? And where do we put them? Do they stay in the same Externals folder structure or in project folder. Also, does an IOS runtime folder need to be created like in Widows/Mac? The app runs, no errors, but no JSON results are returned. I guess I am just a little confused on the Externals setup for iOS.
Just quick notes of our environment. We have Xcode 6.2 and the iOS Sdk 8.2. Live Code is 7.0.4 GPL (just testing and learning this way for now, will purchase commercial once I learn more.) I think the mergJSON I have is 1.0.15, downloaded from mergext.com. (which appears to be offline today) I have only tested on the simulator.
Thanks for any help.
You only need to include the lcext file in the copy files section of standalone settings. No need to setup a runtime folder for iOS etc.

"No SDK found at specified location" error in Monodevelop

I installed Mac OS X version 10.8.2.
After that, I either installed Monodevelop first or XCode first. But when I got this error, I deleted both. Then, installed XCode 4.5.2 and then installed MonoDevelop again, but it was using an older SDK.
So I copied the iPhoneOS6.0.sdk from the
Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/
folder and put it into a separate folder on my machine
/SDKs/
Then I set the path in MonoDevelop to use the SDK as found in /SDKs folder. But I am still getting this error-
"No SDK found at specified location"
This is very frustrating. What am I doing wrong?
None of this should be required. MonoDevelop should automatically find the SDK.
Try leaving the SDK location empty so MD will say "using default location".
If you want to point it to a specific SDK, let it point to the Xcode.app file. An app file is nothing but a folder. MonoDevelop will find the SDK in there. No need to copy anything.
First do not copy files/directory around. Mostly because this is not needed but also because you might break your installation(s) and get hard to diagnose bugs.
MonoDevelop's Apple SDK location (in the preferences) must point to the Xcode.app, which by default, is /Applications/Xcode.app (that's where MonoDevelop will look for if nothing is specified).
You can point it elsewhere, e.g. /Volumes/Xcode/XcodeXX-DPX.app if you want to mount a disk image with a specific version of Xcode.
Notes:
when MonoDevelop finds what's it's looking for then you'll get a green checkmark (so you know it's properly configured);
you might have to run Xcode first so it will install it's command-line tools and device support libraries. Without them it's possible the the builds/installation will fail (but with a different error message than the one you mentioned)

Mono Android Monodroid Native Library DllNotFoundException

I am attempting to get a Native C/C++ library working with Monodroid in the emulator, using DllImport. I am developing mainly in Windows/Visual Studio 2010.
I have built a native C/C++ library (ZeroMQ) using the Android NDK tools, to both x86 and armeabi platforms, using a Ubuntu virtual machine. Is this correct - x86 for emulator and armeabi for the real device? (This is certainly the case on the iPhone/MonoTouch - though in that case statically linked libzmq.a file and DllImport __Internal)
I have added the x86 version of libzmq.so to my MonoDroid project under the directory structure lib\x86\libzmq.so
When I first attempted to build/deploy to the simulator, I got an error 'cannot determine abi type', so I've added x86 to the AndroidNativeLibrary Include="lib\x86\libzmq.so"> project item group. This then deployed.
I have a DllImport for the function to call [DllImport("libzmq"
I've tried libzmq.so, lib/x86/libzmq, lib/x86/libzmq.so etc, but then I call the DllImported method (running in the emulator), I always get a DllNotFoundException.
Can anyone give me some direction?
EDIT: After reading another support answer which states that the emulator uses armeabi .so libraries, I have removed the x86/libzmq and added my lib/armeabi/libzmq.so as an AndroidNativeLibrary. I also removed the project file Abi entry, and indeed the project built and deployed fine.
However, I still get a DllNotFoundException when I try to call a DllImported function. Any ideas?
Many thanks
I don't have any immediate ideas why it isn't working for you; [DllImport("zmq")] should work.
The SanityTests sample exercises the DllImport attribute.
The DllImport: https://github.com/xamarin/monodroid-samples/blob/master/SanityTests/Hello.cs#L240
The Android.mk to build libfoo.so: https://github.com/xamarin/monodroid-samples/blob/master/SanityTests/jni/Android.mk
Building libfoo.so by calling ndk-build: https://github.com/xamarin/monodroid-samples/blob/master/SanityTests/SanityTests.csproj#L82
Including libfoo.so into the .apk: https://github.com/xamarin/monodroid-samples/blob/master/SanityTests/SanityTests.csproj#L96
(This is a repeat of my reply to your email in the ZeroMQ mailing list).
This error could be caused by using an incorrect platform target in your Mono project. I'm not sure if Mono/MonoDevelop supports this, but you probably need to create an ARM platform target, as opposed to x86/x64/Any CPU.
You would experience the same errors if you tried to do P/Invoke interop between an x64-targeted assembly with an x86 native library or vice-versa.
If you're using the clrzmq bindings for bridging Mono and libzmq, you will need to create a new platform target for ARM and rebuild the bindings. The solution only defines x86 and x64 platform targets currently.
Ok, I finally got it working! For whatever reason, ZeroMQ doesn't build correctly using the current/latest NDK r7. The instructions at http://www.zeromq.org/build:android use NDK r6. I also downloaded an old version of the NDK r5b (it was the easiest old version to find a download for), and rebuilt ZeroMQ using it. Result, it now works on emulator and phone!

Resources