Можно ли запустить две копии приложения Mac с разными файлами plist?


3

Я пытаюсь запустить две версии Messagesприложения на OSX с двумя разными учетными записями пользователей. Я могу легко скопировать / вставить .appфайл и запустить приложение как два разных процесса, но, поскольку они используют один и тот же plist и базу данных, они имеют одинаковые учетные записи / данные (вот хороший список файлов, которые он создает: https: // apple. stackexchange.com/a/107120/62420 )

Можно ли изменить место хранения одного или нескольких приложений? Могу ли я запустить приложение таким образом, чтобы при запросе доступа к файлу я мог изменить истинное местоположение файла запрашиваемого файла? Например, если он запрашивает, ~/Library/Preferences/com.apple.imservice.iMessage.plistмогу ли я перенаправить его ~/Library/Preferences/com.apple.imservice.iMessage2.plistна имя процесса или идентификатор?


1
Никогда не пробовал это с приложением Apple, но обычно вы можете сделать такой трюк перед компиляцией ... так что я бы сказал, что вам не повезло.
Tetsujin

Chroot Jail должен работать для вас
ssnobody

Ответы:


1

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

Apple предлагает вести отдельные учетные записи компьютеров для работы с несколькими пользователями на одном компьютере.

Конечно, вы можете создать для нее дополнительную учетную запись, чтобы настройки ее учетной записи iMessage отличались от ваших.



1

Нет, это невозможно, потому что кодирование подписано в OSX для предотвращения вмешательства в приложения. Plist является частью пакета, поэтому является частью подписи разработчика.

глубокая подпись кода

Info.plist в комплекте приложений определяет конфигурацию, которая не встроена в структуру пакета см . Идентификатор пакета относится к файлам предпочтений, которые он может записать. Поскольку идентификатор пакета является частью приложения и, следовательно, подписан, вы не можете создать альтернативный файл настроек.

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


Это комментарий, а не ответ, даже если на него набрана награда +100.
JakeGould

Не возьмешь за ответ?
bbaassssiiee

Эти файлы находятся не в комплекте, а в вашем домашнем каталоге
Jason

Информационный список, который сообщает ОС, что такое приложение, находится внутри пакета; открой и посмотри. Если вы не сохраняете какие-либо изменения, вы не нарушите сигнатуру, если вы это сделаете, вы можете [я не разработчик, но я уже портился с этим… и потерпел неудачу, даже собрав свой собственный версия и изменение внутренних компонентов - я мог заставить приложение сформировать независимую структуру папок / prefs, но я не мог заставить его читать / писать в него.
Тецудзин
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.