ARC forbids explicit message send of 'retain'

15. Ocak 2012

Selamlar

ARC (Automatic Reference Count)  XCode 4.2 ile gelen yeni bir özelliktir. Bu yeni özellik, eski library'leri projenize eklediğinizde, projenin derlenmesini engellemektedir. Bu derleme hatasını giderebilmek için ya library'nin kodunu güncelleyeceğiz yada derleyiciye bu library'i, derleme esnasın da ARC özelliğini uygulamamasını sağlamalıyız. Bu hatayı derleme esnasında aşağıdaki gibi görürüz.


 

Çözüm olarak projenin ARC'ye uyumsuz kodlanmış library'lerini derleyiciye bildirip,derlerken bu librarlerde ARC kullanmamasını bildirmemiz gerekir.  Aşağıdaki pencereleri takip edip double clickten yaptıktan sonra açılan pencereye -fno-objc-arc yazdığınızda sadece o library için ARC iptal edilecektir

 

ben aşağıdaki librarylerde ARC yi kapttığımda sorun çözülmüş oldu.

iOS, Objective-C, Tricks and Tips, XCode , , , , ,

iOS Simulatorunun Limitleri Nelerdir

4. Ekim 2010

Selam

Bu Yazıda Sizlere iPhone - iPad Simülatöründe neyi yapıp neyi yapamayacağımızı, simülatör üzerinde geliştirme yaparken dikkat etmemis gereken husuları birlikte inceleyeceğiz.

   Macintosh tabanlı iOS simülatörünü, Apple her yeni işletim sistemi çıkardığında güncellemektedir. Buna rağmen simülatör üzerinde geliştirme yaparken dikkate almaniz gereken en önemli husus simülatörün gerçek cihazlarla aynı performasta çalışmayacağıdır. Çünkü cihaz tamamiyle kendi kaynaklarını kullanırken ve bu donanımlar aynı cihaz serisine ailt olan tüm cihazlarda aynıyken (Ram miktarı, Cpu hızı, data yazma okuma hızı), Simulatorda üzerinde çalıştirdığınız Macintosh un hızına bağlı olarak farklılık göstermesi normaldir.

   Simülatör Macintosh üzerindeki framework ve kütüphaneleri kullanmaktadır. Sadece simülatör üzerinde test ve debug ettiğiniz bir uygulamada gerçek cihazda oluşabilecek bug ve sorunları göremeyebilirsiniz.

   Simülatörde pekçok donanım eksiktir.Simülatör üzerinde on board kamera veya hareket ölçer yoktur.Bağzı Macintosh laptoplarda bulunan hareket sensöründen alınan verler ile cihazdan alınan veriler kesinlikle örtüşmeyecektir Simülatörü kulalnırken bunu gözönünde bulundurunuz. Simülatörde titresimle ilgili işlemlerin sonuçları da alınamaz. Multitouch özelliği tam olarak verimli şekilde test edilemez.

  Simülatör üzerinde basic keychain security işlemleri desteklenmez. Bir Uygulama "Push Notification" için Apple'a kayıt olamaz. bu gibi işlemler ancak gerçek bir iPad yada iPhone üzerinde geliştirilebilir.

  Diğer bir fark ise ses sistemindedir. bu kısım simülatöre tam olarak entegre edilmemiştir.

  Yani simülatörün uygulama testi için önemli bir rol oynadığını söylemek mümkün değildir. Simülatör genellikle hızlıdır ve simülatörde programı yükleyip denemek genellikle daha kolaydır

  Herşeyi şöyle bir toparlarsak simülatör hoştur güzeldir kolay ve hızlıdır ama hiçbirzaman gercek cihaz testinin yerini tutmayacaktır.

iOS

iOS'ta Uygulama Geliştirmek için Temel Araçlar

27. Eylül 2010

Selam

iOS'ta Geliştirme yapabilmek için iOS Developer Program'larından birine kaydolmuş ve  Intel Tabanlı, Mac OS X'in güncel sürümünü kullanan bir bilgisayarada sahip olmanız gerekmektedir. Mümkünse iPad,iPhone yada bir iPod sahibi olmanızda testler esnasınada cihaz üzerindede test yapabilmek için oldukça faydalı olacaktır.Ücretli bir programa kayıt olmanız durumunda işlemler 24 saat ile 72 saat arası sürebilmektedir.

SDK'yı İndirmek

iOS Geliştirme Programlarından birine kayıtlıysanız http://developer.apple.com/iphone adresinden kullanıcı adı ve şifreniz ile sdk yı indirebilirsiniz şu anki güncel sürüm 3.2.4'tür ve 2-3 gb civarındadır. Bu SDK Sayesinde çeşitli geliştirme ,tasarım ve test araçlarına sahip olursunuz bu araçlardan bazılarından aşağıdaki aşağıda bahsedilecektir.

XCode

