Bagaimana cara mengirim SMS pada iPhone secara terprogram?

526

Adakah yang tahu kalau itu mungkin, dan bagaimana, secara terprogram mengirim SMS dari iPhone, dengan SDK / Cocoa Touch resmi?

Nitin Gohel
sumber
di Ios 4 Anda dapat mengirim sms dengan kode tetapi masalahnya adalah aplikasi Anda akan ditutup
Pankaj Kainthla
Jika menggunakan SDK resmi bukan keharusan bagi orang lain, saya menulis posting ini untuk menunjukkan bagaimana melakukan ini menggunakan Twilio: twilio.com/blog/2016/11/…
Megan Speir
Anda dapat membuat spreadsheet google dari gmail Anda, membuat bidang yang Anda inginkan, kemudian lakukan tools->script editordan dalam permintaan POST gunakan MailApp.sendEmailapi untuk mengirim email ke nomor telepon. att adalah [email protected], tmobile adalah [email protected] Saya pikir (SEMUA GRATIS)
Coty Embry

Jawaban:

404

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 viewControllerAnda 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.

Adam Davis
sumber
12
Dan jika Anda membeli domain itu, saya tidak akan pernah bisa melihat Anda dengan cara yang sama lagi.
Adam Davis
79
Saya pikir ironis bahwa seseorang menandai posting ini sebagai spam. Baca yang tersirat, orang-orang!
Randolpho
2
-1 karena ini dibaca sebagai spekulasi. Juga, lihat jawaban Jus 'Wondrin' dan rydgaze tentang cara mengirim SMS dalam aplikasi.
Frank Shearar
8
@ Jujur - Diperbarui Langgan saya untuk mencerminkan fitur iOS 4 yang baru. Kata-kata plin-plan yang dihapus.
Adam Davis
13
Saya sangat menghargai Anda tetap memperbarui posting ini untuk versi iOS baru. :)
Ciryon
143

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:

MFMessageComposeViewController *controller = [[[MFMessageComposeViewController alloc] init] autorelease];
if([MFMessageComposeViewController canSendText])
{
    controller.body = @"SMS message here";
    controller.recipients = [NSArray arrayWithObjects:@"1(234)567-8910", nil];
    controller.messageComposeDelegate = self;
    [self presentModalViewController:controller animated:YES];
}

Dan tautan ke dokumen.

https://developer.apple.com/documentation/messageui/mfmessagecomposeviewcontroller

Daniel Amitay
sumber
masih, formulir SMS harus muncul. Ada cara mengirim latar belakang?
Raptor
5
Anda tentu dapat mengirim SMS di latar belakang menggunakan layanan seperti Twilio, tetapi jika Anda ingin mengirimnya dari nomor telepon pengguna, mereka harus menyetujui pesan melalui metode di atas.
Daniel Amitay
3
siapa pun yang menggunakan kode di atas mungkin ingin mempertimbangkan untuk meletakkan bagian MFMessageComposeViewController *controller = ...dalam blok if. (metode kelas tidak perlu memiliki instance untuk melakukan tes)
disinkronkan
Tautan tersebut http://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-sms/mengatakan "502 Bad Gateway" di laptop saya. Mungkin tautannya rusak.
Nikita Vlasenko
99
  1. Anda harus menambahkan MessageUI.framework ke proyek Xcode Anda
  2. Sertakan sebuah #import <MessageUI/MessageUI.h>di file header Anda
  3. Tambahkan delegasi ini ke file tajuk Anda MFMessageComposeViewControllerDelegate &UINavigationControllerDelegate
  4. Dalam IBActionmetode Anda mendeklarasikan instance dari MFMessageComposeViewControllersaymessageInstance
  5. Untuk memeriksa apakah perangkat Anda dapat mengirim penggunaan teks [MFMessageComposeViewController canSendText]dalam kondisi if, itu akan mengembalikan Ya / Tidak
  6. Dalam ifkondisi lakukan ini:

    1. Setel tubuh pertama untuk Anda messageInstancesebagai:

      messageInstance.body = @"Hello from Shah";
    2. Kemudian tentukan penerima untuk pesan sebagai:

      messageInstance.recipients = [NSArray arrayWithObjects:@"12345678", @"87654321",         nil];
    3. Tetapkan delegasi ke Pesan AndaInstance sebagai:

      messageInstance.messageComposeDelegate = self;
    4. Di baris terakhir lakukan ini:

      [self presentModalViewController:messageInstance animated:YES];
