2010-01-15 10 views
1

J'essaie de faire fonctionner mon application sur un périphérique 2.2.1 malgré sa construction par rapport au SDK 3.1.2.Problèmes de construction pour iPhone OS 3.1.2 et 2.2.1

Le tableau ci-dessous présente mes résultats

Deployment |Base  |Device  |Result 
Target  |SDK   |Version  | 
-------------+------------+------------+------- 
3.1.2   3.1.2  3.1.2  Runs OK 
2.2.1   3.1.2  3.1.2  Runs OK 
2.2.1   2.2.1  2.2.1  Runs OK 
2.2.1   3.1.2  2.2.1  Builds OK, interrupt signal when run 

ligne n ° 3 prouve que rien de mon code est incompatible entre années sdk. J'ai sorti tout ce qui aurait besoin d'être faible pour tenter d'aller à la racine du problème.

L'interruption intervient rapidement après le démarrage du programme, mais pas immédiatement. Et le point où cela se passe est dans le code qui n'a jamais eu rien à voir avec les fonctionnalités 3.0

La ligne sur laquelle il s'arrête est une opération mathématique simple impliquant 4 flotteurs (ab)/(c/d), et il n'y a pas semblent être quelque chose de mal avec l'un de ceux. (Il est en C++)

Que pourrait provoquer un autre signal d'interruption dans ces circonstances?

Mise à jour:

Il semble que le point exact, il est interrompre le jette un U64 à un flotteur.

Répondre

0

ce qui a fini par se produire est que lorsque vous exécutez cette application ce cette configuration, tout à coup, il y a un problème en jetant un U64 à un flotteur ou double. Je suppose que le code de casting U64 a changé? Donc, il échoue seulement lorsque vous exécutez une version de l'os qui ne correspond pas à la SDK.

Quoi qu'il en soit la solution de contournement est de jeter le U64 à un unsigned int, puis à un flotteur. Bien sûr, je ne peux le faire que parce que je suis dans une situation où le numéro en question peut toujours entrer dans un int normal.

Questions connexes