Archive for August, 2009

Minik ipuçları

iPhone SDK, uygulamalarınızın içerisinden telefon özelliklerine erişiminizi ciddi oranda kısıtlamaktadır. Aslında bir email göndermek, SMS göndermek veya bir telefon numarasını aramak haricinde çok da fazla olanağımız olmadığını söylemek yanlış olmaz.

iPhone’un bu özelliklerinden faydalanmak için URL şemalarından faydalanılır. Aşağıdaki örnek kodlarla bu işlemlerin nasıl yapıldığını görebilirsiniz.

Bir telefon numarasını uygulama içerisinden aramak:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://05320000000"]];

iPhone SDK 2.x’te mail göndermek için çok kısıtlı olanak sunuluyordu. Örneğin bir eklenti gönderemiyordunuz. iPhone SDK 3.x ile birlikte artık direkt uygulamanız içerisinden de mail gönderebilirsiniz. Aşağıdaki kod parçası eski usül tüm iPhone’larda çalışan versiyondur.

[[UIApplication sharedApplication] openURL:[NSURL
URLWithString:@"mailto:hebelek@abcd.com?subject=Deneme&body=ben bir
 deneme mesajim."]];

Eğer uygulamanız içerisinden SMS göndermek isterseniz bunun için de yine URL şemasından faydalanarak aşağıdaki kod parçasını örnek alabilirsiniz.

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:05320000000"]];

No Comments

iPhone’un Uyku Moduna Geçmesini Engellemek

nighttime-plus-01.jpg
Bazı uygulamalar, tabiatları gereği uzun süre ekranda bir şeyler gösterme zorunda kalabilirler. Bu süre dakikalar, saatler alabilir. Örnek vermek gerekirse NightTime adlı uygulamadaki gibi ekranda büyük bir saat gösterip saatlerce orada kalmasını istiyor olabilirsiniz. Bu gibi durumlarda iPhone’un uyku moduna otomatik geçmesi uygulamanızı tamamen işlevsiz bırakacaktır.

Bu sorunun üstesinden gelmek oldukça kolay. Yapmanız gereken tek şey

[UIApplication sharedApplication].idleTimerDisabled = YES;

kodundaki gibi idleTimer’ı disable etmekten ibaret.

No Comments

Rastgele Rakam Üretmek

iPhone uygulamanızda rastgele bir sayı üretmeniz gerektiğinde, Objective-C’de bu iş için özelleşmiş bir sınıf olmadığı için C dilinin imkanlarından yardım almalısınız. Yardım alabileceğiniz sınıfların bazıları: rand(), srand(), random(), srandom() and arc4random().

Şahsi tercihim arc4random() metodundan yanadır, çünkü diğer metodlarda olduğu gibi seed’leme ihtiyacı olmaması ve kendi kendisini initialize edebilmesidir.

// 0 ile 199 arasında bir rastgele sayı üretir.
int x = arc4random() % 200;

// 700 ile 1000 arasında rastgele bir sayı üretir.
int y =  (arc4random() % 701) + 700);

5 Comments