27 Aralık 2007 Perşembe

iPhone için Uygulama Geliştirmek

GÜNCELLEME (05/03/2009) : Aşağıda anlatılanlar eski versiyon (1.1.4 ve altı) iPhone'larda geçerlidir. Apple, 2.0 versiyonu ile birlikte uygulama geliştiricilere resmen bir uygulama geliştirme ortamı ve SDK sunmuştur. Bu konuda detaylı bilgiyi www.yazarbozar.com adresinde bulabilirsiniz.

iPhone'u üzerinde OS-X işletim sistemi bulunan bir bilgisayar olarak düşünüldüğünde native iPhone uygulamaları geliştirmenin tek yöntemi java desteği de olmayınca Objective C ile kod yazmak gibi görünmektedir. Yakın zaman önce adını duyduğum bir proje Javascript ile iPhone uygulaması geliştirmeye imkan tanımaktadır. Bu projenin adı Jiggy.

Jiggy, Javascript ile iPhone için native uygulama geliştirmek isteyenler için hazırlamış bir uygulama geliştirme platformu, proje henüz alfa aşamasında, birkaç deneme yapıp test etme şansına sahip oldum. Jiggy, WEB tabanlı bir IDE ve hızlı geliştirme için hazır kütüphaneler sunuyor.

Hazır kütüphaneler sayesinde,

  • iPhone’un dosya sistemine erişmek,
  • iPhone sensorlerinden data almak,
  • kullanıcı arayüzleri oluşturmak,
  • internet’ten herhangi bir adrese erişmek ve data çekmek/göndermek,
  • soket programlama yapmak
mümkün olabiliyor.

Kurulum gayet kolay,
  • Jiggy’i bu adresten indirip burada anlatıldığı gibi kurabilir ya da Installer’a http://jiggyapp.com/i adresini source olarak girip Installer ile kurabilirsiniz.
  • Jiggy’i iPhone’a kurduktan sonra çalıştırıyorsunuz.
  • Jiggy çalıştığında bilgisayarınızdan erişmek üzere size bir url veriyor olacak ayrıca güvenlik için bir kullanıcı ve şifre belirlemeniz isteyecek.

Geliştirme yapmak için,
  • Jiggy’i iPhone’da çalıştırdığınızda size verdiği url’i bilgisayarınızda tarayıcıya giriyorsunuz
  • Belirlediğiniz kullanıcı ve şifreyi giriyorsunuz.
Açılan sayfa ile iPhone’a bağlanmış oluyorsunuz, artık bu sayfadan yeni bir proje oluşturup geliştirme işine başlayabilir, istediğiniz zaman uygulamanızı çalıştırabilir, durdurabilirsiniz.


Dikkat edilecek en önemli konu bilgisayarınızın ve iPhone’nuzun aynı kablosuz ağ üzerinde olması gerekliliği.

Bu işe meraklılar için Jiggy Geliştiricileri grubunda ufak tefek örnek kod parçacıkları yayınlanmakta hatta bir satranç uygulaması bile şu an indirilebilir durumda, indirip kodları inceleyebilirsiniz.

Aşağıda solda satranç uygulamasının ekran görüntüsü var, sağdaki örnek uygulama ise iPhone'unun zemine göre konumunu (x,y,z düzlemine yaptığı açıları) ifade eden sensörlerden gelen veriyi gösteriyor:

26 Aralık 2007 Çarşamba

iPhone Mobil Operatörlerin de Yüzünü Güldürüyor

İngiltere'nin büyük Telekom Operatörlerinden biri olan O2'nin CEO'su Matthew Key, geçenlerde iPhone kullanan aboneleri ile ilgili bazı bilgiler paylaştı. Matthew Key'in verdiği bilgileri göre iPhone (EDGE) kullanan abonelerin %60'ı aylık 25MB'dan fazla veri alış verişinde bulunmakta.

O2 aboneleri ayda sabit €19.99 ödeyerek 25MB'a kadar veri alışverişi yapabiliyorlar. 25MB'ı geçtikleri her 1MB. için ise
€1 ödüyorlar. (O2 Data Tariff)

Bu tarifiye göre iPhone kullanıcılarının artması O2'nin çok işine geliyor. Çünkü klasik cep telefonları ile veri alış verişi yapan abonelerinin elinde 3G gibi, EDGE göre daha hızlı bir veriyolu olmasına rağmen, klasik abonelerin sadece % 1,8'i 25MB.'lık limiti geçiyorlarmış.

Mr Key is excited about how iPhone customers are turning out to have a big appetite for data services. About 60 per cent are sending or receiving more than 25MB of data a month, which is the equivalent of sending 7,500 e-mails.

By comparison, only 1.8 per cent of O 2 's other mobile customers on monthly contracts are consuming more than 25MB a month.
Mobil Operatörler yıllardır veri trafiğinin, ses trafiği gibi rağbet görmemesinden şikayetçiydiler. Belki de biz kullanıcıları şuçluyorlardı. Demek ki sorun biz de değilmiş :) Elimizin altında iPhone gibi kullanıcı ve internet dostu cihazlar olunca gayet güzel trafik yapıyormuşuz. iPhone ve benzeri mobil cihazlar çoğaldıkça veri trafiğinin giderek artacağı kesin.

