2013-02-11 111 views
4

有沒有人管理尚未發送iOS 6用戶交互的代碼短信?iOS 6 - ChatKit私人API - 發送短信

我認爲,必須使用ChatKit私有API來執行此操作。但是,似乎Apple在iOS 6中更改了這個API。因此,類似https://stackoverflow.com/a/11028230/1884907的解決方案由於丟失/更改了類而不再適用於iOS 6。

(只需提前:是的,我們都知道,蘋果拒絕使用私有API的應用程序,它不是應用商店)

+0

您是否在此找到解決方案? – newenglander 2013-07-24 09:26:07

回答

1

從另一個StackOverflow的後here:(代碼從Kaushal Bisht)

// in .m file 
-(void)textClicked 

{ 


controller = [[MFMessageComposeViewController alloc] init]; 

if([MFMessageComposeViewController canSendText]) 

    { 


     controller.body = @"Whatever you want"; 

    controller.recipients = [NSArray arrayWithObjects:@"", nil]; 

     controller.messageComposeDelegate = self; 

     [self presentViewController:controller animated:YES completion:nil]; 
     } 


    } 

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

    { 

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"MyApp" message:@"Unknown Error" 
               delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil]; 

switch (result) { 
    case MessageComposeResultCancelled: 
     NSLog(@"Cancelled"); 
     [alert show]; 
     break; 
    case MessageComposeResultFailed: 
     [alert show]; 

     break; 
    case MessageComposeResultSent: 

     break; 
    default: 
     break; 
    } 

[self dismissViewControllerAnimated:YES completion:nil]; 
    } 



// in .h file 

import MessageUI/MessageUI.h 

雖然您不能在後臺發送短信。我希望這有幫助。

+1

謝謝,但我擔心這會顯示消息視圖控制器。目的是在沒有用戶交互的情況下發送短信。它必須以某種方式與ChatKit API一起工作,但我想沒有人知道如何。 – 2013-02-12 08:12:05

+0

就像我之前說過的,蘋果不會讓你在後臺發送它,因爲用戶需要知道他們發送了什麼,因爲他們將收取費用,你必須通過登錄的電子郵件應用程序發送消息或蘋果短信/ imessage應用程序。對不起,但這是爲了用戶的安全。 – Comradsky 2013-02-20 15:33:03

+0

這關於App Store中的公共應用程序,這很好。 但我敢肯定,必須有一種使用私有API的非官方方式。例如,也可以發起和接受電話並通過私人API掛斷。當然,使用這些API的應用程序不會獲得App Store的批准,所以用戶沒有問題。 但重要的是要知道,並非所有開發的應用程序都適用於App Store中的公開發布。有些是爲了公司內部的目的,這就是爲什麼我們需要這些功能並知道如何訪問它們的原因。 – 2013-03-04 08:48:24