summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/uikit/README
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/uikit/README')
-rw-r--r--src/plugins/platforms/uikit/README77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/plugins/platforms/uikit/README b/src/plugins/platforms/uikit/README
new file mode 100644
index 0000000..a8031e6
--- /dev/null
+++ b/src/plugins/platforms/uikit/README
@@ -0,0 +1,77 @@
+This is a proof-of-concept implemenation of a UIKit based
+QPA plugin. Note that this is completely unsupported, and it is probable
+that many parts of QtCore and other Qt Modules don't work properly.
+There have no tests been run whatsoever.
+
+0) What the platform plugin provides
+
+* Open GL ES 1/2 based backend
+* Single touch
+* Text/font drawing using system fonts (CoreText)
+* Text input (Opening/closing software input panel
+ Application has to perform necessary layout changes itself.)
+* Initial showing/hiding of status bar (as defined in the Info.plist)
+* Interface orientations as defined in the Info.plist of the application
+* Sound via phonon
+
+Only Declarative/QML/Qt Quick based UI has been verified working quite well, no
+idea about the state of widgets.
+
+Building/Deploying the application has to be done in Xcode. You need to generate
+necessary moc_ files in advance and add these to the Xcode project. More details
+on the Xcode setup see below.
+
+1) Known Issues
+
+* Console message
+ "QEventDispatcherUNIX: internal error, wakeUps.testAndSetRelease(1, 0) failed!"
+ seems to appear sometimes for some people for unknown reasons and
+ unknown effect
+* JavaScript XmlHttpRequest doesn't work reliably even though networking
+ in general seems to
+
+2) Build Qt
+
+The example Xcode project in the examples subdirectory requires that you do shadow
+builds of Qt in qt-lighthouse-ios-simulator and qt-lighthouse-ios-device directories
+parallel to the sources. To build for simulator make sure that both the Simulator
+configuration *and* the simulator specific target are active. To build for device
+make sure that both the Device configuration *and* the device specific target are
+active.
+
+The setup is configured to use the iOS 4.3 SDKs, you might want to edit the mkspecs
+to fit your need.
+
+After configuring and building Qt you need to also build src/plugins/platforms/uikit.
+
+Simulator:
+----------
+configure -qpa -xplatform qpa/macx-iphonesimulator-g++ -arch i386 -developer-build -release -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake demos -nomake docs -nomake examples -nomake translations
+
+Device:
+-------
+configure -qpa -xplatform qpa/macx-iphonedevice-g++ -arch armv7 -no-neon -developer-build -release -opengl es2 -no-accessibility -no-qt3support -no-multimedia -no-phonon-backend -no-webkit -no-scripttools -no-openssl -no-sql-mysql -no-sql-odbc -no-cups -no-iconv -no-dbus -static -nomake tools -nomake demos -nomake docs -nomake examples -nomake translations
+
+3) XCode setup:
+- there are examples in the examples subdirectory of the platform plugin
+- to create something fresh do something like:
+ - Xcode: Create a "View-based Appplication"
+ - remove the nibs and view controller and app controller files
+ - remove the reference to "Main nib file" from plist file
+ - create a main.mm like in the examples
+ - add the qmlapplicationviewer sources to your project (including the moc_*.h)
+ (best to link, not copy), the code for this is from the Qt Creator
+ mobile Qt Quick application template
+ - Add the Qt .a libraries, uikit platform plugin and libz (v1.2.3) to Frameworks
+ - add "$(SRCROOT)/../../../../qt-lighthouse-ios-device/include" (or -simulator)
+ to the include search paths.
+ - add "$(SRCROOT)/../qmltest" to the include search path if you didn't copy but
+ linked to the qmlapplicationviewer
+ - for device set the architecture to armv7 only
+ - to use sound in your application, Q_IMPORT_PLUGIN(phonon_av),
+ #include <phonon/private/factory_p.h>,
+ and call Phonon::Factory::setBackend(qt_plugin_instance_phonon_av());
+ Link to libphonon and to plugins/phonon/phonon_av
+
+4) Done: Build and Run.
+