Adakah yang tahu kalau itu mungkin, dan bagaimana, secara terprogram mengirim SMS dari iPhone
, dengan SDK / Cocoa Touch resmi?
ios
objective-c
cocoa-touch
sms
Nitin Gohel
sumber
sumber
tools->script editor
dan dalam permintaan POST gunakanMailApp.sendEmail
api untuk mengirim email ke nomor telepon. att adalah [email protected], tmobile adalah [email protected] Saya pikir (SEMUA GRATIS)Jawaban:
Batasan
Jika Anda dapat mengirim SMS dalam suatu program di iPhone, Anda akan dapat menulis game yang membuat orang-orang spam di latar belakang. Saya yakin Anda benar-benar ingin mendapatkan spam dari teman-teman Anda, "Cobalah game baru ini! Ini roxxers boxxers saya, dan Anda juga akan jadi roxxersboxxers.com !!!! Jika Anda mendaftar sekarang, Anda akan mendapatkan 3.200 RB poin !! "
Apple memiliki batasan untuk operasi panggilan dan pemanggilan SMS otomatis (atau bahkan sebagian otomatis). (Bayangkan jika gim tersebut memutar nomor 911 pada waktu tertentu)
Taruhan terbaik Anda adalah mengatur server perantara di internet yang menggunakan layanan pengiriman SMS online dan mengirim SMS melalui rute itu jika Anda membutuhkan otomatisasi lengkap. (yaitu, program Anda di iPhone mengirimkan paket UDP ke server Anda, yang mengirim SMS nyata)
Pembaruan iOS 4
iOS 4, bagaimanapun, sekarang menyediakan
viewController
Anda dapat mengimpor ke aplikasi Anda. Anda mengisi lebih dulu bidang SMS, maka pengguna dapat memulai pengiriman SMS dalam pengontrol. Tidak seperti menggunakan format url "SMS: ...", ini memungkinkan aplikasi Anda tetap terbuka, dan memungkinkan Anda untuk mengisi bidang ke dan ke badan . Anda bahkan dapat menentukan beberapa penerima.Ini mencegah aplikasi dari mengirim SMS otomatis tanpa pengguna secara eksplisit menyadarinya. Anda masih tidak dapat mengirim SMS sepenuhnya otomatis dari iPhone itu sendiri, itu memerlukan beberapa interaksi pengguna. Tapi ini setidaknya memungkinkan Anda untuk mengisi semuanya, dan menghindari menutup aplikasi.
Kelas MFMessageComposeViewController didokumentasikan dengan baik, dan tutorial menunjukkan betapa mudahnya mengimplementasikannya.
Pembaruan iOS 5
iOS 5 mencakup pengiriman pesan untuk perangkat iPod touch dan iPad, jadi sementara saya belum mengujinya sendiri, mungkin semua perangkat iOS dapat mengirim SMS melalui MFMessageComposeViewController. Jika ini masalahnya, maka Apple menjalankan server SMS yang mengirim pesan atas nama perangkat yang tidak memiliki modem seluler.
Pembaruan iOS 6
Tidak ada perubahan pada kelas ini.
Pembaruan iOS 7
Anda sekarang dapat memeriksa untuk melihat apakah media pesan yang Anda gunakan akan menerima subjek atau lampiran, dan lampiran apa yang akan diterima. Anda dapat mengedit subjek dan menambahkan lampiran ke pesan, di mana media memungkinkannya.
Pembaruan iOS 8
Tidak ada perubahan pada kelas ini.
Pembaruan iOS 9
Tidak ada perubahan pada kelas ini.
Pembaruan iOS 10
Tidak ada perubahan pada kelas ini.
Pembaruan iOS 11
Tidak ada perubahan signifikan pada kelas ini
Keterbatasan untuk kelas ini
Ingatlah bahwa ini tidak akan berfungsi pada ponsel tanpa iOS 4, dan itu tidak akan berfungsi pada iPod touch atau iPad, kecuali, mungkin, di bawah iOS 5. Anda harus mendeteksi keterbatasan perangkat dan iOS sebelum menggunakan ini pengontrol, atau berisiko membatasi aplikasi Anda ke 3G, 3GS, dan 4 iPhone yang baru-baru ini ditingkatkan.
Namun, server perantara yang mengirim SMS akan memungkinkan semua dan semua perangkat iOS ini untuk mengirim SMS selama mereka memiliki akses internet, jadi itu mungkin masih menjadi solusi yang lebih baik untuk banyak aplikasi. Bergantian, gunakan keduanya, dan hanya kembali ke layanan SMS online ketika perangkat tidak mendukungnya.
sumber
Berikut ini adalah tutorial yang tidak persis apa yang Anda cari:
MFMessageComposeViewController
.http://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-sms/
Pada dasarnya:
Dan tautan ke dokumen.
https://developer.apple.com/documentation/messageui/mfmessagecomposeviewcontroller
sumber
MFMessageComposeViewController *controller = ...
dalam blok if. (metode kelas tidak perlu memiliki instance untuk melakukan tes)http://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-sms/
mengatakan "502 Bad Gateway" di laptop saya. Mungkin tautannya rusak.#import <MessageUI/MessageUI.h>
di file header AndaMFMessageComposeViewControllerDelegate
&UINavigationControllerDelegate
IBAction
metode Anda mendeklarasikan instance dariMFMessageComposeViewController
saymessageInstance
[MFMessageComposeViewController canSendText]
dalam kondisi if, itu akan mengembalikan Ya / TidakDalam
if
kondisi lakukan ini:Setel tubuh pertama untuk Anda
messageInstance
sebagai:Kemudian tentukan penerima untuk pesan sebagai:
Tetapkan delegasi ke Pesan AndaInstance sebagai:
Di baris terakhir lakukan ini:
sumber
presentModalViewController:animated:
sudah usang; gunakanpresentViewController:animated:completion:
saja. Juga, ingatlah untuk mendefinisikan metode delegasi- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
jika Anda ingin tahu hasilnya.Anda dapat menggunakan
sms:[target phone number]
URL untuk membuka aplikasi SMS, tetapi tidak ada indikasi tentang bagaimana cara prefill isi SMS dengan teks.sumber
Salah satu sistem komunikasi antar-proses di MacOS adalah XPC. Lapisan sistem ini telah dikembangkan untuk komunikasi antar-proses berdasarkan transfer struktur plist menggunakan libSystem dan launchd. Bahkan, itu adalah antarmuka yang memungkinkan proses pengelolaan melalui pertukaran struktur seperti kamus. Karena faktor keturunan, iOS 5 memiliki mekanisme ini juga.
Anda mungkin sudah mengerti apa yang saya maksud dengan pengantar ini. Yap, ada layanan sistem di iOS yang menyertakan alat untuk komunikasi XPC. Dan saya ingin mencontohkan pekerjaan dengan daemon untuk pengiriman SMS. Namun, harus disebutkan bahwa kemampuan ini diperbaiki di iOS 6, tetapi relevan untuk iOS 5.0—5.1.1. Jailbreak, Private Framework, dan alat ilegal lainnya tidak diperlukan untuk eksploitasi. Hanya set file header dari direktori / usr / include / xpc / * yang diperlukan.
Salah satu elemen untuk pengiriman SMS di iOS adalah layanan sistem com.apple.chatkit, yang tugasnya meliputi pembangkitan, manajemen, dan pengiriman pesan teks pendek. Untuk kemudahan kontrol, ia memiliki port komunikasi com.apple.chatkit.clientcomposeserver.xpc yang tersedia untuk umum. Menggunakan subsistem XPC, Anda dapat membuat dan mengirim pesan tanpa persetujuan pengguna.
Baiklah, mari kita coba membuat koneksi.
Sekarang kami memiliki koneksi XPC myConnection diatur ke layanan pengiriman SMS. Namun, konfigurasi XPC menyediakan pembuatan koneksi yang ditangguhkan - kita perlu mengambil satu langkah lagi untuk aktivasi.
Koneksi diaktifkan. Tepat pada saat ini iOS 6 akan menampilkan pesan di log telepon bahwa jenis komunikasi ini dilarang. Sekarang kita perlu membuat kamus yang mirip dengan xpc_dictionary dengan data yang diperlukan untuk pengiriman pesan.
Sedikit yang tersisa: kirim pesan ke port XPC dan pastikan sudah terkirim.
Itu saja. SMS terkirim.
sumber
Tambahkan MessageUI.Framework dan gunakan kode berikut
Lalu:
dan metode delegasi -
sumber
Anda dapat menggunakan pendekatan ini:
iOS akan secara otomatis menavigasi dari aplikasi Anda ke halaman penyusun pesan aplikasi pesan. Karena skema URL dimulai dengan sms :, ini diidentifikasi sebagai jenis yang dikenali oleh aplikasi pesan dan meluncurkannya.
sumber
sumber
Ikuti prosedur ini
1. Tambahkan
MessageUI.Framework
ke proyek2. Impor
#import <MessageUI/MessageUI.h>
file .h.3. Salin kode ini untuk mengirim pesan
4. Terapkan
delegate
metode jika Anda mau.Jalankan Dan PERGI!
sumber
[self dismissViewControllerAnimated:YES completion:nil];
di dalammessageComposeViewController: didFinishWithResult:
metode panggilan balik. Kalau tidak hanya akan bertahan di sana.Ini adalah versi kode Swift untuk mengirim SMS di iOS. Harap dicatat bahwa ini hanya berfungsi di perangkat nyata. Kode diuji di iOS 7+. Anda dapat membaca lebih lanjut di sini .
1) Buat Kelas baru yang mewarisi MFMessageComposeViewControllerDelegate dan NSObject:
2) Cara menggunakan kelas ini:
sumber
Ada kelas di iOS 4 yang mendukung pengiriman pesan dengan isi dan penerima dari aplikasi Anda. Ini berfungsi sama dengan mengirim surat. Anda dapat menemukan dokumentasinya di sini: tautan teks
sumber
sumber
// metode panggilan dengan nama dan nomor.
}
// Metode untuk mengirim pesan
sumber
Jika Anda ingin, Anda bisa menggunakan kerangka kerja pribadi
CoreTelephony
yang disebutCTMessageCenter
kelas. Ada beberapa metode untuk mengirim sms.sumber
Gunakan ini:
sumber
Ini akan menjadi cara terbaik dan singkat untuk melakukannya.
sumber
Anda dapat menampilkan MFMessageComposeViewController, yang dapat mengirim SMS, tetapi dengan prompt pengguna (ia mengetuk tombol kirim). Tidak ada cara untuk melakukan itu tanpa izin pengguna. Di iOS 11, Anda dapat membuat ekstensi, yang bisa seperti filter untuk pesan masuk, memberi tahu iOS apakah itu spam atau bukan. Tidak ada lagi yang bisa dilakukan dengan SMS
sumber
Anda harus menggunakan MFMessageComposeViewController jika Anda ingin memperlihatkan pembuatan dan pengiriman pesan di aplikasi Anda sendiri.
Jika tidak, Anda dapat menggunakan metode Aplikasi bersama .
sumber