iPhone etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
iPhone etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

Pazar, Aralık 15, 2013

XCode Bölüm 02 – Sınıflar ve Temel Yapılar

Merhaba,

Bir önceki yazımızda (XCode Bölüm 01) iOS platformunda uygulama geliştirebilmek için kullanılan XCode IDE ‘sine nasıl erişebileceğimizi ve platformun görsel olarak nasıl bir görüntüye sahip olduğunu, projeyi ve emulatörü nasıl çalıştırabileceğimize göz gezdirmiştik.

Bu yazımızda ise pratikte iOS programlanın sınıf dosyalarına ve mimari yapısına göz atıyor olacağız. Yeniden bir proje oluşturmuyor ve bir önceki örneğimizdeki Boş demo projesinden devam ediyorum.
Öncelikle proje içerisinde yer alan sınıf dosyalarının isimlerine göz atalım.

Sınıf Dosyaları (Class Files)

Boş demo projesini oluşturduktan / açtıktan sonra sol bölümde proje dosyalarını görebiliyoruz. (Visual Studio kullanan arkadaşlar var ise Solution Explorer bölümünün görevini yapmaktadır.)

Blogpost1

AppDelegate.h
AppDelegate.m

ViewController.h
ViewController.m

Main.StoryBoard
    Main_iPhone.StoryBoard
    Main_iPad.Storyboard

Şimdi dosyalara göz attığımız da; AppDelegate sınıflarında uygulama seviyesindeki (Application Level) konmutları ekleyebilir ve kullanabiliriz. Bu sınıflar iOS uygulamalarını temsil eder.

AppDelegete sınıfının .m ve .h dosyalarından oluştuğunu göreceğiz. Bu dosyalar C++ kullananlar var ise hatırlayacağınız üzere .h dosyalarında Header file ‘ları (referanslar gibi düşünebilirsiniz) çağırır. .m ise implementasyon (implementation) dosyalarını çağırır.

ViewController adından da anlaşılacağı üzere form üzerinde yer alan objelerin bulunduğu dosyalardır.

Bir de görsel olarak grafikle göstermek gerekirse alt kısımdaki gibi olacaktır.

your_xcode_project_app_flow

Peki AppDelegate ve ViewController dan bahsettik. Ancak Main.Storyboard dosyalarından bahsetmedik. Bu nedir?

StoryBoard

ViewController sınıflarından yararlanan ve görsel objelerimizin bulunduğu bölümdür. Uygulamanın görsel görünümü ile ilgili olarak nesneleri ekleyebileceğimiz, sonuçlarını görebileceğimiz bölümdür.

Main.StoryBoard, ViewController sınıfları ile yönetilebilir kodların kullanılması mümkündür.

Main.StoryBoard, XCode IDE‘sin de InterfaceBuilder alanında yer almaktadır. ViewController.h sınıfı ile referans dosyalarını ve hazırladığımız metodları kullanabilriz.

 

BlogpostPic03 

Görsel olarak görmek gerekirse alt kısımda yer aldığı şekilde olacaktır.
Form üzerine ekleyebileceğimiz kontroller ise IDE ‘nin sağ alt kısmında yer almaktaıdr. Sürükleyip bırakmanız yeterlidir. Form üzerine kontrolleri eklerken hizamaları konusunda IDE yardımcı olmaktadır.

BlogPostPic04

Peki, bu sınıflar birbirleri ile nasıl ilişkili diye aklımıza bir soru takılıyor. Bunu da alt kısımda yer alan basit akış şeması cevaplamaktadır.

your_xcode_project_classes

Şimdi bu kadar konuyu incelediğimizde kafamıza çok geleneksel ama bir o kadar da önemli bir soru takılıyor. Bu uygulamanın objeleri canlı ortamda nasıl çalışıyor.

Uygulamalarınız canlı ortamda diğer bir çok uygulamalar gibi bellek üzerinde oluşmaktadır. Uygulamanın hata vermesi durumunda bellekte kullanmış olduğu alanı serbest bırakmaktadır. Eğer multi tasking bir uygulama geliştiriyor iseniz ise uygulama arka planda bellek kullanmaya devam etmektedir. Ancak farklı uygulamalar ile bu belleği paylaşabilmektedir. (Güzel bir teknoloji :) )

