Сортировка контактов, отмеченных как компания

Я нашел Applescript на сайте поддержки Apple , чтобы отсортировать любой контакт с галочкой «Компания», отмеченной в группе «Бизнес»:

property groupName : "Business"
tell application "Contacts"
    if (name of groups as list) does not contain groupName then
        make new group at end of groups with properties {name:groupName}
    end if
    repeat with singlePerson in people
        if company of singlePerson is true then
            if (people of group groupName as list) does not contain (singlePerson as list) then
                make new person at end of group groupName with data singlePerson
            end if
        end if
    end repeat
    save
end tell

Это не удается:

            make new person at end of group groupName with data singlePerson

С ошибкой:

error "Contacts got an error: AppleEvent handler failed." number -10000

Кто-нибудь знает способ отсортировать все контакты, помеченные как «Компания»?

Например, я НЕ хочу никого, у кого есть название компании, но это индивидуальная карта:

введите описание изображения здесь

Но я ДЕЙСТВИТЕЛЬНО хочу, чтобы компании с Companyотмеченным флажком:

введите описание изображения здесь

Ответы (1)

Обновлять:

Первоначально я думал, что для этого вам не нужен Applescript.

И вы можете создать смарт-группу, которая сделает это за вас.

введите описание изображения здесь


введите описание изображения здесь


НО «Компания: установлена» не для флажка. Это для фактического текстового поля компании.

Таким образом, вы не можете использовать вышеизложенное для этого, поскольку ему все равно, установлен ли флажок для компании или нет. Имеет значение только наличие текста в поле «Компания».

Так что Applescript - это путь. И использование company is truewhich относится к флажку.

    property groupName : "Business"
tell application "Contacts"

    if not (exists (group groupName)) then
        make new group with properties {name:groupName}
    end if
    set the_people to people whose company is true
    repeat with i from 1 to number of items in the_people
        set this_person to item i of the_people
        add this_person to group groupName
        save
    end repeat
end tell
Это не работает. Я ищу метод, который выбирает только контакты с установленным флажком «Компания». Этот метод выбирает всех, у кого заполнено название компании (включая индивидуальные контакты)
См. мое редактирование выше в моем вопросе.
@Chrismas007, А, я вижу, чего ты хочешь. См. обновленный ответ