User Tools

Site Tools

study:qt-topic:20241113-001:index

QT-Mac:在Mac下實現QT程式的打包及公證 (2024-11-13)

Locak Backup

  • 一、QT程式在Mac下的生成
    • QT程式在Mac下可以使用QT Creator工俱生成,也可以使用XCode進行生成。 QT Creator怎麼生成不提,基本上與Windows一致。我們可以使用qmake yourproject.pro -spec macx-xcode 指令產生XCode項目,然後可以用XCode工具開啟yourproject.xcodeproj,然後點擊build來生成,通常是在同級目錄下,存在一個Debug資料夾中
  • 二、QT程式在Mac下的打包
    • QT程式在Mac平台上,我們可以使用macdeployqt yourapp.app檔案來實現打包工作,如果後面新增-dmg參數,則產生鏡像檔。 macdeployqt 會自動將依賴的QT庫移到App的Frameworks下,其他的依賴的第三方則需要自己手動放置,當然我們可以編寫Shell腳本來實現。
  • 三、QT程式在Mac下的公證(notarize app)
    • 公證主要是為了防止MacOS gatekeeper在安裝時的阻攔,相當於有了身分。在公證之前,需要對app進行簽名,簽名包括對依賴庫的簽名和對app的簽名
    • 1.簽名
      • 簽章主要是使用codesign指令對dylib和app檔的操作
    • 2.公證
      • 公證之前需要先獲得自己的開發者證書,具體如何取得,可以參考Apple的Developer指南。
    • 遇見的問題:
      • 1.簽名公證後,安裝執行時,提示無法運作之類的
        • 一般是簽名的時候app包裡頭包含.DS_Store文件,把他刪掉就可以了。
  • 四、上傳Apple Store
    • 目前沒有上傳應用程式商店,等後續有操作了,再來記錄

Permalink study/qt-topic/20241113-001/index.txt · Last modified: 2024/11/13 09:39 by jethro

oeffentlich