Quando provo a fare funzionare la mia applicazione nel simulatore iOS 4.3 (Xcode 4.2), mi schianto quando ho colpito @autoreleasepool {}, con:condizionale linking per @autoreleasepool
dyld: lazy symbol binding failed: Symbol not found: _objc_autoreleasePoolPush
mi sono guardato intorno, e ho vedere la soluzione alternativa è aggiungere libarclite_iphoneos.a
. Esiste anche una versione di questo per il simulatore come libarclite_iphonesimulator.a
.
Ho bisogno di aggiungere entrambe le librerie al mio progetto per farlo funzionare sia sul simulatore che sull'hardware. Ma qualunque cosa crei, si lamenta che l'altra libreria è per un'architettura non supportata.
Per esempio, la costruzione di simulatore:
ld: warning: ignoring file /Developer-4.2/Platforms/iPhoneOS.platform/
Developer/usr/lib/arc/libarclite_iphoneos.a, missing required architecture
i386 in file
Come posso risolvere entrambi questi allo stesso tempo? O dovrei limitarmi a utilizzare la vecchia sintassi NSAutoreleasePool
per ora?
Sembra essere un problema di clang poiché la modifica del compilatore nelle impostazioni di build per llvm-gcc-4.2 ha risolto il problema per me –
Penso che sia stato risolto da allora; Non l'ho incontrato da mesi. –