iPhone'da programlı olarak nasıl SMS gönderilir?

Resmi SDK / Cocoa Touch ile iPhonedan programlı olarak bir SMS göndermenin mümkün olup olmadığını ve nasıl yapılacağını bilen var mı?

Kısıtlamalar

Eğer iPhone'da bir program içinde SMS gönderebiliyorsanız, arka planda insanlara spam gönderen oyunlar yazabileceksiniz. Eminim arkadaşlarınızdan spam almak istiyorsunuzdur, "Bu yeni oyunu deneyin! Benim boxxers'ımı coşturuyor, sizinki de öyle olacak! roxxersboxxers.com!!!! Eğer şimdi kaydolursanız 3,200 RB puanı kazanacaksınız!"

Apple'ın otomatik (hatta kısmen otomatik) SMS ve arama işlemleri için kısıtlamaları vardır. (Bunun yerine oyunun günün belirli bir saatinde 911'i aradığını düşünün)

En iyi seçeneğiniz, internette çevrimiçi bir SMS gönderme hizmeti kullanan bir ara sunucu kurmak ve tam otomasyona ihtiyacınız varsa SMS'i bu yolla göndermektir. (yani, iPhone'daki programınız sunucunuza bir UDP paketi gönderir, sunucu da gerçek SMS'i gönderir)

iOS 4 Güncellemesi

Ancak iOS 4 artık uygulamanıza aktarabileceğiniz bir viewController sunuyor. SMS alanlarını önceden doldurursunuz, ardından kullanıcı denetleyici içinde SMS gönderimini başlatabilir. Bu, "SMS:..." url biçimini kullanmanın aksine, uygulamanızın açık kalmasına ve hem to hem de body alanlarını doldurmanıza izin verir. Birden fazla alıcı bile belirleyebilirsiniz.

Bu, uygulamaların kullanıcı açıkça farkında olmadan otomatik SMS göndermesini engeller. Yine de iPhone'un kendisinden tam otomatik SMS gönderemezsiniz, bazı kullanıcı etkileşimleri gerektirir. Ancak bu en azından her şeyi doldurmanıza olanak tanır ve uygulamanın kapanmasını önler.

MFMessageComposeViewController]1 sınıfı iyi belgelenmiştir ve eğitimler uygulamanın ne kadar kolay olduğunu göstermektedir.

iOS 5 Güncellemesi

iOS 5, iPod touch ve iPad cihazları için mesajlaşma özelliğini içeriyor, bu nedenle henüz kendim test etmemiş olsam da, tüm iOS cihazları MFMessageComposeViewController aracılığıyla SMS gönderebilecek olabilir. Eğer durum buysa, Apple hücresel modemi olmayan cihazlar adına mesaj gönderen bir SMS sunucusu çalıştırıyor demektir.

iOS 6 Güncellemesi

Bu sınıfta değişiklik yok.

iOS 7 Güncellemesi

Artık kullandığınız mesaj ortamının bir konuyu veya ekleri kabul edip etmeyeceğini ve ne tür ekleri kabul edeceğini kontrol edebilirsiniz. Konuyu düzenleyebilir ve ortamın izin verdiği durumlarda mesaja ekler ekleyebilirsiniz.

iOS 8 Güncellemesi

Bu sınıfta değişiklik yok.

iOS 9 Güncellemesi

Bu sınıfta değişiklik yok.

iOS 10 Güncellemesi

Bu sınıfta değişiklik yok.

iOS 11 Güncellemesi

Bu sınıfta önemli bir değişiklik yok

Bu sınıfa ilişkin sınırlamalar

Bunun iOS 4 olmayan telefonlarda çalışmayacağını ve belki de iOS 5 dışında iPod touch veya iPad'de çalışmayacağını unutmayın. Bu kumandayı kullanmadan önce cihazı ve iOS sınırlamalarını tespit etmeli ya da uygulamanızı yakın zamanda yükseltilen 3G, 3GS ve 4 iPhone'larla sınırlama riskini almalısınız.

Bununla birlikte, SMS gönderen bir ara sunucu, internet erişimi olduğu sürece bu iOS cihazlarının herhangi birinin ve hepsinin SMS göndermesine izin verecektir, bu nedenle birçok uygulama için hala daha iyi bir çözüm olabilir. Alternatif olarak, her ikisini de kullanın ve yalnızca cihaz desteklemediğinde çevrimiçi bir SMS hizmetine geri dönün.

Yorumlar (8)

SMS uygulamasını açmak için sms:[hedef telefon numarası] URL'sini kullanabilirsiniz, ancak bir SMS gövdesinin metinle nasıl önceden doldurulacağına dair herhangi bir gösterge yoktur.

Yorumlar (2)

İsterseniz, CTMessageCenter sınıfını çağıran özel CoreTelephony çerçevesini kullanabilirsiniz. Sms göndermek için birkaç yöntem vardır.

Yorumlar (2)