Beruflich Dokumente
Kultur Dokumente
Qt Developer Days
2.11.2010 Pekka Kosonen
Head Of Technology Development, Forum Nokia
Update
http://www.forum.nokia.com/Qt
Simulator
• Quick launch
• Scripting possibilities
Debugging host
Qt Creator
Switching Target Platforms
• For Mac and Linux local builds for Symbian are not
supported
• http://developer.symbian.org/wiki/index.php/Platform_Security_(F
undamentals_of_Symbian_C%2B%2B)
• http://www.forum.nokia.com/Distribute/Packaging_and_signing.x
html
• Symbian signed test criteria : http://tiny.symbian.org/testcriteria
Capabilities
Ovi Store Symbian
Signing Service
and signing
Capability Group Capability Name Self-Signed Open Signed Open Signed Express Signed Certified
Online Offline Signed
User Capabilities LocalServices Yes, with user Yes Yes Yes Yes
Location confirmation at
install time
NetworkServices
ReadUserData
UserEnvironment
WriteUserData
SurroundingsDD
SwEvent
TrustedUI
WriteDeviceData
MultimediaDD
Device AllFiles No No No No See below
Manufacturer DRM
Capabilities TCB
UID for Symbian applications
• Each process has a unique identifier (UID)
• Can be obtained from Ovi Store Symbian
Signing Service (or Symbian signing)
• No cost included
• Defined in the applications .pro file
symbian {
#application UID here
TARGET.UID3 = 0x21234567
}
• For testing you can use any UID starting with 0xE, user
capabilities and self signing
Figuring out the capabilities
• Majority of Qt applications will manage with
the user and system capabilities.
– With few known exceptions, f.ex Bearer Mgmt APIs
certain use cases require NetworkControl
vendorinfo = \
"; Localised Vendor name" \
"%{\"Nokia, Qt\"}" \
""\
"; Unique Vendor name" \
":\"Nokia, Qt\"" \
""
examples_deployment.pkg_prerules += vendorinfo
DEPLOYMENT += examples_deployment
isEmpty(ICON):ICON = $$PWD/qt.svg
Symbian platform security – “how to” in Qt
• Everything you need in a Symbian OS MMP file, can be defined in the Qt
.pro file
– Symbian-specific extensions should be defined inside a special block as
shown below
TARGET = HelloWorld // Not Symbian-specific
TEMPLATE = app // Not Symbian-specific
symbian {
// LIBS-keyword as such is not Symbian-specific, but bitgdi library is
LIBS += -lbitgdi
ICON = ./images/myIcon.svg
TARGET.UID2 = 0x100039CE
TARGET.UID3 = 0xA000017F
TARGET.SID = 0xA000017F
TARGET.VID = 0x70000001
TARGET.CAPABILITY = NetworkServices Location
// Qt app stack typically larger than 8kb
TARGET.EPOCSTACKSIZE = 0x5000
// Min 128Kb, Max 16Mb
TARGET.EPOCHEAPSIZE = “0x20000 0x1000000”
}
• This way the same .pro file would potentially work in other
environments as well
2
Platform security & signing summary
Details
•Tool called Smart Installer for Symbian devices
•Comes with Nokia Qt SDK
•A small binary to be packaged together with the Qt application targeted for Symbian devices
•The Smart Installer will download OTA the needed Qt & Mobility version to the handset if it is not
already present
Tools & SDKs – Smart Installer
your_app.sis
1
Adm
3
2 Deps
Check
4
Qt
+Webkit
+Mobility
http://tinyurl.com/SmartInstaller
It can be big download…
But as we go forward more
and more devices have Qt
preinstalled
http://bugreports.qt.nokia.com/browse/QTBUG-13897
Patching continues…
• Locate the UID from installers pkg file
; SIS header: name, uid, version
#{"collidingmice installer"},(0xA000D7CE),1,0,0
• Change the UID to 0x2002CCCF (smart installer
UID)
#{"collidingmice installer"},(0x2002CCCF),1,0,0
• Set the vendor name to both packages
; Localised Vendor name
%{"Vendor"}
; Unique Vendor name
:"Vendor"
2.5
Million
30 91
downloads daily Languages operators
• http://www.forum.nokia.com/Distribute/Ovi_Store_guidelines.xhtml
• https://publish.ovi.com/register/
Publish to Ovi - registration
• file:///C:/presentations/Qt_dev_days_2010/symb
ian/Register_and_publish.htm
Ovi Store Symbian Signing Service
Registering :
Publishing:
1. Ovi Publisher packages the SIS file using the UID provided and tests on their device making sure
is tested against Symbian Signed test criteria
2. Ovi Publisher submits their app to the intake tool
3. QA will test the app based on Nokia content and store guideline, specific operator guideline and
Symbian Signed test criteria. If it passes, it will be express signed by Nokia and published into
Ovi Store
http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml
Publishing summary
• Use smart installer for symbian
• Best resource is
http://developer.symbian.org/wiki/index.php/Using_Qt_and_Symbi
an_C%2B%2B_Together
– Based on http://qt.nokia.com/files/pdf/whitepaper-using-qt-and-
symbian-c-together/view
• Other resources:
– For guidance on maemo see the maemo for mobile document in
http://wiki.forum.nokia.com/index.php/Qt_for_Maemo_Developers_Guide
• LibLocation
• LibCityinfo
• MCEDev
• ICD2
Using platform specific Tools with
Qt
Symbian – platform security
demo1
for
for
consumers in …..
…And enter for a chance to win a share of
$4M in cash, nearly $6M in marketing
prizes, and 500 Nokia Symbian devices –
the biggest single developer competition
ever
Free Qt Hands-on for N8
Workshops
Location Date For more details visit:
http://www.callingallinnovators.com
Silicon Valley Nov 9-10 /10m/events_and_training.aspx
• http://www.forum.nokia.com/Develop/Qt/
• http://doc.qt.nokia.com/4.6/qmake-platform-notes.html#symbian-platform
• http://qt.gitorious.org/qt/pages/Qt463KnownIssues
• http://qt.gitorious.org/qt/pages/SymbianFAQ
• http://developer.symbian.org/wiki/index.php/Using_Qt_with_Standalone_SDKs
• http://developer.symbian.org/wiki/index.php/Qt_&_Symbian_Platform_Security
• http://developer.symbian.org/wiki/index.php/Using_Qt_and_Symbian_C%2B%2B_Together
• http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470750103,descCd-tableOfContents.html