I want to develop an application for both Android and iOS; is Qt sufficient for this type of project?
-
I am planning to develop a mobile application. The goals of the project are:
- Receiving a video stream via GStreamer and displaying it on the application screen
- Transmitting specific data to an external device over UDP and serial (USB) using MAVLink
Additionally, I want to obtain the device’s GPS location and compass data and transmit yaw, latitude, and longitude values to an external device over USB. Is it possible to implement these functionalities using Qt? I am particularly unsure about the iOS side. I believe it can be done on Android, but I do not have much information about how port access works on iOS.
-
I am planning to develop a mobile application. The goals of the project are:
- Receiving a video stream via GStreamer and displaying it on the application screen
- Transmitting specific data to an external device over UDP and serial (USB) using MAVLink
Additionally, I want to obtain the device’s GPS location and compass data and transmit yaw, latitude, and longitude values to an external device over USB. Is it possible to implement these functionalities using Qt? I am particularly unsure about the iOS side. I believe it can be done on Android, but I do not have much information about how port access works on iOS.
Qt itself should not be the problem here. Accessing USB via Android/iOS is not trivial in itself.
Android is easier, you can set in the android manifest
<uses-feature android:name="android.hardware.usb.host" />and then use QtAndroid / QJni objects to interface with that via C++.
You still need to handle the user permission dialog via the Android USB Host API.Apple is not so lenient with hardware access, your device needs either one or preferably all of these conditions:
- MFi certificated (Made for iPhone/iPad)
- contain an Apple authentication chip
- expose supported accessory protocols
Then you can use the ExternalAccessory.framework via Objective-C.
There is no direct Qt interface for Objective-C, but like most C-related things,
you can integrate *.mm files into your C++ code directly. -
S serkan_tr has marked this topic as solved