2009-12-17 3 views
0

J'ai un programme C/C++ qui est un plugin Firefox. J'essaie de trouver la ressource numéro de version.Suivi du numéro de version dans OSX/xcode

Dans mon plist je: chaîne de versions Bundle, courte série de 5.09b et la version bundle à 1,0

Dans mon fichier .rsrc (oui, je suis toujours à l'aide des fichiers rsrc, il est pas ma faute.) ma vers ressource a une courte chaîne de 4,70

Quand je compile, la version du fichier .app est 5.09b

Quand je lance le programme, je fais:

CFBundleRef myAppsBundle = CFBundleGetMainBundle(); 
bundleVersion = (CFStringRef) CFBundleGetValueForInfoDictionaryKey(myAppsBundle, CFSTR("CFBundleShortVersionString")); 

CFStringGetCString(bundleVersion, verString, sizeof(verString), kCFStringEncodingMacRoman); 
printf("bundleversion is %s\n", verString); 

une d ça me donne 3.5.6. auparavant, il me donnait 3.5.5.

J'ai fait un tas de recherches dans mon code, et je ne trouve pas "3.5.5" n'importe où. Et le code ci-dessus fonctionne dans d'autres projets.

Répondre

4

3.5.6 et 3.5.5 sont justement les deux dernières versions de Firefox. Peut-être que depuis que vous construisez un plugin, vous prenez la version de Firefox avec cet extrait au lieu de la version de votre plugin comme vous vous attendez? Si c'est le cas, peu importe à quel point vous fudgez avec le numéro de version dans votre paquet, il ne va pas faire ce que vous voulez ...

+1

Oui. Votre plugin n'est probablement pas le bundle principal. –

+0

oh. mon. Oui. ça ... ça explique tout! Je me demande si je peux avoir accès à mon plist ... hrm ... eh bien, c'est une autre question. Merci! –

Questions connexes