2010-08-18 2 views
1

Je suis intéressé à tester mon application iPhone actuelle par rapport à une ancienne version du SDK (3.1.3). Je sais que je peux compiler mon code pour fonctionner sur cette version du SDK, mais je veux le tester pour m'assurer qu'il fonctionne toujours puisque j'utilise des API plus récentes et utilise des liens faibles pour continuer à fonctionner sur iOS plus ancien versions. Depuis la mise à niveau de XCode vers la dernière version, iOS 3.1.3 n'est pas une option à exécuter dans le simulateur iPhone. J'ai donc téléchargé une ancienne version de XCode et l'ai installée côte à côte dans le dossier /Developer/XCode Old. Mais quand j'essaie de compiler mon code et de l'exécuter dans l'ancienne version de XCode, cela étouffe sur le fait que le SDK ne reconnaît pas les symboles des nouvelles classes - même si elles sont faiblement liées. Existe-t-il un moyen d'exécuter mon application dans l'ancien SDK, afin que je puisse vérifier que cela fonctionne?Copies multiples de XCode - Test du code par rapport aux anciennes versions de l'iPhone SDK

J'ai également essayé de rétrograder l'iOS sur mon iPhone de test, mais cela n'a pas fonctionné. Apple, je suppose, rend très difficile de rétrograder l'iOS. ET je ne suis pas intéressé à jailbreaker mon iPhone pour me permettre de le déclasser pour me permettre de le tester. Pourquoi Apple rend-il si difficile de garder vos applications compatibles avec les anciennes versions de l'OS ??

Répondre

2

Existe-t-il un moyen d'exécuter mon application dans l'ancien SDK, afin que je puisse vérifier que cela fonctionne?

Non. Les bibliothèques doivent exister au moment de la liaison; faible liaison signifie simplement qu'ils n'ont pas besoin d'exister au moment de la charge (ou de la charge paresseuse).

La compilation avec un «SDK de base» plus ancien modifiera également ce qui est en cours de compilation, puisque __IPHONE_OS_MAX_ALLOWED (ou quel que soit son nom) sera différent. La chose analogue à faire serait de compiler contre 4.0, mais exécuter cette application dans le simulateur 3.1.3, sauf que cela ne fonctionne pas — Apple n'a que récemment ajouté la rétrocompatibilité dans leurs frameworks de simulateur.

Je demanderais simplement à quelqu'un sur 3.1.3 de tester. Il ne devrait pas être trop difficile d'obtenir un iPod Touch en cours d'exécution 3.1.3, et il devrait toujours y avoir beaucoup d'utilisateurs. Si vous avez eu un contact (email, twitter) avec vos utilisateurs, c'est une option.