3 Mayıs 2013 Cuma

Delphi XE4 ile İlk iOS Uygulamamız


Merhabalar

Bugün birlikte ilk iOS uygulamamızı gerçekleştireceğiz. İlk önce gerekli yüklemeleri gerçekleştiriyoruz.


  1. İlk olarak Mac işletim sistemine ihtiyacımız var. Mac OS X Mountain Lion VMWare imajını VMWare'a yüklüyoruz.  (eğer macbook vb bir cihaza sahipsek bu işlemi geçebiliriz.)
  2. Apple developer üyesi değilsek ücretsiz olarak http://developer.apple.com/programs/register adresinden kayıt olmamız gerekiyor. 
  3. https://developer.apple.com/downloads adresinden XCode'un son sürümünü Mac işletim sistemimize kuruyoruz. Burada dikkat etmemiz gereken en büyük şey XCode'u, Applications klasörünün altına kurmamızdır. Başka bir klasöre kurarsak ilerki aşamalarda Delphi Mobile projemizi derlediğimizde "wrapper init failed: (null)" diye bir hata ile karşılaşacağız. 
  4. XCode'u açıyoruz ve XCode menüsünden General paneli içinde yer alan Downloads sekmesini seçiyoruz.
  5. Components sekmesinde göreceğimiz Command Line Tools seçerek Install diyoruz. Bu aşamada bizden developer network girişi yapmamızı isteyecektir. 
  6. http://altd.embarcadero.com/release/radstudio/11.0/PAServer/RADPAServerXE4.pkg adresinden son sürüm Platform Assistant'ı indirip Mac üzerine kuruyoruz.
  7. Platform Assistant uygulamamızı (Applications klasörüne yer alıyor) çalıştırıyoruz. Biraz bekledikten sonra bizden bilgisayar şifremizi isteyecektir (Mac’a oturum açarken girdiğimiz şifre). Şifreyi girip enter tuşuna basıyoruz. Artık Platform Assistan uygulamamız çalışıyor.
  8. Şimdi Delphi XE4'a dönüp Tools > Options > Environment Options > Connection Profile Manager sekmesine geliyoruz. Add buttonuna basarak Create a Connection Profile sihirbazını çalıştırıyoruz. Herhangi bir profil adı vererek Platform kısmından OS X'i seçiyoruz. Next buttonuna bastığımızda bizden Remote machine (IP address veya Makine Adı) isteyecektir. Buraya Platform Assistant programımızın kurulu olduğu Mac işletim sistemimizin adını veya ip adresini giriyoruz. Port standart 64211 gelecektir.  Password kısmına Mac işletim sistemimizin login şifresini giriyoruz. Test connection diyerek bağlantının sağlıklı kurulup kurulmadığını test ediyoruz ve ardından Finish buttonuna basıyoruz.
  9. Bu aşamada SDK'mızı kuracağız. Delph XE4 > Tools > Options > Environment Options > SDK Manager’ı seçerek Add buttonuna basıyoruz.
    Select a platform'a tıklayarak iOS Device'ı seçiyoruz. 
    Select a profile to connect otomatik olarak tanımlamış olduğumuz profil gelecektir. Başka bir profil kullanmak istiyorsanız burdan profilinizi değiştirebilirsiniz. 
    Select an SDK version kısmında iPhoneOS 6.1 son güncel sürüme tıklayarak OK buttonuna basıyoruz.
  10. Tekrar aynı işlemi yaparak bu sefer Select a platform yazan yerden OS X i seçiyoruz. Profilimiz otomatik olarak gelecektir. 
    Select an SDK version kısmından Command Line Tools'u seçerek Ok buttonuna basıyoruz.


Tüm kurulum aşamalarını bitirdik. Şimdi uygulamamızın Simülatörde çalışmasını sağlamak için Mac işletim sistemine geçiyoruz ve XCode'u çalıştırıyoruz.

Yukarıda XCode sekmesinin altında Open Developer Tools > iOS Simulator'u seçerek simülatörümüzü başlatıyoruz. 

Artık tüm aşamalar bitti ve ilk projemizi yapmaya hazırız.

Delphi XE4'e dönerek File > New > Other > Delphi Projects > Firemonkey Mobile Application seçiyoruz.