Daha önceden uygulama geliştiriciler eklemiş oldukları referansları ve kullanmış oldukları bellekleri boşaltmak / serbest bırakmaları gerekmekteydi. Daha şu anda güncel kullandığımız IDE lerde otomatik olarak referansları sayıyor ve gerekli temizlik işlemlerini sağlıyor. Sadece projeyi oluştururken Automatic Reference Counting seçeneğinin seçilmiş olması gerekiyor.

Yazımızın burada sonuna geliyoruz. Objective C ‘inin gelişimini ve bunu başımıza kimler sarmış diye merak edenler için wikipedia da yer alan yazıyı okuyabilirsiniz. (Yazının dili Türkçe dir)

http://tr.wikipedia.org/wiki/Objective-C
Umarım yararlı olabilmiştir.

--

TT

C/C++ & Objective C – Yazımsal Benzerlikler

Merhaba,

Objective C ‘ye merak salmış bir çok kimse C ile arasındaki farkları merak etmiş ve incelemiştir. C ya da C++ tecrübesi olan kişiler ise aradaki basit farkları görmüştür.

En temel anlamda yazımsal farklılıklara alt kısımda yer alan görüntü ile sizde mükayese edebilirsiniz.

Ekran Resmi 2013-02-11 01.17.24

Aslında çok benziyor değil mi? :)

İyi günler dilerim.

--

TT

Pazar, Aralık 08, 2013

XCode Bölüm 01 – İlk Proje

Merhabalar,

 

Önemli Not: XCode öğreniyorum serisinin bu yazısı XCode 5 sürümü ile hazırlanmıştır.

Teknoloji gelişimlerini göz önüne aldığımızda mobil platformlar için geliştirilen uygulamaları dikkate almak gerekmektedir.

Mobile uygulama dediğimizde ise en çok kullanılam platform olarak iOS en plana çıkmaktadır. Bu yazımızda ve ilişkisel diğer yazılarımızda iOS için geliştirme platformu olan XCode ve Objective-C ‘i incelemeye çalışıyor olacağız.

Öncelikle uygulama geliştirebilmek için ihtiyacımız olanlara göz atıyor olalım.

En başta uygulamanın geliştirilebilmesi için MacOS işletim sistemine sahip olan bir bilgisayar ya da Virtual PC üzerinde bu işletim sisteminin kurulmuş olan bir işletim sistemi gerekmektedir.

Örnekleri geliştirecek ve deneyeceğimiz bilgisayar MacBook Pro 15¨ Late 2013 modelidir.

Eğer ki bir bilgisayara ulaşmak isterseniz; http://store.apple.com/tr/buy-mac/macbook-pro adresinde erişebilirsiniz.

Ürünlerin fiyatları eğer ki yüksek geldi ise ikinci el bir ürüne de (örn. mac mini) sahip olabilmeniz bütçesel açıdan da uygun olacaktır.

Geliştirmiş olduğunuz uygulamaları AppleStore ‘a ekleyebilmeniz için Developer Lisansa ihtiyacımız bulunmaktadır. https://developer.apple.com/programs/ios/ adresinden 99 dolar karşılığında lisansa erişebilirsiniz. (Safari için uygulama geliştirmek isterseniz developer lisansa ücretsiz edinebilme olanağımız vardır.

Farklı iki terim XCode ve Objective-C

Uygulama geliştirme yaptığım süre zarfında yaklaşık %95 oranında Visual Studio üzerinde uygulama geliştirmiş kalan kısmında ise Eclipse ile ilgilenmiş biri olarak ve yüksek ihtimalle bu blogu takip eden arkadaşlarımın/meslektaşlarımında yüksek ihtimallerle benzer platformalarda uygulama geliştirdiğimizi düşünüyorum.

Bu gerçeği göz önüne aldığımızda ise XCode geliştirme ortamı çok ama çok farklı gelecektir. Objective-C ise nispeten C/C++ ile uygulama geliştirmiş olan kişiler için daha basit ve tanıdık gelecektir.

XCode ‘i Tanıyalım

Öncelikle değinmek istediğim nokta XCode ücretsiz olarak sunulmaktadır. :)