Najeebullah Shah
sumber
2
Catatan versi: presentModalViewController:animated:sudah usang; gunakan presentViewController:animated:completion:saja. Juga, ingatlah untuk mendefinisikan metode delegasi - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)resultjika Anda ingin tahu hasilnya.
Raptor
Silakan masukkan kode untuk diuji. @Najeebullah Shah di sini atau di github.
50

Anda dapat menggunakan sms:[target phone number]URL untuk membuka aplikasi SMS, tetapi tidak ada indikasi tentang bagaimana cara prefill isi SMS dengan teks.

millenomi
sumber
react-native-communications menggunakan & body = parameter untuk prefill teks saat membuka sms: targetphonenumber & body = textyouwanttoprefillwith untuk iOS
Doug Voss
Saya baru saja mencoba ini di iphone 8 saya, dan itu bekerja dengan baik ... terima kasih!
Brad Parks
Saya perlu mengirim sms ke nomor tertentu tetapi dengan teks tubuh yang sudah ditentukan (lebih dulu). Teks tubuh harus menjadi pilihan manual dari 4 opsi yang memungkinkan. Misalnya Aplikasi terbuka dan pop-up "pilih alasan". Kemudian 4 opsi tersedia. Berikutnya pengguna memilih salah satu dari 4 opsi ini dan kemudian SMS otomatis dikirim dengan teks sebagai pilihan pengguna. ada tip?
seralouk
25

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.

xpc_connection_t myConnection;

dispatch_queue_t queue = dispatch_queue_create("com.apple.chatkit.clientcomposeserver.xpc", DISPATCH_QUEUE_CONCURRENT);

myConnection = xpc_connection_create_mach_service("com.apple.chatkit.clientcomposeserver.xpc", queue, XPC_CONNECTION_MACH_SERVICE_PRIVILEGED);

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.

xpc_connection_set_event_handler(myConnection, ^(xpc_object_t event){
xpc_type_t xtype = xpc_get_type(event);
if(XPC_TYPE_ERROR == xtype)
{
NSLog(@"XPC sandbox connection error: %s\n", xpc_dictionary_get_string(event, XPC_ERROR_KEY_DESCRIPTION));
}
// Always set an event handler. More on this later.

NSLog(@"Received a message event!");

});

xpc_connection_resume(myConnection);

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.

NSArray *recipient = [NSArray arrayWithObjects:@"+7 (90*) 000-00-00", nil];

NSData *ser_rec = [NSPropertyListSerialization dataWithPropertyList:recipient format:200 options:0 error:NULL];

xpc_object_t mydict = xpc_dictionary_create(0, 0, 0);
xpc_dictionary_set_int64(mydict, "message-type", 0);
xpc_dictionary_set_data(mydict, "recipients", [ser_rec bytes], [ser_rec length]);
xpc_dictionary_set_string(mydict, "text", "hello from your application!");

Sedikit yang tersisa: kirim pesan ke port XPC dan pastikan sudah terkirim.

xpc_connection_send_message(myConnection, mydict);
xpc_connection_send_barrier(myConnection, ^{
NSLog(@"The message has been successfully delivered");
});

Itu saja. SMS terkirim.

isox
sumber
1
Anda seharusnya tidak menggunakan XPC untuk mengirim SMS. Aplikasi yang diproduksi tidak akan disetujui oleh Apple. Gunakan Kerangka MessageUI sebagai gantinya
Raptor
Jika Anda menggunakan techinique ini untuk aplikasi yang Anda gunakan untuk organisasi Anda, dan aplikasi tidak melalui app store, Anda tidak perlu khawatir.
Martin Berger
Apakah ini berfungsi pada versi iOS 10+?
Martin Berger
Mendapatkan "Kesalahan koneksi kotak pasir XPC: Koneksi tidak valid" di iOS 12
Martin Berger
23

Tambahkan MessageUI.Framework dan gunakan kode berikut

#import <MessageUI/MessageUI.h> 

Lalu:

if ([MFMessageComposeViewController canSendText]) {
  MFMessageComposeViewController *messageComposer =
  [[MFMessageComposeViewController alloc] init];
  NSString *message = @"Your Message here";
  [messageComposer setBody:message];
  messageComposer.messageComposeDelegate = self;
  [self presentViewController:messageComposer animated:YES completion:nil];
}

dan metode delegasi -

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller
             didFinishWithResult:(MessageComposeResult)result {
      [self dismissViewControllerAnimated:YES completion:nil];
 }
