I've got a Tizen 2.3 mobile native app that I've submitted to the Tizen Store and got rejected. I somehow expected this as a first time submittal, so no hard feelings :)) Problem is: the explanation lacks even the basic pointers to help a developer to fix the issues before resubmitting the app to the store. The validation report says that there were 2 errors:
--- Error #1 ---
Defect ID = 2388775
Title = [Content] Invalid Configuration
Test Result:
[Defect]
Configuration file(config.xml or manifest.xml) is not valid.
[Test Procedure]
Check if the config.xml or manifest.xml is valid.
[Expected Result]
1.The config.xml file should be vaild in accordance with Tizen web application specification.
2.The manifest.xml file should be valid in accordance with Tizen native application specification.
That is very limited information, and nothing helpful at all. My manifest file looks like this:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="XXX.YYY.ZZZ" version="1.0.0">
<author email="XXX@YYY.com" href="http://XXX.YYY">XXXX YYY</author>
<description>XXXXX</description>
<profile name="mobile"/>
<ui-application appid="XXX.YYY.ZZZ" exec="XXX" multiple="false" nodisplay="false" taskmanage="true" type="capp">
<label>XXX</label>
<icon>XXX.png</icon>
</ui-application>
<privileges>
<privilege>http://tizen.org/privilege/packagemanager.info</privilege>
<privilege>http://tizen.org/privilege/systemsettings</privilege>
<privilege>http://tizen.org/privilege/network.get</privilege>
<privilege>http://tizen.org/privilege/camera</privilege>
<privilege>http://tizen.org/privilege/appmanager.launch</privilege>
<privilege>http://tizen.org/privilege/telephony</privilege>
</privileges>
<feature name="http://tizen.org/feature/screen.size.all">true</feature>
</manifest>
I've replaced some info with XXX, YYY and ZZZ, but please note that they all contain valid information about the publisher of the app, so that shouldn't be a problem at all. I've done a bit of RTFM, and my only guess about the issue would be that the manifest only lists "screen.size.all" feature, but not the individual screen size features besides that one. Should I add all screen sizes as features? I would be a bit surpised if that was an issue, since I've tested the app with multiple emulator screen configurations, and also on the Z1 device, and never had a problem installing the app. If that (screen size features list) is indeed the issue, then how come there is that HUGE inconsistency between what runs in both the emulator and an actual test device, but fails to run according to Tizen Store rules? Shouldn't then the emulator and the test device reject to install the package if the screen sizes are incorrectly featured in the manifest file?
--- Error #2 ---
Defect ID = 2388815
Title = [Installation Error] It's not able to install the application with 'Failed to install the app' POPUP. (3/3, 100%)
Test Result:
<Defect>
It's not able to install the application with 'Failed to install the app' POPUP. (3/3, 100%)
* Same as after 'Factory data reset'
<Procedure>
1. Download application
2. Check the POPUP
<Expected Results>
It should be able to install the application.
And there's a video attached to the report that clearly shows that the app fails to install. It asks for the necessary permissions, the user pushes the Accept button, and then it fails with the mentioned popup. Once again, this is a very odd issue, since I never experienced this issue when installing the app on the emulator and the Z1 device, although I relied on the SDK to deploy the app on the device. I of course tried to install the TPK package that I've submitted to the Tizen Store on the Z1, but it failed to install due to the permission setting bug in Tizen SDK 2.3.0_Rev2, as mentioned here:
https://developer.tizen.org/forums/native-application-development/failed-install-tpk-my-files
I've extracted the package and compressed it into a new ZIP archive, renamed it to .TPK, and it installed on the Z1 without any errors. How to find out what the problem is, when the submitted package installs fine on my Z1, but fails to install on a Z1 in the Validation Center? :) Or maybe the guys at the Validation Center are not aware of the permissions setting bug of the SDK? Or maybe during the validation process there's no automatic process to change the file permissions of the files in the TPK package, before performing a test on a real device?
Thanks,
Tamas