Apple'ın LLVM 4.2 derleyicisine (Temel SDK 6.1) karşı derlenmiş bir kitaplığım var. İçinde nesne aboneliği var.Objective-C nesne aboneliği, iOS5 ve GCC
Kitaplığımın tek bir yöntemle yalnızca bir sınıfı olduğunu düşünün. Yani yöntem yapar:
NSLog(@"****** preTests");
NSDictionary *dictTest = @{ @1 : @1 };
NSLog(@"Initialized Dictionary");
NSArray *arrayTest = @[ @1, @2, @3 ];
NSLog(@"Initialized Array");
NSLog(@"****** arrayTest[1] = %@", arrayTest[1]); // First use of subscripting
NSLog(@"****** dictTest[@1] = %@", dictTest[@1]);
Şimdi yeni bir proje oluşturmak ve bu kütüphane bağlantı başvurum temsilci, ben bu yöntemi diyoruz.. Bu uygulamayı
GCC LLVM 4.2 derleyicisiyle derledim. İyi derler ve bağlar.
Bu uygulama iOS 6+ üzerinde hatasız olarak çalışır. Bu uygulama, iOS 5’te "İlk abonelik kullanımı" (üstte) olarak kilitlenecek.
2013-07-03 09:15:51.050 GCCTest[167:707] -[__NSArrayI objectAtIndexedSubscript:]: unrecognized selector sent to instance 0x381fb0
Elma LLVM 4.2 derleyici ile derlemek ve normal olarak çalışacaktır.
objectAtIndexedSubscript:
myArray[0]
sözdizimsel şeker için tercüme benim anlaşılmasıdır.
Birisi neden iOS 5 ile Apple'ı değil de GCC ile bir çöküş gördüğümü anlamamda yardımcı olabilir mi? Sanırım bir yerlerde bazı makrolarla ilgisi var ... Kütüphanemdeki kodu değiştirmeden GCC ile çöküşe uğramadan mı?
Aygıtta veya simülatörde mi çalışıyorsunuz? – Monolo
@Monolo bir cihazda. Tam olarak 5.1.1 çalıştıran bir iPad 1. –
LLVM derleyicisini kullanamayacağınızın özel bir nedeni var mı? –