varsa build error vermesi için build settings alanında treat warnings as error alanını aktif yaparsak issuelar varken build olmaz.
print icerisine; #file, #function, #line yazarak detaylı log alabiliriz. Bunu error exception durumları için kod yazarken kullanabiliriz.
Uygulama crash olduğunda nedenini bulmak için debug konsolda reason: kısmı okunmalı.
Try catch yazılmayan blokta kod hata verirse, hata gerçekleşmeden hemen önce xcode crash başlangıcını bize gösterir.
Metodun adını bildiğimiz ancak nerelerde çağırıldığını bilmediğimiz zamanlarda kullanabileceğimiz kullanışlı bir yardımcıdır. Metodun adını verdiğimizde hangi sınıfta nerelerde hangi satırda hangi dosyada çağırıldığını bize navigator kısmında gösterir.
Konsol ekranımızda constraint error aldığımızda ve bunun hangi ui elemanına ait olduğunu bilmediğimizde expression kullanarak hemen saptayabiliriz.
Yazacağımız kod şu formatta olmalıdır:
ex [(UIView *) 0xMemoryAdres setBackgroundColor: [UIColor yellowColor]]
constraint error veren ui elemanının memory adresini vererek uiview tipine çevirir ve arkaplan rengini değiştirmiş oluruz, böylelikle göze görünür olmuş olur constraintsinde problem olan.
Ui elemanlarının arkaplan rengi olmalıdır, şeffaf olmamalıdır. Ui ekleyeceğimiz görseller arkaplanı şeffaf olmamalıdır.
Bir metodun kaç kez çağırıldığını konsolda çıktı olarak görmek istiyorsak, break point ekleyip metoda log message kısmına aşağıdaki formatı yaz:
%B was called %H times: @variable@
%B = metodun adını yazar %H = kaç kez çağırıldığını yazar @variable@ = işaretler arasına varsa değişken adı yazılır log mesajında gösterilmiş olunur.
Eklemiş olduğumuz breakpoint belli bir kondisyonda çalışmasını istersek:
Condition kısmına aşağıdaki formatta birden fazla kondisyon eklenebilir
x == 5 && y / 2 == 0
Temel olarak uygulamalarda kullanılabilecek instruments profil seçenekleri:
- Memory leaks
- Memory allocation
- Time profiler
Instrumentsi açtığımızda profillerin birbirleriyle benzer renkleri aynı kategoride olduklarını gösterir, renkler rastgele verilmemiştir.