2013-04-07 2 views
3

Кто-нибудь использовал mobileAddContact на ios и смог добавить адрес?Livecode mobileAddContact

До сих пор я могу добавить имя, контактные данные (телефон, адрес электронной почты и т. Д.), Но я не могу добавить данные адреса (улица, город, почтовый индекс и т. Д.).

Это код, который я написал;

mobileAddContact \ 
    "firstname", tFirstName, \ 
    "middlename", tMiddleName, \ 
    "lastname", tLastName, \ 
    "prefix", tPrefix, \ 
    "organization", tOrganisation, \ 
    "emailhome", tEmailHome, \ 
    "phonemobile", tPhoneMobile, \ 
    "phonehome", tPhoneHome, \ 
    "phonework", tPhoneWork, \ 
    "note", tNote, \ 
    "addressstreethome", "Street Name", \ 
    "addresscityhome", "City Name", \ 
    "addressstatehome", "State Name", \ 
    "addressziphome", "Postcode", \ 
    "addresscountryhome", "Country" 

Любая помощь будет принята с благодарностью.

TIA, AA.

ответ

0

Прежде всего, похоже, что вы столкнулись с ошибкой, о которой нужно сообщить RunRev. Я проверил ваш пример и синтаксис в документации, и в вашем скрипте ничего не должно работать.

Во-вторых, вы можете попробовать несколько вещей, таких как разделение команды на одну, чтобы создать контакт, и один, чтобы обновить контакт с информацией о адресе. Вы также можете попытаться поместить всю информацию, включая адресную информацию, в переменные. Кажется, что в вашем примере пары, содержащие переменные, работают, но пары, содержащие строки, этого не делают.

В-третьих, интересно, существует ли максимальное количество данных, которые могут быть сохранены в адресной книге. Возможно, данные в tNote слишком длинны. Я должен подчеркнуть, что я не уверен, имеет ли значение последнее.

+0

Привет, Марк, спасибо, что нашли время ответить. В моем исходном коде вся информация была в переменных, поэтому я попытался использовать строки, чтобы проверить, что переменные не были виноваты. Данные в tNote составляют около 100 символов. Но сейчас я попробую оставить его. Я также рассматривал разделение команды, но я не вижу, как работает обновление, поскольку я не могу использовать ключ контакта в команде mobileUpdateContact (или мне может быть что-то не хватает ...) –

+0

Дальнейшее обновление ... Изменение tNote made нет разницы. Я разделил команду, сохранил ключ и использовал mobileUpdateContact. Это создало экран для выбора существующего контакта или добавления нового, поэтому я выбрал существующий. Адреса не было добавлено ... Я отправил отчет в Livecode. Пальцы пересекаются ... –

+0

mobileAddContact должен возвращать номер, если контакт создан. Это идентификационный номер нового контакта. Вы можете использовать mobileUpdateContact для обновления контакта. Я знаю, что это неправильное решение, но было бы полезно проверить это и посмотреть, работает ли оно.Если mobileUpdateContact работает, но mobileAddContact этого не делает, то это определенно ошибка, о которой нужно сообщить. – Mark

0

К сожалению, вы обнаружили ошибку в документации. Эта область мобильной функциональности была улучшена в LiveCode 5.5.1 и включала изменение синтаксиса, но не приводила к обновлению документации.

Для всех команд mobileContact требуется вложенный массив данных, который используется для создания/обновления контактной информации. Записи в словаре все обновляются и будут в LiveCode 6.0. В то же время взгляните на страницу 48 примечаний к выпуску iOS, в которой подробно описывается использование и формат этих команд.

local tContactData 

put "John" into tContactData["firstname"] 
put "Smith" into tContactData["lastname"] 
put "+44(0)77774443555" into tContactData["phone"]["mobile"][1] 

mobileCreateContact tContactData 
+0

Спасибо, Бенджамин. Я предполагаю, что вы имеете в виду примечания к выпуску 6.0 iOS. Где я могу их найти? –

+0

http://www.runrev.com/downloads/livecode/5_5_4/LiveCodeNotes-5_5_4-iOS.pdf - Pages 44-48 –

+0

Benjamin, я не вижу упоминания о массивах в этом документе. Вы уверены, что это правильный файл? – Mark

0

Я только что протестировал код, который вы отправили, но заменил ваши переменные на строки. Я создал пустой стек с помощью кнопки и поля и поместите следующий код в кнопку:

on mouseUp 
    put "mr" into tContactData["prefix"] 
    put "ben" into tContactData["firstname"] 
    put "street" into tContactData["address"]["home"][1]["street"] 
    put "city" into tContactData["address"]["home"][1]["city"] 
    put "state" into tContactData["address"]["home"][1]["state"] 
    put "zip" into tContactData["address"]["home"][1]["zip"] 
    put "country" into tContactData["address"]["home"][1]["country"] 

    mobileAddContact tContactData 
    put the result into field 1 
end mouseUp 

Вы заметите из словаря, что ставит числовой идентификатор контакта в «результат» в случае успеха. В моем случае у моего симулятора iOS не было контактов, поэтому я получил «1», и когда я пошел к своим контактам, у меня была одна запись. «Mr ben».

Я надеюсь, что это поможет.

+0

Бен, вы используете Livecode 5.5.4 или 6.0? –

+0

LiveCode 6.0, но это тоже будет работать в 5.5.4. –

+0

Бен, я скопировал ваш код и запустил его как на iPad, так и на симуляторе, используя 5.5.4. В обоих случаях запись была создана как «Нет имени» без каких-либо данных. Я не могу протестировать ее с помощью 6.0, потому что я не могу создать автономный. Я уже опубликовал еще один вопрос об этом! –

Смежные вопросы