Я пытаюсь обойти странную проблему, связанную с приложением для iOS, которое производит моя компания. Мы используем процесс брендинга для брендирования одного исполняемого файла, назначая ему новые ресурсы и новый идентификатор пакета, но сохраняя один и тот же основной исполняемый файл для разных брендов.
Проблема в том, что когда на телефоне установлено несколько разных брендов, отключение одного приложения для сотовой связи непреднамеренно отключает их все, и я не могу понять, почему.
Повторим еще раз: каждое приложение, естественно, имеет свой собственный идентификатор пакета, так почему отключение сотовых данных для одного приложения может привести к его сбою для других брендов?
Я провел дополнительные исследования и эксперименты, и, насколько я могу судить, iOS каким- то образом идентифицирует отключенное приложение на основе двоичного файла приложения. То есть фактически встроенный исполняемый файл внутри пакета приложения, а не идентификатор пакета, как можно было бы интуитивно ожидать.
Если я создам две разные сборки и присвою каждой из них несколько брендов, то отключение одного из фирменных приложений отключит сотовую связь для всех брендов в этой группе (т. разный бинарник. Кроме того, переименование встроенного двоичного файла не имеет никакого эффекта, поэтому оно явно основывается на содержимом исполняемого файла (возможно, на контрольной сумме или внутреннем идентификаторе).
Насколько я могу судить, это просто ошибка в реализации этой функции на iOS, и я не могу придумать никакого способа обойти это, кроме полного изменения того, как мы брендируем наши приложения. Я отправил отчет об ошибке в Apple.
0942v8653
devios1
Эндрю Ларссон
CellularUsage.db
базе данных с приложениями той же компании и другими вещами. О, и у вас есть какие-нибудь конкретные примеры, на которых я мог бы проверить?devios1
Тим Мэлоун