众所周知,3版60自签名应用如果使用了与应用UID一样的非保护自签名UID作为上下文相关帮助文件的UID,那么就会出现“找不到帮助主题”的错误,因为在3版中上下文相关帮助文件不允许使用非保护UID。
Symbian OS的UID有严格区分:
受保护的UID :0x00000000 -> 0x7FFFFFFF,非保护的UID :0x80000000 -> 0xFFFFFFFF,
非保护的UID中0xA0000000 -> 0xAFFFFFFF用于自签名的应用,0xE0000000 -> 0xEFFFFFFF用于测试。
那么是否能够解决这个问题呢?可以!
首先,谈一谈之所以会产生这一问题的原因,可能是受到上下文相关帮助的2版例程Help Example的影响,开发者会使用与应用UID相近的UID作为上下文相关帮助文件的UID,这就导致3版自签名应用使用了非保护UID的帮助文件,自然会出错。(当然,对于使用受保护UID的应用不存在这个问题,这里说的是在3版中使用非保护自签名UID的自签名应用。)
其实,上下文相关帮助文件UID不必和应用UID一致,可以不同,这也就是解决这问题的方案:
使用非保护自签名UID作为自签名应用的UID,而使用受保护UID作为上下文相关帮助文件的UID。
也就是在程序中定义两个UID,例如:
TUid KUidHelpExampleApp = {0xAxxxxxxx}; //自签名应用UID
TUid KUidHelpFile= {0x0xxxxxxx}; //上下文相关帮助文件UID
这样就可以在3版60自签名应用中使用上下文相关帮助,此法在3版模拟器和真机上均运行正常。
No related wiki articles found