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


526

Programlı bir göndermek, mümkün ve nasıl olmadığını herkes biliyor mu SMS gelen iPhoneresmi SDK / Kakao Dokunma ile?


içinde Ios 4 Kod ile sms gönderebilirsiniz ancak sorun başvurunuz kapanacak
Pankaj Kainthla

Resmi SDK'yı kullanmak başkaları için bir gereklilik değilse, bu yazıyı Twilio
Megan Speir

Gmail'inizden bir google e-tablosu oluşturabilir, istediğiniz alanları oluşturabilir ve ardından tools->script editorbir POST isteğinde MailApp.sendEmailbir telefon numarasına e-posta göndermek için api kullanabilirsiniz . att's YOURNUMBER@mms.att.net, tmobile's YOURNUMBER@tmomail.net olduğunu düşünüyorum (TÜM ÜCRETSİZ)
Coty Embry

Yanıtlar:


404

Kısıtlamalar

İPhone'daki bir program içinde SMS gönderebiliyorsanız, arka planda kişileri spam yapan oyunlar yazabilirsiniz. Eminim gerçekten arkadaşlarından spam almak istiyorsun, "Bu yeni oyunu dene! Boxxers'ımı roxxers ve seninki de olacak! Roxxersboxxers.com !!!! Şimdi kaydolursan 3,200 RB alacaksın noktaları !!"

Apple, otomatik (hatta kısmen otomatik) SMS ve arama işlemleri için kısıtlamalara sahiptir. (Oyunun günün belirli bir saatinde 911'i çevirip çevirmediğini düşünün)

Yapmanız gereken en iyi şey, internette çevrimiçi SMS gönderme hizmeti kullanan bir ara sunucu kurmak ve tam otomasyona ihtiyacınız varsa SMS'i bu yol üzerinden göndermek. (örneğin, iPhone'daki programınız sunucunuza gerçek bir SMS gönderen bir UDP paketi gönderir)

iOS 4 Güncellemesi

Ancak iOS 4 artık viewControlleruygulamanıza aktarabileceğiniz bir özellik sunuyor. SMS alanlarını önceden doldurursanız, kullanıcı denetleyici içinde SMS göndermeyi başlatabilir. "SMS: ..." url biçimini kullanmanın aksine, bu, uygulamanızın açık kalmasını sağlar ve hem to hem de body alanlarını doldurmanıza olanak tanır . Birden fazla alıcı bile belirleyebilirsiniz.

Bu, kullanıcıların açıkça farkında olmadan uygulamaların otomatik SMS göndermesini önler. Hala iPhone'un kendisinden tam otomatik SMS gönderemezsiniz, biraz kullanıcı etkileşimi gerektirir. Ancak bu en azından her şeyi doldurmanıza izin verir ve uygulamayı kapatmayı önler.

MFMessageComposeViewController sınıfı iyi belgelenmiştir ve öğreticiler bu uygulamaya ne kadar kolay gösteriyor.

iOS 5 Güncellemesi

iOS 5, iPod touch ve iPad cihazları için mesajlaşma içeriyor, bu yüzden bunu kendim test etmeme rağmen, tüm iOS cihazlarının MFMessageComposeViewController aracılığıyla SMS gönderebileceği düşünülebilir. Bu durumda, Apple, hücresel modemi olmayan cihazlar adına mesaj gönderen bir SMS sunucusu çalıştırıyor.

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 ortama izin verdiği 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ışmadığını ve belki de iOS 5 altında iPod touch veya iPad'de çalışmadığını unutmayın. Bunu kullanmadan önce cihazı ve iOS sınırlamalarını algılamanız gerekir. kontrol edebilir veya uygulamanızı yakın zamanda yeni sürüme geçirilmiş 3G, 3GS ve 4 iPhone'larla kısıtlama riski.

Bununla birlikte, SMS gönderen bir ara sunucu, bu iOS cihazlarının herhangi birinin ve hepsinin internet erişimi olduğu sürece SMS göndermesine izin verecektir, bu nedenle yine de birçok uygulama için 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.


