У меня есть две версии Xcode, Xcode 3.2.3 и предварительный просмотр разработчика Xcode4. Как обеспечить из Applescript, что выбрана версия 3.2.3?Как запустить определенную версию Xcode из Applescript?
ответ
Вместо того, чтобы просто ссылки Xcode по его имени, то есть:
tell application "Xcode"
...
end tell
вы можете также ссылаться на конкретную версию приложения на полный путь к POSIX, а именно:
tell application "/Developer/Applications/Xcode 3.2.3.app"
...
end tell
Смотрите также Раздел руководства по языку AppleScript на странице application class.
Более сложное решение включает поиск базы данных служб запуска для всех версий приложения, установленных в системе. Затем вы можете программно выбрать один вариант с требуемой версией:
property pLSRegisterPath : "/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister"
property pAppBundleID : "com.apple.Xcode"
property pAppRequiredVersion : "3.2.3"
set theAppPaths to every paragraph of (do shell script pLSRegisterPath & " -dump | grep --before-context=2 \"" & pAppBundleID & "\" | grep --only-matching \"/.*\\.app\"")
set xcodeApp to missing value
repeat with theAppPath in theAppPaths
try
if (version of application theAppPath) = pAppRequiredVersion then
set xcodeApp to application theAppPath
exit repeat
end if
end try
end repeat
if xcodeApp = missing value then
error "Needed application version not installed."
end if
using terms from application "Xcode"
tell xcodeApp
activate
end tell
end using terms from
Вы можете запустить приложение по его идентификатору, как это. Возможно, у двух версий будут разные идентификаторы.
tell application id "com.apple.AddressBook"
-- do something
end tell
Вы можете получить идентификатор приложения, с помощью этого ...
tell application "Finder" to return id of (choose file)
У них действительно есть разные идентификаторы пакетов, Xcode 3 - «com.apple.Xcode», а Xcode 4 - «com.apple.dt.Xcode». Я не уверен, что так будет, когда Xcode 4 станет последним, но вы можете использовать его на данный момент по крайней мере. –
Я думал, что они могут. Я видел демо v4, и он выглядит так по-другому. Я был уверен, что у него будут разные предпочтения, а это значит, что у него должен быть другой идентификатор. Идентификатор и имя файла pref совпадают. – regulus6633
- 1. AppleScript нажмите «запустить» в Xcode
- 2. Как создать и запустить Xcode с Applescript?
- 3. Запустить applescript из C
- 4. запустить Xcode с помощью AppleScript (osascript)
- 5. Как изменить версию приложения applescript?
- 6. Как скачать определенную версию кода из RTC?
- 7. Как запустить определенную версию Java с помощью программы?
- 8. Как сказать Firefox запустить определенную версию в Selenium webdriver?
- 9. Как запустить AppleScript из сценария Python?
- 10. Как запустить Applescript из пакета java
- 11. Как импортировать определенную версию модуля
- 12. Как я могу запустить кнопку Applescript?
- 13. Как восстановить определенную версию записи
- 14. Как запустить приложение iOS в Simulator из терминала и AppleScript
- 15. Как установить определенную версию арматуры?
- 16. Как установить определенную версию npm?
- 17. Как загрузить определенную версию SQlite?
- 18. Как использовать определенную версию CocoaPods
- 19. Как загрузить определенную версию llvm?
- 20. Как загрузить определенную версию сборки
- 21. Как установить определенную версию gcc
- 22. Загрузить определенную версию PHP
- 23. Запустить определенную версию python, которая не находится в PATH
- 24. Как запустить старую версию Xcode на последнем сервере MacOS?
- 25. SonarQube скачать определенную версию
- 26. Требовать определенную версию JRE
- 27. установить версию приложения из xcode
- 28. Как запустить applescript при выключении?
- 29. Как сказать Webdriver использовать определенную версию ChromeDriver?
- 30. Applescript form в Xcode
О, да я делал это раньше. Но теперь я хочу альтернативу без необходимости указывать указанный путь. Интересно, как сценарий выбирает один из двух пакетов .app. – Plumenator
@Plumenator Я обновил свой ответ с помощью альтернативного решения, которое явно ищет нужную версию Xcode. – sakra
Ничего себе, это выглядит правильно! Лемм иди на работу и попробуй это утром. Btw, нужен блок «использования терминов»? И как вы знаете этот материал? Часть сервисов запуска esp.? – Plumenator