... Iphone Kategorisi

XCode’da Kod Tamamlama

Pazar, Ağustos 29th, 2010

XCode’un yapısı çok hoşuma gitmekle beraber diğer IDE’lere nazaran bir kusuru olduğunu düşünüyordum. Kod yazarken sizi zahmetten kurtarmak için en yakın ihtimali önceden sizin yazmak üzere olduğunuz ifadeye soluk bir renkle tamamlıyor. Siz “hah buydu” diyorsanız “tab” tuşuna basıp ifadeyi yazmış gibi oluyorsunuz, “yok bu değildi” diyorsanız yazmaya devam ediyorsunuz. Siz yazdıkça o en yakın ihtimali değiştirip önünüze koyuyor. Gayet iyi bir özellik ama diğer ide’lerde bu özellik daha gelişmiş oluyor. Genelde siz yazmaya başlar başlamaz, mesela değişkeninizi yazdıkdan sonra “.” işaretini koyar koymaz bir combo-box (aşağı açılır menü) çıkar ve siz orda tüm yazabileceğiniz ihtimalleri görürsünüz. Benim gibi acemi bir Objective-C geliştiricileri için XCode böyle bir özellik olması harika olurdu… Derken… Meğer varmış! Tesadüfen ifadeyi yazıp “.” koydukdan sonra ESC tuşuna basmasam görmeyecektim. Bir ömür böyle gidecektim. Ah Steve! İlla farklı olacaksın değil mi!

Yeni XCode ile Eski Sürüm iPhone’lar için Uygulama Yazmak

Pazar, Ağustos 29th, 2010

XCode’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ı yayınladığınızda da eski sürüm iPhone’ler problem yaşamazlar.

SDK’mı güncelledim simülatörüm karardı

Çarşamba, Ağustos 25th, 2010

iPhone SDK’nızı güncelledikden sonra uygulamalarınız ilginç bir şekilde simülatörde simsiyah bir ekranda çalışmakta ısrar ediyorsa saçınızı başınızı yolmayın, uygulamayı bu yeni sdk için baştan yazmayın. MainWindow.xib dosyasına çift tıklayın Intarface Builder’inizi açın. Window objesine tıklayıp Window Attributes ekranındaki Visible at Launch ve Full Screen at Launch seçeneklerinin ikisinin de işaretleyin. Sorununuz çözülecektir.

UITextField ve UITextView Kullanımında Klavyeyi Gizlemek

Pazartesi, Ağustos 23rd, 2010

Eğer UITextField kullanıyorsanız yazma işi bitince klavyeyi ortadan kaldırmak çok kolay. Aşağıdaki gibi bir fonksiyon yazıp (.h dosyasına tanımlamasını da eklemeyi unutmayın) view’ınızdaki UITextField objesinin “Did on End Exit” olayında (event) bu fonksiyonun çalışmasını sağlamalısınız.

- (IBAction)done:(id)sender{
[ornekTextField resignFirstResponder];
}

Eğer çok satırlı bir yazı alanı ihtiyacınız varsa UITextView kullanıyorsunuz demektir. UITextView’ın malesef “Did on End Exit” gibi bir tetikleyicisi olmadığı için yukarıdaki methodu burda kullanamıyorsunuz. Bu durumu düzeltmek için hoş olmasa da işe yarayan bir kaç yöntem var.

ToolBar kısmına mesela “Tamam” gibi bir buton ekleyip bu butona basıldığında yukarıdaki fonksiyonu çalıştırıp klavyeyi gizleyebilirsiniz. Ya da daha çok kullanılan bir metod olarak ekranda boş bir alana tıklandığında bu fonksiyonu çalıştırabilirsiniz. Aslında aynı şeyi tekrar ediyorum. Çünkü ekranda boş bir alana basmayı algılayabilmek için şöyle bir numara yapıyoruz. “Custom” tipinde bir buton oluşturup Layout menüsünden “Send to back” diyerek view’ın en arkasına gönderiyoruz ve bu butonun eniyle boyunu tüm view’ı kaplayacak şekilde genişletiyoruz. Böylece kocaman ve görünmez bir butonumuz oluyor. Bu butona basıldığında (Touch Down) yukarıdaki fonksiyonun çalışmasını sağlıyoruz. İşte hepsi bu :)

iPhone Uygulamanızda Status Barı Siyaha Çevirmek