12
Ve bu alanı satın alırsanız, size bir daha asla aynı şekilde bakamam.
Adam Davis

79
Birisinin bu gönderiyi spam olarak işaretlemesinin ironik olduğunu düşünüyorum. Çizgiler arasında oku halklar!
Randolpho

2
-1 çünkü bu spekülasyon olarak okunur. Ayrıca, uygulama içi SMS'lerin nasıl gönderileceği konusunda Jus 'Wondrin' ve rydgaze'ın cevaplarına bakın.
Frank Shearar

8
@Frank - Yazımımı yeni iOS 4 özelliklerini yansıtacak şekilde güncellendi. İstekli yıkama ifadeleri kaldırıldı.
Adam Davis

13
Bu yayını yeni iOS sürümleri için güncel tuttuğunuz için teşekkür ederiz. :)
Ciryon

143

İşte tam aradığınız gelmez ne öğretici geçerli: MFMessageComposeViewController.

http://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-sms/

esasen:

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];
}

Ve dokümanlara bir link.

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


yine de, SMS formu açılır. Arka planda göndermek için herhangi bir yolu var mı?
Raptor

5
Twilio gibi bir hizmeti kullanarak arka planda kesinlikle SMS gönderebilirsiniz, ancak kullanıcının telefon numarasından göndermek istiyorsanız, yukarıdaki yöntemle mesajı onaylamaları gerekir.
Daniel Amitay

3
Yukarıdaki kodu kullanan herkes MFMessageComposeViewController *controller = ...if bloğunun içine koymayı düşünebilir . (sınıf yönteminin testi yapmak için bir örneği olması gerekmez)
senkronize olmayan

Bağlantı http://blog.mugunthkumar.com/coding/iphone-tutorial-how-to-send-in-app-sms/, dizüstü bilgisayarımda "502 Bozuk Ağ Geçidi" yazıyor. Belki bağlantı kopmuştur.
Nikita Vlasenko

99
  1. MessageUI.framework öğesini Xcode projenize eklemelisiniz
  2. #import <MessageUI/MessageUI.h>Üstbilgi dosyanıza bir ekle
  3. Bu delegeleri başlık dosyanıza ekleyin MFMessageComposeViewControllerDelegate &UINavigationControllerDelegate
  4. Sizin IBActionyönteminizde MFMessageComposeViewControllerdemek demekmessageInstance
  5. Cihazınızın [MFMessageComposeViewController canSendText]bir if durumunda metin kullanımı gönderip gönderemeyeceğini kontrol etmek için Evet / Hayır
  6. Durumda ifşunları yapın:

    1. İlk set gövdesi sizin messageInstanceiçin:

      messageInstance.body = @"Hello from Shah";
    2. Ardından mesajın alıcılarına şu şekilde karar verin:

      messageInstance.recipients = [NSArray arrayWithObjects:@"12345678", @"87654321",         nil];
    3. Mesajınıza temsilci ayarlayın:

      messageInstance.messageComposeDelegate = self;
    4. Son satırda bunu yapın:

      [self presentModalViewController:messageInstance animated:YES];

2
Sürüm notu: presentModalViewController:animated:kullanımdan kaldırılmıştır; kullanın presentViewController:animated:completion:. Ayrıca, - (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)resultsonuçları bilmek istiyorsanız temsilci yöntemini tanımlamayı unutmayın .
Raptor

Lütfen test için kodu girin. @Najeebullah Shah burada veya github'da.

50

sms:[target phone number]SMS uygulamasını açmak için bir URL kullanabilirsiniz , ancak bir SMS gövdesini metinle nasıl dolduracağınıza dair herhangi bir belirti yoktur.


tepki-native-iletişim sms açarken metni doldurmak için & body = parametresini kullanır: targetphonenumber & body = iOS için textyouwanttoprefillwith
Doug Voss

Ben sadece benim iphone 8 denedim ve harika çalıştı ... teşekkürler!
Brad Parks

