Можно ли использовать FileMerge как автономное приложение?

Мне интересно, есть ли способ использовать FileMerge в качестве автономного инструмента. Я не хочу устанавливать Xcode, так как мне это не нужно. Я просто хочу приложение FileMerge. Это возможно?

FileMerge 2.8, который поставляется с Xcode 5.0.1, связанными с фреймворками, которые находятся внутри пакета Xcode.app. Общие библиотеки, которые используются FileMerge, можно отобразить, выполнив команду:

otool -L /Applications/Xcode.app/Contents/Applications/FileMerge.app/Contents/MacOS/FileMerge 

Результат этой команды указывает, что FileMerge должен использовать рамки DevToolsInterface, DevToolsCore и DevToolsFoundation. :

 /Applications/Xcode.app/Contents/Applications/FileMerge.app/Contents/MacOS/FileMerge: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1247.0.0) /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1052.0.0) @rpath/DevToolsInterface.framework/Versions/A/DevToolsInterface (compatibility version 1.0.0, current version 3000.1.0) @rpath/DevToolsCore.framework/Versions/A/DevToolsCore (compatibility version 1.0.0, current version 2404.0.0) @rpath/DevToolsFoundation.framework/Versions/A/DevToolsFoundation (compatibility version 1.0.0, current version 3001.0.0) /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1) /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 852.0.0) 

Префикс @rpath указывает, что dyld будет использовать список путей запуска для поиска фреймворков, на которые ссылаются. В частности, FileMerge содержит "../OtherFrameworks" в своем списке путей запуска. Когда они находятся внутри комплекта Xcode.app, эти рамки правильны там, где FileMerge ожидает их.

Однако, если вы скопируете FileMerge из пакета Xcode.app, FileMerge выйдет из строя при запуске. Это происходит потому, что ссылочные фреймворки (на которые ссылаются выше) не находятся в списке путей запуска, что приводит к выходу dyld с ошибкой "image not found" . Причина, по которой он не может найти эти ссылочные фреймворки, заключается в том, что папка с относительным путем "../OtherFrameworks" не существует, а рамки не существуют ни в каких других папках, перечисленных в пути выполнения.

Чтобы использовать FileMerge без установленного приложения Xcode, у вас есть несколько вариантов:

  1. Скопируйте FileMerge в выбранное вами место и скопируйте содержимое /Applications/Xcode.app/Contents/OtherFrameworks/ в одну из папок, на которые ссылаются в списке путей выполнения ( ~/Library/Frameworks или /Library/Frameworks , вероятно, являются пара лучших вариантов).

  2. Скопируйте FileMerge в выбранное вами место и скопируйте содержимое /Applications/Xcode.app/Contents/OtherFrameworks/ в "../OtherFrameworks" относительно приложения FileMerge (например, если FileMerge находится в ~/Applications , скопируйте папку "OtherFrameworks" в ~/OtherFrameworks

редактировать

Вышеупомянутый ответ позволяет FileMerge запускаться, но приложение прекращается, когда вы пытаетесь сравнить файлы. По-видимому, приложение ищет информацию о платформе на пути ../Developer/Platforms/MacOSX.platform/Info.plist . Это означает, что необходимо скопировать Info.plist из /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist в ../Developer/Platforms/MacOSX.platform/Info.plist (относительно FileMerge.app). Вот несколько шагов, которые можно было бы использовать для копирования FileMerge в папку в ~/Applications :

 mkdir ~/Applications cp -R /Applications/Xcode.app/Contents/Applications/FileMerge.app ~/Applications cp -R /Applications/Xcode.app/Contents/OtherFrameworks/* ~/Library/Frameworks mkdir -p ~/Developer/Platforms/MacOSX.platform cp /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist ~/Developer/Platforms/MacOSX.platform 

Да, это возможно.

Откройте Finder и найдите XCode.app. Щелкните правой кнопкой мыши, а затем «Показать содержимое пакета». Вы найдете папку под названием «Приложения». Теперь перетащите файл Merge из него, и вы можете удалить Xcode.

  • Не удалось создать модуль
  • Xcode дает ошибку .DS_Store
  • Где находится «Получить информацию» в Xcode 4.2?
  • Невозможно изменить размер шрифта в Xcode 4?
  • Как я могу остановить ios Simulator от сбоев на Mountain Lion с XCode 4.5.1?
  • Проблема Обновление Xcode 4.1 до 4.2
  • Как остановить Xcode от замены «выбранного» символа другим символом?
  • Как удалить Xcode IDE без полного удаления инструментов dev
  • Как отобразить имя проекта в минимизированном Xcode?
  • «Xcode helper» хотел бы управлять этим компьютером. Является ли этот запрос законным?
  • Не удалось работать с каталогом поиска в расширении finderSync
  • Interesting Posts

    Macbook, Mavericks, Календарь

    Что означают светлые серые названия песен в iTunes?

    iOS 7: Распаковка ZIP-файлов, изначально

    Ошибка AppleScript: я не могу преобразовать расширенный текст в обычный текст

    Нет результатов поиска в приложении «Контакты» на IOS 9

    Как взаимодействовать с программами, когда имена читаются из списка

    Дискета стала нечитаемой после ее инициализации на старом Mac

    Файлы на рабочем столе не удаляются, скажем, «Нет элементов выбрано» при предварительном просмотре

    Будет ли переустановка Lion удалить все мои документы и приложения?

    Видеоролики Remux для iTunes Playability?

    Преобразование видео в фоновом режиме с помощью автомата и ручного тормоза

    Предложение автозаполнения терминала MacOS

    Как я могу помешать Mac выбрать свой Apple TV в качестве источника звука по умолчанию

    Ошибка проверки информации о платежах в семье

    Какие части вы можете обновить на MacBook Pro?

    Давайте будем гением компьютера.