Pengguna anonim
Lebih
Bagaimana untuk pemrograman mengirim SMS pada iPhone?
Apakah ada yang tahu jika itu's mungkin, dan bagaimana, untuk pemrograman mengirim SMS dari iPhone
, dengan resmi SDK / Cocoa Touch?
518
18
Pembatasan
Jika anda bisa mengirim SMS dalam sebuah program di iPhone, anda'akan dapat menulis permainan yang spam orang-orang di latar belakang. I'm yakin anda benar-benar ingin memiliki spam dari teman-teman anda, "Try out permainan baru ini! Itu roxxers saya boxxers, dan anda akan juga! roxxersboxxers.com!!!! Jika anda mendaftar sekarang anda'll mendapatkan 3,200 RB poin!!"
Apple telah pembatasan secara otomatis (atau bahkan sebagian otomatis) SMS dan panggilan operasi. (Bayangkan jika permainan bukannya menelepon 911 pada waktu tertentu di malam hari)
Anda bertaruh terbaik adalah untuk mengatur perantara server di internet yang menggunakan online layanan pengiriman SMS dan mengirim SMS melalui rute itu jika anda membutuhkan otomatisasi lengkap. (ie, program anda pada iPhone mengirimkan suatu paket UDP ke server anda, yang mengirimkan SMS nyata)
iOS 4 Update
iOS 4, namun, sekarang menyediakan
viewController
anda dapat mengimpor ke aplikasi anda. Anda prepopulate SMS ladang, maka pengguna dapat memulai mengirim SMS dalam controller. Tidak seperti menggunakan "SMS:..." format url, hal ini memungkinkan aplikasi anda untuk tetap terbuka, dan memungkinkan anda untuk mengisi kedua untuk dan tubuh bidang. Anda bahkan dapat menentukan beberapa penerima.Hal ini untuk mencegah aplikasi untuk mengirim SMS otomatis tanpa user secara eksplisit menyadari hal itu. Anda masih tidak dapat mengirim sepenuhnya otomatis SMS dari iPhone itu sendiri, itu memerlukan beberapa interaksi pengguna. Tapi ini setidaknya memungkinkan anda untuk mengisi segala sesuatu, dan menghindari penutupan aplikasi.
The MFMessageComposeViewController kelas didokumentasikan dengan baik, dan tutorial menunjukkan bagaimana mudahnya untuk melaksanakan.
iOS 5 Update
iOS 5, termasuk pesan untuk iPod touch dan perangkat iPad, jadi sementara aku've belum diuji ini sendiri, mungkin bahwa semua perangkat iOS akan dapat mengirim SMS melalui MFMessageComposeViewController. Jika hal ini terjadi, maka Apple menjalankan aplikasi SMS server yang mengirimkan pesan pada nama perangkat yang don't memiliki modem seluler.
iOS 6 Pembaruan
Tidak ada perubahan untuk kelas ini.
iOS 7 Update
Sekarang anda dapat memeriksa untuk melihat apakah pesan yang sedang anda gunakan akan menerima subjek atau lampiran, dan apa jenis lampiran itu akan menerima. Anda dapat mengedit subjek dan menambahkan lampiran ke pesan, di mana media yang memungkinkan.
Update iOS 8
Tidak ada perubahan untuk kelas ini.
Update iOS 9
Tidak ada perubahan untuk kelas ini.
iOS 10 Pembaruan
Tidak ada perubahan untuk kelas ini.
iOS 11 Pembaruan
Tidak ada perubahan yang signifikan untuk kelas ini
Keterbatasan untuk kelas ini
Perlu diingat bahwa ini tidak't bekerja pada ponsel tanpa iOS 4, dan itu tidak't bekerja pada iPod touch atau iPad, kecuali, mungkin, di bawah iOS 5. Anda harus mendeteksi perangkat dan iOS keterbatasan sebelum menggunakan controller ini, atau risiko membatasi aplikasi anda baru saja upgrade 3G, 3GS, dan iphone 4.
Namun, perantara server yang mengirim SMS akan memungkinkan setiap dan semua perangkat iOS ini untuk mengirim SMS selama mereka memiliki akses internet, sehingga mungkin masih menjadi solusi yang lebih baik untuk banyak aplikasi. Secara bergantian, gunakan kedua, dan hanya jatuh kembali untuk online layanan SMS bila perangkat doesn't mendukungnya.
Berikut adalah tutorial yang tidak persis apa yang anda cari untuk:
MFMessageComposeViewController
.http://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-sms/
Pada dasarnya:
Dan link ke dokumen.
https://developer.apple.com/documentation/messageui/mfmessagecomposeviewcontroller
#import <MessageUI/MessageUI.h>
di header fileMFMessageComposeViewControllerDelegate
&UINavigationControllerDelegate
IBAction
metode mendeklarasikan instance dariMFMessageComposeViewController
mengatakanmessageInstance
[MFMessageComposeViewController canSendText]
dalam kondisi jika, it'll kembali Ya/Tidakjika
kondisi ini:messageInstance
sebagai:messageInstance.tubuh = @"Halo dari Shah";
messageInstance.penerima = [NSArray arrayWithObjects:@"12345678", @"87654321", nil]; 3. Set delegasi untuk anda messageInstance sebagai:
messageInstance.messageComposeDelegate = self; 4. Di baris terakhir melakukan hal ini:
[self presentModalViewController:messageInstance animasi:YA];
Anda dapat menggunakan
sms:[target nomor telepon]
URL untuk membuka aplikasi SMS, tapi tidak ada indikasi tentang bagaimana untuk prefill SMS tubuh dengan teks.Salah satu sistem komunikasi antar-proses di MacOS adalah XPC. Sistem ini lapisan telah dikembangkan untuk komunikasi inter-proses yang didasarkan pada transfer plist struktur yang menggunakan libSystem dan launchd. Pada kenyataannya, itu adalah sebuah antarmuka yang memungkinkan pengelolaan proses melalui pertukaran struktur seperti kamus. Karena faktor keturunan, iOS 5 memiliki mekanisme ini juga.
Anda mungkin sudah mengerti apa yang saya maksud dengan pengenalan ini. Yap, ada sistem pelayanan di iOS yang meliputi alat-alat untuk XPC komunikasi. Dan saya ingin memberikan contoh bekerja dengan daemon untuk mengirim SMS. Namun, harus disebutkan bahwa kemampuan ini adalah tetap di iOS 6, tetapi relevan untuk iOS 5.0—5.1.1. Jailbreak Pribadi, Kerangka, dan ilegal lainnya tidak diperlukan alat untuk eksploitasi. Hanya set dari header file dari direktori /usr/include/xpc/* yang dibutuhkan.
Salah satu elemen untuk mengirim SMS di iOS adalah sistem layanan com.apple.chatkit, tugas-tugas yang termasuk generasi, manajemen, dan mengirim pesan teks singkat. Untuk kemudahan kontrol, telah tersedia untuk publik komunikasi port com.apple.chatkit.clientcomposeserver.xpc. Menggunakan XPC subsistem, anda dapat menghasilkan dan mengirim pesan tanpa user's persetujuan.
Nah, let's mencoba untuk membuat sambungan.
Sekarang kita memiliki XPC koneksi myConnection set untuk layanan pengiriman SMS. Namun, XPC konfigurasi menyediakan untuk penciptaan ditangguhkan koneksi —kita perlu mengambil satu langkah lagi untuk aktivasi.
Koneksi diaktifkan. Tepat pada saat ini iOS 6 akan menampilkan pesan di telepon log bahwa komunikasi jenis ini dilarang. Sekarang kita perlu untuk menghasilkan sebuah kamus yang mirip dengan xpc_dictionary dengan data-data yang diperlukan untuk pengiriman pesan.
Sedikit yang tersisa: mengirim pesan ke XPC port dan pastikan itu disampaikan.
Yang's semua. SMS yang dikirim.
Tambahkan MessageUI.Kerangka dan gunakan kode berikut
Dan kemudian:
dan delegasi metode -
Anda dapat menggunakan pendekatan ini:
iOS akan secara otomatis beralih dari aplikasi ke aplikasi pesan's pesan menulis halaman. Karena URL's skema dimulai dengan sms:, ini diidentifikasi sebagai jenis yang diakui oleh aplikasi pesan dan peluncuran itu.
Ikuti prosedur
1 .Tambahkan
MessageUI.Kerangka
untuk proyek2 . Impor
#import <MessageUI/MessageUI.h>
di .h file.3 . Copy kode ini untuk mengirimkan pesan
4 . Menerapkan
mendelegasikan
metode jika anda ingin.Jalankan Dan PERGI!
Berikut ini adalah Swift versi kode untuk mengirim SMS di iOS. Harap dicatat bahwa ini hanya bekerja pada perangkat nyata. Kode diuji di iOS 7+. Anda dapat membaca lebih lanjut di sini.
Ada kelas di iOS 4 yang mendukung pengiriman pesan dengan tubuh dan recipents dari aplikasi anda. Ia bekerja sama dengan mengirim e-mail. Anda dapat menemukan dokumentasi di sini: link text
//memanggil method dengan nama dan nomor.
}
//Metode untuk mengirim pesan
Jika anda ingin, anda dapat menggunakan pribadi kerangka
CoreTelephony
yang disebutCTMessageCenter
kelas. Ada beberapa metode untuk mengirim sms.Anda bisa menyajikan MFMessageComposeViewController, yang dapat mengirim SMS, tapi dengan pengguna prompt(dia keran tombol kirim). Ada cara untuk melakukan itu tanpa izin pengguna. Pada iOS 11, anda bisa membuat extension, yang bisa menjadi seperti filter untuk pesan masuk , mengatakan iOS baik itu berupa spam atau tidak. Tidak ada yang lebih banyak menggunakan SMS tidak bisa dilakukan
Ini akan menjadi yang terbaik dan cara singkat untuk melakukannya.
Gunakan ini:
Anda perlu menggunakan MFMessageComposeViewController jika anda ingin menampilkan menciptakan dan mengirimkan pesan dalam aplikasi anda sendiri.
Jika tidak, anda dapat menggunakan sharedApplication metode.