Uygulamayı kurabilmek için MacOs işletim sistemi üzerinde yer alan AppStore uygulamasını çalıştırdılktan sonra ister en çok indirilen ücretsiz uygulamalar listesinden, isterseniz de aratarak kurulum ekranına erişebilirsiniz.

App_Store 

Yeni Proje Oluşturuyoruz

Yeni bir proje oluşturabilmek için öncelikle XCode uygulamasını çalıştırıyoruz.

pic_01 

Yeni proje oluştur dedikten sonra iOS proje şablonunu seçiyoruz.

pic_02 

Single View Application proje şablonunu seçiyoruz.

Not: Proje şablonları ile yapabileceklerimizi diğer yazılarımızda detaylı açıklıyor olacağım.

pic_03 

Proje adını girdikten sonraki adım da ilk XCode projemizi oluşturmuş bulunuyoruz. Şimdi iOS emulatörü çalıştırabilme kısmına geldik.

Editör ile hem iPhone 3.5 inch, iPhone 4 inch & Retina ekran hem de iPad için emulatörlerde projelerinizi çalıştırabilmeniz mümkündür.

pic_04

Çıkan sonucu görebilmek için çalıştır düşmesine basarak sonucu görebiliyoruz. Tabii ki boş bir emülatör :)

pic_05 

Telefonun bütün özelliklerine sahip bir emülatör ile karşılaşıyoruz. Bilgisayarınızın modeline göre çalışma performansı ile sorunlar yaşayabilirsiniz. Benim yaklaşık 4 senelik MacBookPro mda emülatör ‘ün çalışıp kendisini toplarması 5 saniye civarında sürüyordu. Yeni model bir pc ile saliseler içerisinde çalışmasını sağlayabilirsiniz.

Bu sayede XCode ile ilk projemizi oluşturmuş oluyoruz.

Bir sonraki yazımızda temel olarak sınıf yapısına değiniyor olacağız.

İyi günler dilerim.

--

TT

Salı, Haziran 22, 2010

iPhone OS4 Yayınlandı

iPhone, iPad ve iPod Touch cihazlarının yeni işletim sistemi olan OS4 dün gece itibariyle Türkiye kullanıcılarının hizmetine sunuldu. iTunes üzerinden sisteminizi güncelleyebilmeniz mümkündür.

Kameraya gelen zoom, multi tasking, klasörleme, iyileştirilmiş map v.b. özellikleri ile oldukça şık gözüküyor.

Eğer ki kullandığınız cihaz simlock ‘lı değilse, sorunsuzca indirip kullanabilirsiniz.

Not: iPhone 3g ve üzeri sürümlerinde çalışmaktadır.

Cuma, Haziran 18, 2010

Yine iTunes iPhone OS 4 için Hazır!

Apple yeni iTunes güncellemesini yayınladı. Artık güncellediğiniz iTunes'un sürümü 9.2. Yeni iTunes güncellemesi yapılan takviyelere bakıldığında daha çok iOS 4 ve iPhone 4'e hazırlık gibi görünüyor.
Özellikle iTunes 9.2, iOS 4 ve iPhone 4'e uyumluluk sağlıyor. Ayrıca iBooks 1.1 ile iPhone veya iPod touch'taki e-kitap okuma özelliklerinin senkronizasyonunu sağlıyor.
Ayrıca iTunes 9.2, iOS 4'teki yeni dosyalama özelliğini de destekliyor. Bu özellikle kullanıcı, uygulamalarını gruplara ayırabiliyor. Ayrıca iOS 4 kullanan iPhone'nunuz ya da iPod touch'ınız daha hızlı senkronize oluyor.
PC ya da Mac için iTunes 9.2'yi indirmek için Apple'ın sitesine gidebilirsiniz.

Çarşamba, Haziran 17, 2009

Apple iPhone 3.0 Yazılım Güncellemesi