23 Aralık 2007 Pazar

iPhone Yer Sorununa Çözüm

Kurduğunuz iPhone uygulamalarının sayısı artınca bir süre sonra
"Warning: You are running out of disk space. Please delete some photos or videos"
şeklinde uyarı mesajı almaya başlayacaksınız. Muhtemelen 8 GB'lık yerinizi henüz doldurmadığınız halde bu mesajı alıyorsunuz. Bu mesajın nedenini birazdan anlatacağım önce bu sorundan nasıl kurtulur bundan bahsedeyim.

Güncelleme (15 Mart 2008) : Installer'da, "Productivity" paketi altından yükleyebileceğiniz "BossTool" programı sayesinde yazının devamında anlatılan manuel işlemleri yapmaya gerek kalmadan yer problemini çözebilirsiniz hem de risk almadan:



Program içinde ingilizce "Font ve Zil Seslerini Uygulamalardan evvel taşımalısınız. (relocate) şeklinde bir uyarı da mevcut. Çok mecbur kalmadığınız sürece aşağıda anlatılan manuel işlemler ile disk problemini çözmeyin. Tavsiyemiz yukarıdaki uygulamayı kullanmanız.

BossTool'u çalıştırın ve "Free Disk Space" seçeneğine tıklayın:

Relocate Fonts : Fontları diğer diske taşır.
Relocate Ringtones : Zil Seslerini diğer diske taşır.
Relocate Applications : Uygulamaları diğer diske taşır.

BossTool ile taşıma işlemlerini yaptıysanız bu yazının devamındaki işlemleri yapmanıza gerek yoktur.


DİKKAT: Aşağıda dosya kopyalama, taşıma linkleme ve silme işlemleri yapılmaktadır. Unix/Linux tabanlı komutlara aşina değilseniz, bu işlemleri bir uzmana yaptırınız. Komutları yanlış yazmanız durumunda uygulamalarınız erişilmez duruma gelebilir. Aşağıdaki yorumlarda da görebileceğiniz gibi yazım hatalarından dolayı mağdur olanlar olmuştur.
  • Öncelikle hala kurulu değilse Installer programını kurmanız gerekiyor.
  • Installer programını kullanarak önce BSD Subsystem, sonra Term-vt100 programlarını kurmanız gerekiyor.
  • Term-vt100 programını çalıştırarak sırayla aşağıdaki komutları verin.
    1. cd /
    2. cp -pr Applications /private/var/root
    3. mv Applications Applications.old
    4. ln -s private/var/root/Applications /Applications
  • Bu noktada bir kontrol yapalım, aşağıdaki komutu yazın:
    1. ls -l Applications
  • Aşağıdaki gibi bir çıktı almalısınız:

  • Eğer böyle bir çıktı almıyorsanız, büyük ihtimalle önceki komutlarda bir hata yaptınız, aşağıdaki komutu verin ve herşeye daha dikkatli olarak baştan başlayın:
    1. mv Applications.old Applications
  • Çıktıyı yukarıdaki resimde göründüğü gibi alıyorsanız en sonunda aşağıdaki komutu verebilirsiniz.
    1. rm -rf Applications.old
Artık 8 GB'lık yeriniz bitene kadar uygulama kurabilirsiniz.

Peki neden bu mesajı alıyorsunuz?
iPhone'da disk0s1 ve disk0s2 isminde 2 adet mantıksal disk tanımlanmış durumdadır. Bunlardan bir tanesi 300 MB diğeri 7444 MB büyüklüğünde düzenlenmiş. 7444 MB'lık bölüm dosya sisteminde /private/var dizini için kullanılıyor ki tüm video, fotoğraf ve mp3'ler bu dizinin altında depolanıyor. Diğer 300 MB'lık bölümde ise uygulamalar, duvar kağıtları ve zil sesleri gibi Apple'ın büyüme ihtimali olmadığını düşündüğü dizinler yer alıyor. Bu nedenle uygulama sayısı arttıkça 300 MB'lık bölüm dolmaya başlıyor ve bir müddet sonra iPhone uyarı mesajı vermeye başlıyor.

Sorun nasıl çözüldü?
Kurduğunuz tüm uygulamalar küçük diskte yer alan /Applications dizini altına kurulur. Biz /Applications dizinini büyük diskte yer alan /private/var/root altına taşıyarak daha çok yer kullanma şansına sahip oluyoruz. iPhone'u kandırmak için ise eski /Applications dizinini ortadan kaldırıp yerine aynı isimde bir link oluşturuyor bu linke referans olarak ise yeni yerini veriyoruz.



Bu işlemlerin benzerinin anlatıldığı ingilizce bir bloga da bu adresten ulaşabilirsiniz:

http://www.iphonestalk.com/how-to-fix-low-disk-space-error-with-third-party-iphone-apps

t