代码之家  ›  专栏  ›  技术社区  ›  Kyle Decot

检查iPhone是否可以通过MFMessageComposeViewController发送文本

  •  0
  • Kyle Decot  · 技术社区  · 14 年前

    我正在建立一个应用程序,利用4.0功能,如应用程序内消息,但我也希望我的应用程序在所有3.x版本的工作。如何检查设备是否可以使用MFMessageComposeViewController?

    3 回复  |  直到 14 年前
        1
  •  2
  •   ynnckcmprnl    14 年前

    苹果建议使用 NSClassFromString

    MessageComposer示例中的示例:

    -(IBAction)showSMSPicker:(id)sender {
    //  The MFMessageComposeViewController class is only available in iPhone OS 4.0 or later. 
    //  So, we must verify the existence of the above class and log an error message for devices
    //      running earlier versions of the iPhone OS. Set feedbackMsg if device doesn't support 
    //      MFMessageComposeViewController API.
    Class messageClass = (NSClassFromString(@"MFMessageComposeViewController"));
    
    if (messageClass != nil) {          
        // Check whether the current device is configured for sending SMS messages
        if ([messageClass canSendText]) {
            [self displaySMSComposerSheet];
        }
        else {  
            feedbackMsg.hidden = NO;
            feedbackMsg.text = @"Device not configured to send SMS.";
    
        }
    }
    else {
        feedbackMsg.hidden = NO;
        feedbackMsg.text = @"Device not configured to send SMS.";
    }
    }
    

    链接: MessageComposer sample

    更新: 我发布的示例代码检查SMS composer的可用性,检查mail composer类似。

        2
  •  0
  •   hotpaw2    14 年前

    试试这个:

    #import <MessageUI/MessageUI.h>
    #include <dlfcn.h>
    
    if ( dlsym(RTLD_DEFAULT, "MFMailComposeErrorDomain") != NULL ) {
            // MFMessageComposeViewController framework is available
    } else {
            // do alternative for no MFMessageComposeViewController
    }
    

        3
  •  0
  •   dc.    14 年前