Pazar, Ağustos 22nd, 2010

Eğer siz de benim gibi bunu görsel arayüzden beceremiyorsanız AppDelegate.m dosyasındaki applicationDidFinishLaunching fonksiyonunun içine şu koyu renkle yazılmış ifadeyi ekleyin:

-(void)applicationDidFinishLaunching:(UIApplication *)application{
[application setStatusBarStyle:UIStatusBarStyleBlackOpaque];

}

Diğer bir yol ise, projenizdeki ProjeAdi-Info.plist dosyasına şu satırları eklemek:

<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleOpaqueBlack</string>

iPhone Uygulama İkonundaki Parlaklık Efektini Kaldırma

Pazar, Ağustos 22nd, 2010

iPhone uygulamanızı hazırlarken özene bezene yaptığınız uygulama ikonunun üzerine otomatik olarak eklenen parlaklık (glossy) efektini beğenmiyorsanız kolayca kaldırabilirsiniz. Projenizdeki ProjeAdi-Info.plist dosyasını açarak “Icon File” alanına ikonunuzun adını kaydedin. Sonra bu dosyayı bir text editörü ile açıp aşağıdaki koyu renkli satırları ekleyin. Eğer ikon değişmemisse Xcode’un Build menusunden “Clean” seçeneğini çalıştırın.


<key>NSMainNibFile</key>
<string>MainWindow</string>
<key>UIPrerenderedIcon</key>
<true/>

</dict>
</plist>

C’ye başlamanın yaşı olmaz

Cumartesi, Ağustos 7th, 2010

Bilgisayarla ilk tanışmam 1993 yılında bir programcı vesilesiyle olduğu için o günden bu yana bilgisayar karşısında son kullanıcı olmakdan çok programcı olarak vakit geçirmişimdir. Bir yerden sonra programcılık artık hobi olmaktan da çıkıp mesleğim haline geldi.

17 yılda insan envai çeşit programlama dilini öğrenir aslında ama yapı itibariyle beğendiğim bir şeyden kolay kolay vazgeçemediğim için qbasic ile başladığım yolculuğa uzunca bir süre (2000′e kadar) Visual Basic ile devam ettim. Üniversitede internet ile tanışınca HTML’di, Javascript’ti, Perl’di, PHP’ydi derken o heyecanla masaüstü uygulamalardan kopup script dillere kaymış buldum kendimi. Profesyonel iş hayatına PHP geliştirici olarak girince bir daha kopamadım PHP’den.

Üniversitede bir kaç arkadaşımla beraber kendi kendimize C’ye başladığımızı hatırlıyorum, bir süre sonra arkadaşlar vazgeçince ben de bırakmıştım. İşte o gün bıraktığım C bugün tekrar karşıma çıktı.

Yıllardır script yazmakdan sıkılmış biri olarak kendimi mobil dünyanın -bilhassa iPhone’un- serin sularına atmak istiyorum, ama Objective C stilinde yüzemeyenler bu suda boğulup gidiyorlar. Bense stili bıraktım, daha yüzmeyi bile bilmiyorum malesef.

En çok ağırıma giden de gözümün önünde iPhone SDK’sının tüm komponentleri duruyor olmasına rağmen, içlerini dolduracak kodları nereye nasıl yazacağımı bilememek.

İnternetten çat pat indirdiğim örnekler sayesinde bir kaç uygulama yazıp AppStore’a koymayı başardım ama hepsi basit öğeler içeren uygulamalardı. Örneğin bir tablonun içini dataları veritabanından gelecek şekilde dolduramıyordum. Takıldığım yerlerde sosyal medyada yardım çığlıkları atıyordum ama #yay’dan başka cevap gelmiyordu.

Aslında bu devirde herşeyin çözümü nette var. Ama bu Objective C denen nane PHP’den sonra bana çok karışık geldi. Pratik olarak mevzuyu sökemedim malesef. Yaşlılık(!)

