У меня есть приложение OSX, построенное с Qt. Он кодируется, упакован в соответствии с макстором и одобрен яблоком, и он готов к продаже в магазине mac.путь сборки продукта игнорируется при установке
Хотя после его установки он устанавливается в место, где он находился во время процесса упаковки вместо/Применения.
В качестве альтернативы я создаю пакет .dmg файла, который я могу установить в/Приложения.
В конце процедуры сборки я бег этих команд:
codesign --force --deep --verify MyApp.app/ --entitlements ${INSTDIR}/Entitlements.plist -s "3rd Party Mac Developer Application: Company Name"
productbuild --component MyApp.app /Applications --sign "3rd Party Mac Developer Installer: Company Name" MyApp.pkg
Результат которых является PKG, который я пытаюсь установить с помощью инсталлятора:
$ sudo installer -store -pkg MyApp.pkg -target/
installer: Note: running installer as an admin user (instead of root) gives better Mac App Store fidelity
installer: MyApp.pkg has valid signature for submission: 3rd Party Mac Developer Installer: Company Name (key)
installer: Installation Check: Passed
installer: Volume Check: Passed
installer: Bundle com.CompanyName.MyApp will be relocated to /Users/peti/dev/build/bin/Mac/release/MyApp.app
installer: Starting install
installer: Install 0.0% complete
installer: Install 17.1% complete
installer: Install 96.4% complete
installer: Install 100.0% complete
installer: Finished install
Сразу после создания продукта было указано перемещение/Приложения, но он не установил его там! В следующем прогоне он скажет неправильный путь. Я также пытался установить из разных мест.
Я также попытался установить приложение из Mac Store, которое делает то же самое ... Он переходит на неправильный путь.
Я использовал:
pkgutil --expand
Для извлечения пакета. Файл PackageInfo говорит следующее:
<pkg-info overwrite-permissions="true" relocatable="false" identifier="com.CompanyName.MyApp" postinstall-action="none" version="3.0.0" format-version="2" generator-version="InstallCmds-502 (14F1605)" install-location="/Applications" auth="root" preserve-xattr="true">
Любые идеи, что может быть неправильным? Я пытался использовать Google для решения, но не повезло. Где можно сохранить этот неправильный путь? Я не вижу путь, встроенный в какой-либо файл, до создания продукта. Является ли productbuild чем-то странным?
'.dmg' - это образ диска, а не пакет, но вы можете хранить на нем' .pkg'. –
@ I'L'I Я понимаю, что я не понимаю, почему место упаковки имеет какое-либо отношение к пути установки. – tothphu
Если вы имеете в виду места, где находятся файлы при его создании, то это потому, что он использует это, чтобы определить, где его установить. –