Saat 20:00 civarında iPhone için version 3.0 güncellemesi kullanıcılara sunuldu. Kurmak isteyen arkadaşlar da iTunes üzerinden sistemlerine indirdikten sonra telefonlarına kurabilirler. Daha önceki yazılarımızda da bahsettiğimiz gibi MMS, Kopyala yapıştır ve daha bunun gibi istenen bir çok özellik telefona eklenmiş bulunuyor. 3.0 sürümü ile video kayıt özelliği de kazanıyor. Fakat bu özelliğe sahip olabilmek için iPhone 3G s ürününe sahip olmanız gerekiyor. Bu üründe performanstan kamera kabiliyetine kadar bir çok özelliği geliştirilmiş durumda. Ayrıca uygun fiyatı da düşünenler için iyi bir seçenek olacaktır.

Untitled

Herkese mutlu ve güzel günler diliyorum…

Cumartesi, Nisan 04, 2009

iPhone 3.0 ile MMS, Aktif Bluetooth, Kopyala Yapıştır Desteği ve Dahası

Apple, bugün tanıttığı ve önümüzdeki günlerde çıkarmayı planladığı yeni iPhone sürümü ile kullanıcılarını mutlu edecek haberler verdi. 3.0 sürümü ile birlikte, iPhone’lar kopyala/yapıştır ve MMS desteği, Bluetooth üzerinden veri aktarımı ve iPhone’un bilgisayarlara bağlanarak modem olarak kullanılması gibi beklenen bir çok yeni özellikler kazanıyor.

iphone3.0res

Yeni Sürüm ile Gelenler

Henüz Beta aşamasında olan ve Torrent’lere düşen 3.0 sürümünün önümüzde ki günlerde çıkması bekleniyor. Bu yeni sürümün şüphesiz en önemli özelliklerinden birisi Kopyala/Yapıştır özelliğinin olması. İnanılmaz rahatlık sağlayacak bu güzel özelliğin nasıl kullanılacağına buradan ulaşabilirsiniz.

Bildindiği gibi telefonlara jailbreak yapılarak 3.parti yazılımlar iPhone’da arkaplanda çalışabiliyordu. Fakat Apple bu işlemin batarya’yı çok kullandığını düşünerek, iPhone’un yeni sürümüne ”Push Notification“, yani uygulamaların Push ile birlikte yeni içeriği kontrol etmesini sağlayan bir özellik ekliyor. Arkaplanda uygulama çalıştırabilme özelliği, Apple’dan en çok beklenen özelliklerden birisiydi.

“3g Tethering” olan adlandırılan, bizim “3g Zinciri” dediğimiz bu yeni özellik ile birlikte, iPhone’un bilgisayarlara Bluetooth veya USB aracılığıyla bağlanırken, 3g şebekesi sayesinde modem görevi görüyor.

Ve MMS desteği geldi. iPhone 3.0 sürümü ile birlikte çok büyük eksikliklerden biri olan MMS desteği de sağlanmış oluyor.

Yeni sürüm ile birlikte gelen diğer bir güzel özellik Bluetooth üzerinden dosya aktarımı. Daha önceleri, iPhone’un Bluetooth özelliğini sadece destekleyen kulaklıklarla kullanabiliyorduk. Yeni sürüm ile birlikte, Bluetooth’a P2P desteği ekleniyor.

Bu özelliklerin yanı sıra telefon’da, e-posta’da ve takvim’de arama gibi özelliklerde geliyor.

iPhone 2.2.1′den 3.0′a Neler Değişiyor?

iphone3.0

Bu güzel özelliklerin yanı sıra iPhone’ların en büyük eksikliklerinden olan  Video kaydı ve Flash desteği bir başka bahar kalmış gözüküyor.

Cumartesi, Mart 08, 2008

iPhone SDK for Web Developers


Yes, you read it right. The iPhone SDK ist not just for Developers who want to develop native iPhone applications. It’s also for Web Developers who want to take the capabilities of the SDK to write code for their web apps. Apple did a fine work here enhancing Dashcode, the Environment for programming Dashboard Widgets on Mac OS X, with a new feature to directly build your web apps in Dashcode. In Conjunction with the iPhone Simulator you now can, preview, debug, optimize and build your web applications all in Dashcode. Apple also put online an introduction video into iTunes (note: you must have an ADC membership account) which describes new technologies like advanced JavaScript functions, native SVG support, CSS effects, offline data support, full screen mode and gesture events.

More information...

See you later...