Xcode en önemli geliştirme aracıdır. Uygulama geliştirmeye güncelemeye yarayan intellisense desteği olan bir geliştirme editörüdür. bunun yanında Debug gibi temel işlevleride içermektedir.

XCode

Interface Builder

Interface Builder (IB) uygulamaların tasarımlarının yapılabildiği. Xcode da yazılan metod ve olaylara, tasarımdaki bileşenlerin bağlanmasını sağlayan görsel bir tasarım aracıdır.

Simulator

Simulator Uygulamalarınızı Macintosh üzerinde geliştirebilmenizi sağlayan sanal iPhone yada iPad olarak adlandırılabilir.

Instruments

Instruments yazılan uygulamaların bellek kullanımlarını ve performaslarını izleyebileceğiniz bir araçtır. Bu uygulamadan çıkaracağınız sonuçlar sayesinde daha verimli ram kullanan, daha az pil tüketen, sistem kaynaklarını daha verimli kullananan ve performaslı uygulamalar yazabilirsiniz. Uygulamanız ile ilgili performans ve zaman bazlı bazlı grafiklerin görüntülendiği birtakım modüllerin Sun Microsystems tarafından geliştirilen önemli bir araçtır.

 

 

 

SDK ile gelen toolllar bunlarla sınırlı değil ancak en önemlileri ve sık kullanacağımız araçlar bunlardır.

Hoşçakalın.

 

 

iOS, XCode , , , ,

iOS Developer Programları hakkında

24. Eylül 2010

Merhaba

iPhone yada iPad'e uygulama geliştimek için Apple' ın oldukça katı kuralları bulunmakta. Mutlaka Mac Os işletim sisteminde XCode Adında bir araçla Objective-C adında bir dil ile uygulama geliştirmek zorundasınız. Uygulamalarınızın AppStore'da ister bedava ister ücretli dağıtılabilmesi için iOS Development Programına katılıp yıllık 99$ ödeme yapmanız gerekmekte. Ama isterseniz 99$ ödemedende, iPhone yada iPad emulatöründe uygulama geliştirebilirsiniz ama bu uygulamaları AppStore'da yayınlamak için iOS Development Programına katılmanız şart! İş bununlada bitmiyor uygulamanızı Apple'a gönderiyorsunuz Apple mühendisleri uygulamanızı inceliyor test ediyor ve belirli kriterlere uyuyorsa AppStore da yayınlıyorlar. Aksi taktirde size geri dönüş yaparak burası olmamış düzeltiniz diyorlar. Uzun lafın kısası bu cihazlara uygulama geliştirmek pekte kolay olmayacak sanırım ama yinede deneyeceğim.

iPhone Development Programs

Apple bize bu konuda 4 farklı program sunmakta

1) Online Developer Program Bedava
2) Standard iPhone Developer Program  Yıllık 99$.
3) Enterprise iPhone Developer Program Yıllık 299$.
4) University iPhone Developer Program Bedava

Online Developer Program

Online Developer Program; Bedavadır iOS SDK'yı keşfetmek isteyen herkese hitap eder. Bu program ile Uygulamalarınızı sadece Simülatör üzerinde çalıştırabilirsiniz. bu hesap Uygulamalarınızı AppStore'da satmak yada ücretsiz dağıtmak için uygun değildir.Simülatör her nekadar gerçek cihazı temsil etsede, gerek hız gerekse diğer birtakım özellikler için uygulama geliştirdiğiniz bilgisayara bağımlıdır. iPad yada iPhone da bulunan Titreşim ve hareket sensörleri tam olarak simüle edilememektedir.

Standard Developer Program

Bu programda kayıt olabilmek için yıllık 99$ ödemeniz gerekmektedir. Bu program sayesinde uygulamalarınız gerçek cihazlarda test edebilir AppStore'a yüklenmesini sağlayabilirsiniz. Geliştirme esnasında 100 cihaza kadar AppStore'da yayınlamadan önce test amaçlı yükleme yapabilirsiniz. eğer daha fazla cihaza test amaçlı yükleme yapmak isterseniz bu program sizin için uygun değildir.

Enterprise Developer Program

Bu programa kayıt olabilmek için yıllık 299$ ödemeniz gerekmektedir. bu programda hedef kitle 500 yada daha fazla çalışanı olan şirketlerdir. Bu hesap sayesinde Şirketler için özel olan AppStore'da Yayınlayamayacağınız uygulamaları yazıp dağıtabilirsiniz. örnek x şirketinin stok takip sistemini. bu uygulama sadece o şirketteki personeli tarafından yüklenip kullanılabilir.

University Developer Program

Üniversitelere bedava sunulan bu program için üniversitenizin bu programa dahil olması gerekmektedir ençok 200 kişiye kadar takımlar kurulabilir. Bu programda Uygulamalar AppStore'a yüklenebilir

yukarıdaki programlara kayıt olmak için  http://developer.apple.com/iphone  adresine girmeniz yeterli.

 

 

iOS, XCode , , , , , ,