СМС опция target C вылетает все приложение? - PullRequest
0 голосов
/ 23 ноября 2011

Я разрабатываю приложение для iPhone, которое отправляет SMS, я использую XCode 4.2

В основном это нужно для создания тела и добавления номера телефона к получателю.

Я запустил приложение на iPad, и оно сломало приложение, когда я просмотрел код и обнаружил, что строка-получатель создает проблему, когда я удаляю эту строку, она прекрасно работает и направляет к приложению сообщений.

есть подсказка, как избежать этой проблемы?

вот код, который я использую

MFMessageComposeViewController *sms = [[MFMessageComposeViewController alloc] init];
    if ([MFMessageComposeViewController canSendText]) {
        sms.recipients=[NSArray arrayWithObjects:@"1111111111"];
        sms.body= @"test";
        sms.messageComposeDelegate = self;
        [self presentModalViewController:sms animated:YES];
    }

журнал:

GNU gdb 6.3.50-20050815 (Apple version gdb-1708) (Fri Sep 16 06:56:50 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "--host=i386-apple-darwin --target=arm-apple-darwin".tty /dev/ttys000
sharedlibrary apply-load-rules all
target remote-mobile /tmp/.XcodeGDBRemote-692-73
Switching to remote-macosx protocol
mem 0x1000 0x3fffffff cache
mem 0x40000000 0xffffffff none
mem 0x00000000 0x0fff none
[Switching to process 7171 thread 0x1c03]
[Switching to process 7171 thread 0x1c03]
Re-enabling shared library breakpoint 1
Re-enabling shared library breakpoint 7
(gdb) 

Я получаю следующую зеленую ошибку:

Tread1 : Program Received signal :"EXC_BAD_ACCESS"

и следующее предупреждение (желтый)

Missing sentinel dispatch

Ответы [ 3 ]

1 голос
/ 23 ноября 2011

пишу это как ответ, потому что я не имею права комментировать.
Я думаю, что проблема в

sms.receipients=[NSArrayWithObjects:@"1111111111"];

, который должен быть

 sms.receipients=[NSArray arrayWithObjects:@"1111111111"];

РЕДАКТИРОВАТЬ:

  sms.receipients=[NSArray arrayWithObjects:@"1111111111",nil]; 

или

  sms.receipients = [NSArray arrayWithObject:@"1111111111"];
1 голос
/ 23 ноября 2011
sms.receipients=[NSArrayWithObjects:@"1111111111"];

не собирается работать. Также не

sms.recipients=[NSArray arrayWithObjects:@"1111111111"]

Попробуйте

sms.recipients=[NSArray arrayWithObject:@"1111111111"];

arrayWithObjects требует список объектов, заканчивающийся нулем. arrayWithObject ожидает только один объект.

0 голосов
/ 23 ноября 2011

Теперь, когда вы отредактировали свой вопрос с полученной ошибкой:

sms.recipients = [ NSArray arrayWithObjects: @"1111111111" ];

Должно быть:

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

Вам не хватает nil часового, используемого для определения конца аргументов переменной метода arrayWithObjects.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...