Bharat Gulati
sumber
hei itu hebat, tetapi bisakah kita melakukan fungsi ini dari latar belakang?
Raj
3
Apple tidak akan mengizinkan Anda mengirim pesan tanpa persetujuan pengguna. Dia harus mengirim pesan / surat dengan secara manual menekan tombol. Atau, Anda dapat menggunakan layanan khusus dengan mengirim email / nomor ke backend Anda dan kemudian mengirim. Meskipun Anda tidak dapat melakukan ini secara langsung di iPhone
Bharat Gulati
21

Anda dapat menggunakan pendekatan ini:

[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms:MobileNumber"]]


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.

Dinesh Reddy Chennuru
sumber
12
//Add the Framework in .h file

#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>

//Set the delegate methods

UIViewController<UINavigationControllerDelegate,MFMessageComposeViewControllerDelegate>

//add the below code in .m file


- (void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear:animated];

    MFMessageComposeViewController *controller = 
    [[[MFMessageComposeViewController alloc] init] autorelease];

    if([MFMessageComposeViewController canSendText])
    { 
        NSString *str= @"Hello";
        controller.body = str;
        controller.recipients = [NSArray arrayWithObjects:
                                 @"", nil];
        controller.delegate = self;
        [self presentModalViewController:controller animated:YES];  
    }


}

- (void)messageComposeViewController:
(MFMessageComposeViewController *)controller
                 didFinishWithResult:(MessageComposeResult)result 
{
    switch (result)
    {
        case MessageComposeResultCancelled:  
            NSLog(@"Cancelled");    
            break; 
        case MessageComposeResultFailed:
            NSLog(@"Failed");
            break;   
        case MessageComposeResultSent:      
            break; 
        default:  
            break;  
    }  
    [self dismissModalViewControllerAnimated:YES]; 
}
Rushabh
sumber
Anda akan melihat tautan ini: blog.mugunthkumar.com/coding/… itu akan membantu Anda
Banker Mittal
12

Ikuti prosedur ini

1. Tambahkan MessageUI.Frameworkke proyekmasukkan deskripsi gambar di sini

2. Impor #import <MessageUI/MessageUI.h>file .h.

3. Salin kode ini untuk mengirim pesan

 if ([MFMessageComposeViewController canSendText]) {
    MFMessageComposeViewController *messageComposer =
    [[MFMessageComposeViewController alloc] init];
    NSString *message = @"Message!!!";
    [messageComposer setBody:message];
    messageComposer.messageComposeDelegate = self;
    [self presentViewController:messageComposer animated:YES completion:nil];
}

4. Terapkan delegatemetode jika Anda mau.

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result{


   ///your stuff here 

    [self dismissViewControllerAnimated:YES completion:nil];
}

Jalankan Dan PERGI!

Tunvir Rahman Tusher
sumber
layak disebutkan bahwa Anda mungkin ingin menjalankan [self dismissViewControllerAnimated:YES completion:nil];di dalam messageComposeViewController: didFinishWithResult:metode panggilan balik. Kalau tidak hanya akan bertahan di sana.
SaltyNuts
5

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:

import Foundation
import MessageUI

class MessageComposer: NSObject, MFMessageComposeViewControllerDelegate {
    // A wrapper function to indicate whether or not a text message can be sent from the user's device
    func canSendText() -> Bool {
        return MFMessageComposeViewController.canSendText()
    }

    // Configures and returns a MFMessageComposeViewController instance
    func configuredMessageComposeViewController(textMessageRecipients:[String] ,textBody body:String) -> MFMessageComposeViewController {
        let messageComposeVC = MFMessageComposeViewController()
        messageComposeVC.messageComposeDelegate = self  //  Make sure to set this property to self, so that the controller can be dismissed!
        messageComposeVC.recipients = textMessageRecipients
        messageComposeVC.body = body
        return messageComposeVC
    }

    // MFMessageComposeViewControllerDelegate callback - dismisses the view controller when the user is finished with it
    func messageComposeViewController(controller: MFMessageComposeViewController!, didFinishWithResult result: MessageComposeResult) {
        controller.dismissViewControllerAnimated(true, completion: nil)
        }
}

2) Cara menggunakan kelas ini:

func openMessageComposerHelper(sender:AnyObject ,withIndexPath indexPath: NSIndexPath) {
    var recipients = [String]()

    //modify your recipients here

    if (messageComposer.canSendText()) {
        println("can send text")
        // Obtain a configured MFMessageComposeViewController
        let body = Utility.createInvitationMessageText()

        let messageComposeVC = messageComposer.configuredMessageComposeViewController(recipients, textBody: body)

        // Present the configured MFMessageComposeViewController instance
        // Note that the dismissal of the VC will be handled by the messageComposer instance,
        // since it implements the appropriate delegate call-back
        presentViewController(messageComposeVC, animated: true, completion: nil)
    } else {
        // Let the user know if his/her device isn't able to send text messages
        self.displayAlerViewWithTitle("Cannot Send Text Message", andMessage: "Your device is not able to send text messages.")
    }
}
Grandagile
sumber
3

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

