2012-02-19 15 views
15

以下の状況:アプリSMSで送信したい。これは私のコードMFMessageComposeViewControllerを作成しています:シミュレータ上のMFMessageComposeViewController - canSendText?

-(void) showMessageComposerWithText:(NSString*)messageText telNumber:(NSString*)telNumber composeDelegate:(id)delegate 
{ 
    MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init]; 
    if([MFMessageComposeViewController canSendText]) 
    { 
     controller.body = messageText; 
     controller.recipients = [NSArray arrayWithObject:telNumber]; 
     controller.messageComposeDelegate = delegate; 

     [delegate presentModalViewController:controller animated:YES]; 
    } 
} 

私はこれがまっすぐだと思います。 Simulatorでテストすると、次のような例外が発生します。Application tried to push a nil view controller on target <MFMessageComposeViewController: 0x8a4e090>私はまた、なぜ[MFMessageComposeViewController canSendText]YESを返すのか、シミュレータでアプリを実行すると自分自身が不思議です。

デバイスで実行中は、すべて正常に動作しています。

この奇妙な動作に関して、docs/webに何も見つかりませんでした。

OS 10.7.3でXcode 4.3を実行しています。展開ターゲットはiOS 5.0です。事前に

おかげで、 tubtub

答えて

23

この問題は、OS X Lionにメッセージベータ版をインストールしたときに発生します。

編集:iMessageアカウントが設定されて有効になっている場合、Mountain Lionでも発生します。アカウントが無効になっている場合、正しく動作します(canSendTextはNOを返します)。

ヒント:controller.modalTransitionStyle = UIModalTransitionStylePartialCurlを使用する場合は、左上隅の「ページ」をクリックしてSimulatorに戻ることができます。この構成により

+2

メッセージベータがインストールされている場合、 'canSendText'は' YES'を返しますが、空(コンテンツなし)。 Messagesベータ版がアンインストールされた場合、 'canSendText'は' NO'を返します。 Xcode 4.4ライオンのGMとiPhone 5.1シミュレータ – Chris

+0

これの修正はまだありますか?このバグは、XCode 4.6.1が適用されたMac OS 10.8.2でも発生します。 –

2

私は同じことを見ています。 Xcode 4.3のiOS 5シミュレータのバグだと思う。 canSendTextは、iOS 4.3シミュレータで正しくNOを返します。同じコードがデバイス上で正常に動作します。

4

シミュレータは常にcanSendTextからNOを返します。これは、iOS 5.0および5.1シミュレータの場合には当てはまりません。 Xcode 4.2ではクラッシュしましたが、Xcode 4.3では無制限のView Controllerがプッシュされます。

+0

私はiOS 5.1を実行しているiPhone 4のテストデバイスでも全く同じ問題が発生していますが、iPhone 4を実行中です – OscarTheGrouch

1

は、canSendTextはシミュレータで正しくNOを返す(プラス、UIAlertViewは、テキストメッセージングを利用できないと言って表示されます):

  • マウンテンライオン
  • のXcode 4.4、
  • のiOS 5.1
+0

iMessageアカウントを設定して有効にしていないと思います。 –

0

同じエラーが発生します。 OSX 10.8.5でXCode 5.0(5A1413)を使用しています。

異なるシミュレータタイプ(iPhone、iPad)に変更しようとしましたが、結果は同じです。また、メッセージのアカウントを無効にしてみましたが、役に立たなかったです。

関連する問題