идентификаторы групп приложений iOS/OSX, начните их с "group."или" team-id."?
при создании идентификатора группы приложений на портале подготовки (или как бы он ни назывался сейчас) он говорит: "введите уникальный идентификатор для вашей группы приложений, начиная со строки" группа "" и, похоже, применяет это в поле ввода. Кроме того, многие примеры кода используют строки идентификатора группы приложений, такие как "group.com.компания.бла".
однако окончательные разделы, которые я видел, связаны по всей документации, Руководство По Дизайну App Sandbox > App Sandbox In Depth > Каталоги Контейнеров и доступ к файловой системе > каталог контейнера группы приложений и права ключ Rerefence > включение приложения песочницы > добавление приложения в группу приложений, прямо противоречат этому, четко заявляя: "должен начинаться с идентификатора вашей команды разработчиков, а затем период".
примеры, приведенные в этом разделе, похожи на " Z123456789.com.пример.app-group " и " DG29478A379Q6483R9214.HolstFirstAppSuite " соответственно. (whah, это последний супер странный идентификатор команды или что?)
Итак, с этой несогласованностью, что мне сделать, чтобы получить идентификатор группы приложений для работы? Должен ли я войти в группу "портал подготовки".TEAM-ID.com.пример.бла"? И должен ли я использовать эту же строку в моих строках исходного кода или опустить "группу"."часть, чтобы быть похожими на многие примеры кода? Или документация неправильная, и идентификатор команды никогда не нужен?
контексте ... Я пытался обновить тестовое приложение iOS cocoapod, чтобы увидеть расширение app communication в действии. После обновления идентификаторов приложений и идентификаторов групп в моем элементе управления и при использовании идентификатора группы, аналогичного исходному проекту, например "group.com.mycompany.что-то", вижу containerURLForSecurityApplicationGroupIdentifier:
ничего не делать, кроме как вернуть ноль и ничего зафиксировал его.
обновление: (добавил Это для ясности, видя, как так сообщает мне, что этот Q получает много хитов) оказывается, этот материал более прощающий, чем я изначально думал, как nil
результат получается были (в основном? мои дела. См. ответ и его комментарий. Я еще не проверил, яснее ли документация и примеры.
2 ответов
On https://developer.apple.com внутри " сертификаты, идентификаторы и профили "когда вы идете в раздел" Группы приложений " и сначала создаете свою группу приложений, все, что требуется, - это принудительная группа.com.компания.appname
пока com.имя_компании.appname соответствует тому, что у вас есть настройка в качестве идентификатора пакета для вашей цели под общим, вы должны иметь возможность перейти на вкладку "возможности", включить "группы приложений" нажмите символ обновления и группу вы только что создали в Provisioning Portal должны появиться там, как " группа.com.компания.appname " у вас будет возможность проверить его, а затем будет ошибка с правами. Нажатие "fix issue" должно автоматически решить эту проблему.
теперь, если вы перейдете к файлу прав, вы заметите, что " com.яблоко.безопасность.приложения-группы "будут иметь элемент, и он будет установлен в ту же самую" группу.com.компания.appname" значение.
Я тестировал на устройствах и пока никаких проблем. Это не объясняет несоответствия в документации, но я могу гарантировать, что это работает.
Я был укушен несоответствием в этом между iOS и macOS при отправке версии macOS Sierra моего приложения.
группы.лучше.fyi работает для представлений iOS, но приводит к следующей ошибке во время представлений macOS (работает отлично в противном случае, без предупреждений или ошибок):
ERROR ITMS-90286: "Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on macOS. Specifically, value '[group.better.fyi]' for key 'com.apple.security.application-groups' in 'ind.ie.Better-Mac.pkg/Payload/Better.app/Contents/PlugIns/Blocker-Mac.appex/Contents/MacOS/Blocker-Mac' is not supported. This value should be a string or an array of strings, each starting with your TEAMID followed by a dot '.' ."
Замена, что с $(TeamIdentifierPrefix)better.fyi
на вкладке возможности в разделе группы приложений Исправлена проблема.
Это, конечно, создает несоответствие между приложениями iOS и Mac.