Bugün, yine derdime derman ararken, her zamanki gibi Türkçe kaynaklardan pek bir hayır gelmemesi üzerine İngilizce çözümlere bakıyordum ki cocoadevcentral.com sitesinin bu konuda eline kimsenin su dökemediğini öğrendim. Ben de bu siteden adım adım gitmeye karar verdim. Gel gör ki ilk adımda (http://cocoadevcentral.com/d/learn_objectivec/) “Eğer C bilmiyorsanız Objective C’ye başlamadan önce buyrun burdan (http://cocoadevcentral.com/articles/000081.php) C öğrenin) diye yazıyordu. Madem bir kere karar verdik, el mecbur uyacağız.

Ne demişler, C’ye başlamanın yaşı olmaaaz. (Daha demin dedim, başlığı yazarken).

TGRT-FM iPhone uygulaması güncellendi.

Perşembe, Mayıs 6th, 2010

TGRT-FM iPhone uygulamasının yeni sürümü AppStore’da. Bu sürümde yayın akışı bilgisi düzeltildi ve frekans listesi eklendi. Ayrıca info penceresi iyileştirildi..

Bahçeşehir Üniversitesi Öğrenci İşleri Sistemi iPhone’da

Perşembe, Nisan 22nd, 2010

Bahçeşehir Üniversitesi Öğrenci İşleri Sistemi -kısa adıyla ois- 19 Nisan itibari ile Apple AppStore’da yerini aldı. Adı her ne kadar “Öğrenci İşleri Sistemi” olsa da sadece öğrencilerin ve Öğrenci İşleri Müdürlüğü’nün değil akademik personelden idari personele tüm üniversite çalışanlarının kullandığı yaşayan, sürekli geliştirilen bir proje aslında bu. Hazırladığımız iPhone uygulamasında ise sadece öğrencilerin kullandığı kısım yer alıyor.

Uygulamada yer alan modüller

  • Duyurular
  • Belgeler (Transkript, Karne, Ders Programı, Final Programı, Finans Bilgileri)
  • Ders Seçme
  • Mesaj Sistemi

olmakla birlikte ilerleyen zamanla yeni modüller de eklenecek.

Ois sürekli yaşayan bir uygulama olduğu için en hızlı geliştirme olanağını sağlamak adına uygulamanın motorunu web tabanlı olarak hazırladık. Böylece devreye almak istediğimiz herhangi bir değişiklik için tekrar tekrar sürüm güncellemesi yapıp AppStore’a bildirmeye ve günlerce beklemeye gerek kalmayacak.

Ois’in bu yeni arabiriminde grafikerlerimizden Ertan Ceviz’in hünerlerini görüyorsunuz. Uygulamanın web tabanlı arkaplanını hazırlayan arkadaşımız Abdullah Uyulur ise şuan başka bir firmada çalışıyor.

Iphone OS 4.0 beta’dan 3.1.2 ya da 3.1.3′e geri dönmek..

Salı, Nisan 13th, 2010

Iphone’un yeni işletim sistemi iPhone OS 4.0 beta çıkınca “nasılsa developer olmak için 99 $’ı gözden çıkarmışız, bari fırsat verilmişken şu beta sürümü bir deneyelim” deyip de geri dönülmez yollara giren pişmanlardansanız bu yazı ilginizi çekebilir..

Aslında bir Iphone kullanıcısı değilim. Yazmaya çalıştığım bir kaç uygulamayı denemek ve AppStore’a göndermek için eşimin iPhone’unu ödünç alıyorum o kadar. Üzerinde deneysel çalışmalar yapmaya içim elvermiyor (anladınız siz onu). Dolayısı ile iTunes’da ne nerededir onu bile öğrenecek fırsatım olmadı :)

Iphone’un yeni OS 4.0 beta’sı çıkınca developerlara verilen haktan yararlanarak sürümü hemen güncelledik fakat gel gör ki hali hazırda AppStore gönderilmek için bekleyen uygulamayı bu iPhone OS 4.0′da denemek mümkün olmadı. Xcode “ben en fazla 3.1.3′ü biliyorum sana yeni Xcode lazım” dedi. Ona da razıydım fakat yeni Xcode’i kurmak için Mac’in 10.6 sürüm olması gerekiyordu, yani Snow Leopard. Hadi diyelim paraya kıydık (30 euro sanırım) imac’in zorlanma ihtimaline rağmen önce mac’i sonra Xcode’u güncelledik. Bu da işimize yaramayacaktı çünkü Xcode 4 beta’da sadece develop yani geliştirme işlemleri yapılabiliyor, distribute (dağıtım) işlemleri yapılamıyor.. Dolayısı ile upgrade bir çıkmaz yoldan ibaret.. Yapmamız gereken: DOWNGRADE!

(daha fazla…)