Belirli bir numaraya bir sms göndermek gerekiyor ama önceden tanımlanmış (prefill) gövde metin. Bu gövde metni, 4 olası seçenek arasından manuel seçim olmalıdır. Örneğin, uygulama açılır ve açılır "pop-up seçin". Ardından 4 seçenek kullanılabilir. Daha sonra kullanıcı bu 4 seçenekten birini seçer ve daha sonra gövde metni olarak kullanıcının seçimine sahip olan otomatik bir SMS gönderilir. herhangi bir ipucu?
seralouk

25

MacOS'ta süreçler arası iletişim sistemlerinden biri XPC'dir. Bu sistem katmanı, libSystem ve launchd kullanılarak plist yapıların transferine dayanan süreçler arası iletişim için geliştirilmiştir. Aslında, sözlük gibi yapıların değişimi yoluyla süreçleri yönetmeye izin veren bir arayüzdür. Kalıtım nedeniyle, iOS 5 de bu mekanizmaya sahiptir.

Bu girişle ne demek istediğimi zaten anlayabilirsiniz. Evet, iOS'ta XPC iletişimi için araçlar içeren sistem hizmetleri var. Ve SMS gönderimi için bir cini ile çalışmayı örneklemek istiyorum. Ancak, bu yeteneğin iOS 6'da sabit olduğu, ancak iOS 5.0—5.1.1 için geçerli olduğu belirtilmelidir. Jailbreak, Private Framework ve diğer yasadışı araçlar kullanılması için gerekli değildir. Yalnızca / usr / include / xpc / * dizinindeki başlık dosyaları kümesi gereklidir.

İOS'ta SMS göndermenin unsurlarından biri, görevleri kısa metin mesajlarının oluşturulması, yönetimi ve gönderilmesini içeren com.apple.chatkit sistem hizmetidir. Kontrol kolaylığı için, com.apple.chatkit.clientcomposeserver.xpc genel kullanıma açık iletişim portuna sahiptir. XPC alt sistemini kullanarak, kullanıcının onayı olmadan mesaj oluşturabilir ve gönderebilirsiniz. 

Bir bağlantı oluşturmaya çalışalım.

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);

Şimdi, SMS gönderme hizmetine ayarlanmış XPC bağlantı myConnection var. Bununla birlikte, XPC yapılandırması askıya alınmış bağlantıların oluşturulmasını sağlar; etkinleştirme için bir adım daha atmamız gerekir.

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);

Bağlantı etkinleştirildi. Şu anda iOS 6 telefon kaydında bu tür iletişimin yasak olduğunu belirten bir mesaj görüntüleyecektir. Şimdi, mesaj göndermek için gereken verilerle xpc_dictionary benzeri bir sözlük oluşturmamız gerekiyor.

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!");

Az kaldı: mesajı XPC bağlantı noktasına gönderin ve teslim edildiğinden emin olun.

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

Bu kadar. SMS gönderildi.


1
SMS göndermek için XPC kullanmamalısınız. Üretilen Uygulama Apple tarafından onaylanmayacak. Bunun yerine MessageUI Framework'ü kullanın
Raptor

Kuruluşunuz için kullandığınız uygulama için bu tekniği kullanıyorsanız ve uygulama uygulama mağazasından geçmiyorsa endişelenmenize gerek yok.
Martin Berger

Bu, iOS 10 ve sonraki sürümlerinde çalışır mı?
Martin Berger

İOS 12'de "XPC sanal alan bağlantı hatası: Bağlantı geçersiz" iletisi alınıyor
Martin Berger

23

MessageUI.Framework ekleyin ve aşağıdaki kodu kullanın

#import <MessageUI/MessageUI.h> 

Ve sonra:

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];
}

ve temsilci yöntemi -

- (void)messageComposeViewController:(MFMessageComposeViewController *)controller
             didFinishWithResult:(MessageComposeResult)result {
      [self dismissViewControllerAnimated:YES completion:nil];
 }

