Xcode CKSMSCOmposemoteViewController在等待com.apple.mobilesms.compose的围栏屏障时超时

Xcode CKSMSCOmposemoteViewController在等待com.apple.mobilesms.compose的围栏屏障时超时,xcode,sms,Xcode,Sms,好的,所以sendSMS在ios7及以下版本上运行良好。但是,在ios8上,sendSMS函数失败,问题的标题出现错误。我在这里得到一个警告(在尝试使用其他堆栈溢出问题将NSArray更改为NSString来解决此问题后):不兼容的指针类型从controller.recipients的“NSString*”分配给“NSArray*”;它正在返回MessageComposeSultCancelled的结果 if (ABMultiValueGetCount(phoneNumbers) > 0)

好的,所以sendSMS在ios7及以下版本上运行良好。但是,在ios8上,sendSMS函数失败,问题的标题出现错误。我在这里得到一个警告(在尝试使用其他堆栈溢出问题将NSArray更改为NSString来解决此问题后):不兼容的指针类型从controller.recipients的“NSString*”分配给“NSArray*”;它正在返回MessageComposeSultCancelled的结果

if (ABMultiValueGetCount(phoneNumbers) > 0) {
    phone = (__bridge_transfer NSString*)
    ABMultiValueCopyValueAtIndex(phoneNumbers, 0);
    [self sendSMS:@"Play me on PokerBuddies. 
    Download the app at: https://itunes.apple.com/us/app   /poker-buddies/id404168013?mt=8" 
    recipientList:[NSString stringWithFormat:phone, nil]];
} else {
    phone = @"[None]";
}


- (void)sendSMS:(NSString *)bodyOfMessage recipientList:(NSString *)recipients{

MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText]){
    controller.body = bodyOfMessage;
    controller.recipients = recipients;
    controller.messageComposeDelegate = self;
    [self presentViewController:controller animated:YES completion:nil];
    NSLog(@"Send SMS");

}
}

我也有同样的问题,比如MessageComposecController超时问题。 我这样做就解决了这个问题

您必须创建MFMessageComposeViewController的实例变量,当您要显示message controller时,您必须检查实例对象是否已创建,然后执行nil操作并再次初始化该对象。因此,此错误“cksComposerMemoteViewController在等待com.apple.mobilesms.compose的围栏屏障时超时”不会来并且控制器完全打开

if ([MFMessageComposeViewController canSendText]) {
    if (messageComposer) {
        messageComposer = nil;
        messageComposer = [[MFMessageComposeViewController alloc]init];
    }
    messageComposer.recipients = arrPhoneNumber;
    messageComposer.messageComposeDelegate = self;
    messageComposer.body = @"Your text";
    isMessageComposeAppear = 1;
    [self presentViewController:messageComposer animated:YES completion:nil];
}

使用未声明的标识符messageComposer是我得到的。到目前为止还没有在任何地方声明,也不知道如何声明。