Xcode CKSMSCOmposemoteViewController在等待com.apple.mobilesms.compose的围栏屏障时超时
好的,所以sendSMS在ios7及以下版本上运行良好。但是,在ios8上,sendSMS函数失败,问题的标题出现错误。我在这里得到一个警告(在尝试使用其他堆栈溢出问题将NSArray更改为NSString来解决此问题后):不兼容的指针类型从controller.recipients的“NSString*”分配给“NSArray*”;它正在返回MessageComposeSultCancelled的结果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)
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是我得到的。到目前为止还没有在任何地方声明,也不知道如何声明。