İlk ve tek ücretli iOS uygulamamız Ebruli Osmanlıca Sözlük’ün son sürümündeki bazı teknik sıkıntılar nedeniyle epey kötü yorum almış bir developer olarak diğer işlerimden vakit ayırıp bu sorunlu versiyonu düzeltmeye karar vermiştim. Yılbaşında bu fırsatı değerlendirip kodu gözden geçirmiş, sorunlu yerlerin civatalarını sıkılaştırmıştım ama istediğim gibi olmamıştı. Araya bir de gâvurların noel tatili girince uygulamayı […]
Read MoreDeneme yanılma ile öğrendiğim küçük ama faydalı bir Xcode özelliğinden kısaca bahsedeyim; çok seveceğinize eminim. Xcode’da kodlama yaparken herhangi bir yerde #pragma mark Burası Kodun Falanca Kısımları İle İlgilidir gibi bir ibare yazarsanız Xcode’un üst kısmındaki “Jump Bar” (kodun ilgili kısımlarına hızlıca dalma için kullanılıyor) alanında fonksiyonlar sizin belirttiğiniz açıklamalarla birlikte yer alıyor. “#pragma mark” […]
Read MoreBir kaç haftadır evden çalışıyorum. Garip ama bazan bir işe konsantre olup bitirmek için ofis en kötü ortam olabiliyor. Evde daha az insan olduğu için etkileşim (goygoy) daha sınırlı kalıyor demek ki :) Bu yoğun tempoya hem mesai arkadaşım, hem de kuzenzadem olan genç developerlardan Hüseyin Kabil de dahildi. Sabahlara kadar o controller senin, bu […]
Read MoreGeçen yıl başladığım bir uygulamayı tamamlamaya niyetlendim. Uygulamanın bir kısmında RSS okumam icab ediyordu. Bunun için AFXMLRequestOperation kullandım fakat sürekli olarak “Expected content type” hatası verip listelediği application/xml, text/xml tiplerinden biri olması gerektiğini bağırıp durdu. Google’da aratınca öğrendim ki AFNetwork kütüphanesinde AFXMLRequestOperation.m dosyası içerisinde hangi xml dosya tiplerini kabul ettiğine dair yukarıdaki listenin tutulduğu bir […]
Read MoreBir önceki yazıda bahsettiğim kütüphanelerden QuickDialog‘u web sitesindeki yönergeleri defaatle tekrarladığım halde başarılı bir şekilde projeme dahil edemedim. Sürekli “#import <QuickDialog/QuickDialog.h> file not found!” deyip durdu. Forumlarda da çare bulamadım. Ofisteki bir arkadaşımın “CocoaPods‘la kurmayı deneyelim” demesiyle kolları sıvadık. Aslında bir önceki yazıda CocoaPods’dan da bahsetmiştim ama oraya yazdığım üzere CocoaPods’un sadece bu kütüphanelerin son […]
Read MoreGeçen ay (21 Nisan) Bahçeşehir Üniversitesi’nde yapılan Mobilist – Mobil Uygulama Geliştirme Konferansı’nda aldığım bazı notları kaynakları ile birlikte yayınlamak istiyorum. Konferans’da iOS konusunda Sarp Erdağ, Taylan Pince ve Emrah Ayanoğlu konuşma yaptılar. Bilhassa Sarp Erdağ (Hızlı iOS ve Mac uygulama geliştirme) ve Taylan Pince’nin (iOS ve XCode Üzerine Pratik Öneriler) sunumları çok ilgimi çekti. […]
Read MoreObjective-C’de iki ekran yani iki viewController arasında veri aktarmanın çeşitli yolları var. Eğer storyboard üzerinde A ekranından (AviewController) B ekranına (BviewController) segue (geçiş) tanımlanmışsa bu geçiş yapılmadan hemen önce – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender fonksiyonunu kullanarak B’nin bir değişkenine değer aktarabiliriz. Bunun için öncelikle BviewController.h dosyası AviewController.h dosyasında import edilir. Böylece B nesnesi A’da kullanılabilir. #import BviewController.h […]
Read Moreİki haftadır iPhone kursumuzla ilgili yazı yazamadık. Bunun en büyük nedeni kurs dışındaki işlerimizin aşırı yoğun olmasıydı. Kursdaki konular da giderek daha karmaşık hale geldiği için malesef yazacak vakit bulamadım. Bir ara screen-recording ile video şeklinde hazırlayayım dedim ama sessiz bir ortamda boşluğa konuşmayı beceremedim. Bir kaç popüler video blog inceledim, ama bana göre değilmiş. […]
Read MoreXCode’nizi güncellediğinizde Overview menüsünden eski sürüm iPhone’ların kalktığını görünce ümitsizliğe düşmeyin. XCode ekranında projenizin ana dosyasına çift tıklayarak Project Info penceresini açın. En üstteki Build sekmesine tıklayıp arama alanına “deploy” yazın. Gelen listede “IPhone OS Deployment Target” seçeneğini göreceksiniz. Burada istediğiniz iPhone sürümünü işaretleyebilirsiniz. Böylece eski iPhone cihazınıza uygulamayı gönderip testlerinizi yapmaya devam edebilirsiniz. Uygulamayı […]
Read More