Örnek projemde yılların klasiği haline gelmiş Merhaba Dünya mesajımızı Merhaba iOS! olarak ShowMessage ile ekranda göstereceğiz.

Formumuza bir adet TButton yerleştiriyoruz ve Object Inspector'dan buttonun text özelliğine herhangi birşey yazıyoruz.


Button1 nesnemizin üzerine çift tıklayarak click event'ine gidiyoruz ve ShowMessage('Merhaba iOS!'); kodunu yazıyoruz.


 
Son olarak F9 tuşu ile projemizi build ediyoruz. Eğer yukarıdaki maddeleri eksiksiz tamamladıysanız projemiz sorunsuz bir şekilde çalışacaktır.

Mac OSX'e döndüğümüzde iOS simülatör üzerinde programımızın çalıştığını göreceğiz.


Saygılarımla...

25 yorum:

  1. Elinize sağlık, çok güzel açıklamışsınız, teşekkürler...

    YanıtlaSil
  2. Tesekkurler...

    Guzel bir dokuman olmus.

    Firedac ile ios uzerinde SQLite veritabanina baglanmak beni kanser etti :) Blank application secip baglantigimda sorun yok ama Navigation tepmlati secip ayni adimlari yaptigimda tabloyu bulamadigindan sikayet ediyor :)

    YanıtlaSil
    Yanıtlar
    1. Merhaba Sadettin Bey

      Öncelikle teşekkür ederim. Eski sürüm firedac kullanıyor olabilir misiniz? Eski sürümün iOS ile birçok sorunu var. Bir de FireDac 8.0.3.3291 sürümünde deneyin.

      Sil
    2. 8.0.3.3291 nolu surumu henuz yuklemedim. En kisa surede yukleyip deneyecegim.

      Ios uzerinde Firedac + iblite baglantisi yaptiniz mi acaba ?
      SQLite baglanti sorunu bir sekilde asiliyor ama SQLite' in turkce karakterlerle ilgili sikintisi var malesef.

      Sil
    3. TSQLConnection bileşenini kullanarak bağlandım FireDac ile henüz denemedim

      Sil
    4. reg_iblite.txt (IBLite)
      reg_ibtogo.txt (InterBase ToGo)

      bu dosyalar olmadigindan lisans uyrisi verip baglanmiyor :)

      Sil
    5. Evet lisans istiyor. http://cc.embarcadero.com/item/29408 adresten trial indirebilirsiniz.

      Sil
  3. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  4. Elinize sağlık hocam, daha çok türkçe döküman nerde bulabiliriz,
    İyi çalışmalar...

    YanıtlaSil
    Yanıtlar
    1. Malesef türkçe döküman yok denilebilecek kadar az.

      Sil
  5. Hocam elinize sağlık. Bu konuda ilk kez türkçe kaynağı burada gördüm. Teşekkür ederim. Delphi bilgim biraz olduğundan uygulama geliştirmekte sıkıntı yaşamadım çok şükür. Arada ufak tefek problemler çıksa da docwiki den hallettim. Bu arada docwiki öğrenmek isteyenler için de çok iyi bir kaynak olabilir. http://docwiki.embarcadero.com/RADStudio/XE4/en/Main_Page

    Bir sorum olacaktı benim. Uygulamayı similatorde çalıştırdım sıkıntısız. Bunu paket haline nasıl getireceğiz? iPhone'a yüklemek istiyorum fakat bununla ilgili detaylı bir kaynak bulamadım. Yardımcı olabilir misiniz acaba? Cihazım jailbreak'li olduğundan apple developer'a göndermeden de cydia üzerinden yükleyebilirim. Fakat dediğim gibi paket haline getiremedim.

    Çalışmalarınızı takip ediyorum. Umarım devam eder. İyi günler, iyi çalışmalar.

    YanıtlaSil
  6. Merhaba,
    Test icin Delphi XE4 kurdum, MAC uzerinde gerekli seyleri kurdum, PA Server ile baglaniyorum; "Connection Profile MAnage" uzerinden link kuruyorum ama "SDK Manager" ad "add" dedigim zaman "OSX" geliyor; "iOS" gelmiyor. Sebebi sizce ne olabilir?

    YanıtlaSil
    Yanıtlar
    1. Merhabalar,

      iOS'un gelmediği yer "Select a platform" kısmı mı? Yoksa "Select an SDK Version" kısmı mı

      Sil
    2. "Select a platform" kisminda iOS gelmiyor.

      Sil
    3. SDK Manager kısmında yer alan "Update Local File Cache" Butonuna tıklayarak tekrar dener misiniz?

      Ek olarak
      C:\Users\Kullanıcı Adı\Documents\RAD Studio\SDKs klasörünün altında hangi klasörler var yazar mısınız?

      C:\Users\Kullanıcı Adı\AppData\Roaming\Embarcadero\BDS\11.0 klasörünün altında iPhoneOS6.1.sdk dosyası mevcut mu?

      Sil
    4. "Update Local File Cache" eklemeden aktif degil.

      C:\Users\Kullanıcı Adı\Documents\RAD Studio\SDKs altinda
      "commandlinetools10.8.3.sdk"
      "MacOSX10.7.4.sdk"
      "MacOSX10.8.3.sdk" var sadece

      C:\Users\Kullanıcı Adı\AppData\Roaming\Embarcadero\BDS\11.0
      altinda "iPhoneOS6.1.sdk" dosyasi yok. bunlari nereden buluruz? XE4 ile kurulmadi bunlar

      Sil
    5. O zaman Xcode'unuza iOS sdk kurmamışsınız gibi gözüküyor. Çünkü yukarıdaki klasörün altında sdk ları remote machine yani XCode'unuzun kurulu olduğu mac sisteminden çekmektedir.

      Sil
    6. iOS Sdk, iOS 6 simulator, command line tools hepsi kurulu. Hala gelmiyor :( bulamadim nedenini

      Sil
    7. XCode > Preferences > Downloads > Components Command Line Tools (118.4 MB) install etmeniz ve herhangi bir simulator'un installed olması yeterlidir.

      XCode > Preferences > Locations > Command Line Tools comboboxu boş olmalıdır o kısmı da bir kontrol ediniz. Tüm bunlar düzgün olduğu halde sorun yaşıyorsanız, XCode kaldırıp son sürümü baştan kurunuz, Delphi kısmında ise Tools > Options > Connection Profile Manager kısmından yeni bir profil ekleyerek tekrar deneyiniz.

      Sil
    8. "XCode > Preferences > Locations > Command Line Tools comboboxu boş olmalıdır" o kisim bos degil. kurulu xcode surumu yaziyor ve bos secilmiyor.

      Sil
    9. Tamam o zaman ikinci yazdığımı uygulayın. XCode kaldırıp son sürümü baştan kurun.

      "Tüm bunlar düzgün olduğu halde sorun yaşıyorsanız, XCode kaldırıp son sürümü baştan kurunuz, Delphi kısmında ise Tools > Options > Connection Profile Manager kısmından yeni bir profil ekleyerek tekrar deneyiniz."

      Sil
    10. En sonunda çözdüm :) Benim Delphi XE4'den kaynaklanıyormuş. Bendeki ilk çıkan, iOS desteklemeyen bir sürümmüş. Son trial cektim düzeldi. İlk uygulamamıda yazdım. Paketlemeyi becerebilirsem yayınlayacağım.

      Sil
  7. Aydınlattığınız için teşekkürler

    YanıtlaSil
  8. Elinize sağlık, çok güzel ve açıklayıcı bir döküman olmuş.

    Ufak bir noktaya değinmek istedim, Test connection aşamasından önce, Mac üzerinden güvenlik duvarının kapatılması gerekmektedir.

    Güvenlik duvarını kapatmadan çalışmak isterseniz ;
    Ayarlar > Güvenlik ve gizlilik > Güvenlik duvarı seçenekleri
    bölümünden + ya basarak
    Önce Uygulamalar klasöründen RAD PAServer XE4.app eklenmeli
    sonra tekrar + ya basıp sonrasında Command+Shift+G tuş kombinasyonu ile /Applications/RAD PAServer XE4.app/Contents/MacOS girip açılan pencereden
    paserver uygulamasıda eklenmeli

    paserver tekrar başlatıldığında bağlantı kurulabilir.
    Teşekkürler

    YanıtlaSil
    Yanıtlar
    1. Hatırlatmanız için teşekkür ederim sizin de elinize sağlık.

      Sil