iOS 4 application se bloque au démarrage sur iOS 3.1.3: Symbole non trouvé: __NSConcreteStackBlock

Je suis sous Xcode 3.2.3 avec le SDK iOS 4.0. J'ai construit mon application avec Base SDK = iphoneos4.0, Active SDK = iphoneos4.0, le Déploiement Target = 3.1.3, et l'Architecture = standard (arm6 arm7). Compilateur = GCC 4.2. Si je comprends bien, ce est la bonne façon de construire une application pour iOS 4 et 3.

L'app fonctionne très bien sur les appareils équipés d'iOS 4. Mais il bloque au démarrage lorsque vous essayez de l'exécuter sur un appareil avec iOS 3.1.3 (un iPod Touch 1G):

dyld: Symbol not found: __NSConcreteStackBlock
  Referenced from: /var/mobile/Applications/192B30ED-16AC-431E-B0E9-67C1F41FD5DA/MyApp.app/MyApp
  Expected in: /usr/lib/libSystem.B.dylib

Il semble être un problème assez "bas niveau" liées de manière dynamique de la bibliothèque, AVANT que ma fonction main() obtient même appelé. J'ai même essayé de re-démarrage de l'appareil, etc., avec pas de chance. Voici une partie de la la de crash:

Process:         MyApp [60]
Path:            /var/mobile/Applications/192B30ED-16AC-431E-B0E9-67C1F41FD5DA/MyApp.app/MyApp
Identifier:      MyApp
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2010-07-22 17:16:17.942 -0400
OS Version:      iPhone OS 3.1.3 (7E18)
Report Version:  104

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x00000001, 0xe7ffdefe
Crashed Thread:  0

Dyld Error Message:
  Symbol not found: __NSConcreteStackBlock
  Referenced from: /var/mobile/Applications/192B30ED-16AC-431E-B0E9-67C1F41FD5DA/MyApp.app/MyApp
  Expected in: /usr/lib/libSystem.B.dylib
  Dyld Version: 149

Binary Images:
    0x1000 -    0x80fff +MyApp armv6  <d5f0ff6f233b4b034c222c16438c88d9> /var/mobile/Applications/192B30ED-16AC-431E-B0E9-67C1F41FD5DA/MyApp.app/MyApp
0x2fe00000 - 0x2fe26fff  dyld armv6  <544395a4b5546114b878d5131a84fd7f> /usr/lib/dyld
0x30410000 - 0x30536fff  libSystem.B.dylib armv6  <0373fd64e915a17160732b29d343f95f> /usr/lib/libSystem.B.dylib

Merci pour les conseils!!!

  • Êtes-vous à l'aide de toute l'iOS4 seulement des cadres (ils devraient être faibles liés)?
  • Non, pas que je suis au courant. En fait, la dernière fois que l'application a été construit et testé avec SDK 3 et 3.1.3 de l'appareil, avant d'iOS 4 a même été publié. Je n'ai pas modifié le code ou les bibliothèques car alors-je suis juste en train de construire avec le SDK 4 pour la première fois et de tester sur iOS 4 + iOS 3.x.
InformationsquelleAutor Clint Harris | 2010-07-22