hey bu harika, ama bu işlevselliği arka plandan yapabilir miyiz?
Raj

3
Apple, kullanıcıların onayı olmadan mesaj göndermenize izin vermez. Düğmeye elle basarak mesaj / posta göndermesi gerekiyor. Alternatif olarak, arka ucunuza e-posta / numara göndererek ve ardından göndererek özel bir hizmet kullanabilirsiniz. Bunu doğrudan iPhone'da
yapamasan da

21

Bu yaklaşımı kullanabilirsiniz:

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


iOS, uygulamanızdan otomatik olarak mesajlar uygulamasının mesaj oluşturma sayfasına gider. URL'nin şeması sms: ile başladığından, bu mesajlar uygulaması tarafından tanınan ve başlatılan bir tür olarak tanımlanır.


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]; 
}

bu bağlantıyı görmelisiniz: blog.mugunthkumar.com/coding/… size yardımcı olacaktır
Banker Mittal

12

Bu prosedürleri izleyin

1. MessageUI.Frameworkprojeye ekleresim açıklamasını buraya girin

2. #import <MessageUI/MessageUI.h>.H dosyasına aktar .

3. Mesaj göndermek için bu kodu kopyalayın

 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. Uygulamak delegateİstersen yöntemi.

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


   ///your stuff here 

    [self dismissViewControllerAnimated:YES completion:nil];
}

Koş ve git!


muhtemelen geri arama yöntemi [self dismissViewControllerAnimated:YES completion:nil];içinde çalıştırmak isteyeceğinizi belirtmek gerekir messageComposeViewController: didFinishWithResult:. Yoksa sadece orada asılı kalacak.
SaltyNuts

5

İşte iOS'ta SMS göndermek için kodun Swift sürümü. Lütfen yalnızca gerçek cihazlarda çalıştığını unutmayın. Kod iOS 7 ve sonraki sürümlerinde test edilmiştir. Daha fazlasını buradan okuyabilirsiniz .

1) MFMessageComposeViewControllerDelegate ve NSObject öğelerini devralan yeni bir Sınıf oluşturun:

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) Bu sınıf nasıl kullanılır:

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.")
    }
}

3

İOS 4'te uygulamanızdan gövde ve alıcılarla mesaj göndermeyi destekleyen bir sınıf var. Posta gönderme ile aynı şekilde çalışır. Belgeleri burada bulabilirsiniz: bağlantı metni


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:"]];
}

4
parametreleriniz ne kadar yararlı?
martinsurleweb

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

3

// isim ve numara ile çağrı yöntemi.

-(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"];
}

}

// Mesaj gönderme yöntemi

- (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];
 }
}

2

İsterseniz sınıf CoreTelephonyadı verilen özel çerçeveyi kullanabilirsiniz CTMessageCenter. SMS göndermek için birkaç yöntem vardır.


1
Resmi SDK'yı kullanarak bunun mümkün olup olmadığını özellikle sordu.
Quentamia

1
Özel API hakkında daha fazla bilgi verebilir misiniz? Özel çerçeveyi kullanmakta sorunum yok çünkü onu App Store'da yayınlamam gerekmiyor.
Bagusflyer

1

Bunu kullan:

- (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];
}

1
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms:number"]] 

Bunu yapmanın en iyi ve kısa yolu budur.


1

SMS gönderebilen MFMessageComposeViewController'ı sunabilirsiniz, ancak kullanıcı istemiyle (gönder düğmesine dokunur). Kullanıcı izni olmadan bunu yapmanın bir yolu yok. İOS 11'de, gelen iletiler için filtreye benzeyen, iOS'a spam olup olmadığını söyleyen bir uzantı yapabilirsiniz. SMS ile başka bir şey yapılamaz


Yeni cevap!
Mart'ta Fattie

0

İletiyi kendi uygulamanızda oluşturmayı ve göndermeyi göstermek istiyorsanız MFMessageComposeViewController'ı kullanmanız gerekir .

Aksi takdirde, sharedApplication yöntemini kullanabilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.