Pankaj Kainthla
sumber
3
- (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSArray *)recipients
{
    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    UIImage *ui =resultimg.image;
    pasteboard.image = ui;
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:"]];
}
Mandeep
sumber
4
seberapa bermanfaat parameter Anda?
martinsurleweb
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: @ "sms:"]];
Amr Angry
3

// metode panggilan dengan nama dan nomor.

-(void)openMessageViewWithName:(NSString*)contactName withPhone:(NSString *)phone{

CTTelephonyNetworkInfo *networkInfo=[[CTTelephonyNetworkInfo alloc]init];

CTCarrier *carrier=networkInfo.subscriberCellularProvider;

NSString *Countrycode = carrier.isoCountryCode;

if ([Countrycode length]>0)     //Check If Sim Inserted
{

    [self sendSMS:msg recipientList:[NSMutableArray arrayWithObject:phone]];
}
else
{

    [AlertHelper showAlert:@"Message" withMessage:@"No sim card inserted"];
}

}

// Metode untuk mengirim pesan

- (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSMutableArray *)recipients{  
 MFMessageComposeViewController *controller1 = [[MFMessageComposeViewController alloc] init] ;
 controller1 = [[MFMessageComposeViewController alloc] init] ;
 if([MFMessageComposeViewController canSendText])
{
    controller1.body = bodyOfMessage;
    controller1.recipients = recipients;
    controller1.messageComposeDelegate = self;
    [self presentViewController:controller1 animated:YES completion:Nil];
 }
}
ALOK KUMAR
sumber
2

Jika Anda ingin, Anda bisa menggunakan kerangka kerja pribadi CoreTelephonyyang disebut CTMessageCenterkelas. Ada beberapa metode untuk mengirim sms.

jiwa baru
sumber
1
Dia secara khusus bertanya apakah ini mungkin menggunakan SDK resmi.
Quentamia
1
Bisakah Anda memberikan informasi lebih lanjut tentang api pribadi? Saya tidak punya masalah untuk menggunakan kerangka kerja pribadi karena saya tidak perlu menerbitkannya ke App Store.
Bagusflyer
1

Gunakan ini:

- (void)showSMSPicker
{
    Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));

    if (messageClass != nil) {          
        // Check whether the current device is configured for sending SMS messages
        if ([messageClass canSendText]) {
           [self displaySMSComposerSheet];
        }   
    }
}

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{       
    //feedbackMsg.hidden = NO;
    // Notifies users about errors associated with the interface
    switch (result)
    {
        case MessageComposeResultCancelled:
        {   
            UIAlertView *alert1 = [[UIAlertView alloc] initWithTitle:@"Message" message:@"SMS sending canceled!!!" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
            [alert1 show];
            [alert1 release];
        }   

        // feedbackMsg.text = @"Result: SMS sending canceled";
        break;

        case MessageComposeResultSent:
        {
            UIAlertView *alert2 = [[UIAlertView alloc] initWithTitle:@"Message" message:@"SMS sent!!!" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
            [alert2 show];
            [alert2 release];
        }   

        // feedbackMsg.text = @"Result: SMS sent";
        break;

        case MessageComposeResultFailed:
        {   
            UIAlertView *alert3 = [[UIAlertView alloc] initWithTitle:@"Message" message:@"SMS sending failed!!!" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
            [alert3 show];
            [alert3 release];
        }   

        // feedbackMsg.text = @"Result: SMS sending failed";
        break;

        default:
        {   
            UIAlertView *alert4 = [[UIAlertView alloc] initWithTitle:@"Message" message:@"SMS not sent!!!" delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
            [alert4 show];
            [alert4 release];
        }   

        // feedbackMsg.text = @"Result: SMS not sent";
        break;
    }

    [self dismissModalViewControllerAnimated: YES];
}
Batu
sumber
1
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms:number"]] 

Ini akan menjadi cara terbaik dan singkat untuk melakukannya.

Rinku Sadhwani
sumber
1

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
Jawaban segar!
Fattie
0

Anda harus menggunakan MFMessageComposeViewController jika Anda ingin memperlihatkan pembuatan dan pengiriman pesan di aplikasi Anda sendiri.

Jika tidak, Anda dapat menggunakan metode Aplikasi bersama .

Parvind
sumber