2017-07-17 79 views
1

我有一個在非xcode工具中開發的macOS .app。我想簽署它,所以用戶可以從我的網站下載。Codesign without xcode - 錯誤代碼對象根本沒有簽名

我手動創建我的「的info.plist」文件,該文件是這樣的:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>CFBundleDevelopmentRegion</key> 
    <string>English</string> 
    <key>CFBundleExecutable</key> 
    <string>mydemo</string> 
    <key>CFBundleName</key> 
    <string>md</string> 
    <key>LSApplicationCategoryType</key> 
    <string></string> 
    <key>CFBundleIdentifier</key> 
    <string>com.company.mydemo</string> 
    <key>CFBundleInfoDictionaryVersion</key> 
    <string>6.0</string> 
    <key>CFBundlePackageType</key> 
    <string>APPL</string> 
    <key>CFBundleSignature</key> 
    <string>md</string> 
    <key>CFBundleShortVersionString</key> 
    <string>1.0</string> 
    <key>CFBundleVersion</key> 
    <string>1</string> 
    <key>CFBundleIconFile</key> 
    <string>mydemo.icns</string> 
    <key>CSResourcesFileMapped</key> 
    <true/> 
    <key>CFBundleDocumentTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleTypeRole</key> 
      <string>Viewer</string> 
      <key>CFBundleTypeExtensions</key> 
      <array> 
       <string>*</string> 
      </array> 
      <key>CFBundleTypeOSTypes</key> 
      <array> 
       <string>fold</string> 
       <string>disk</string> 
       <string>****</string> 
      </array> 
     </dict> 
    </array> 
    <key>NSHighResolutionCapable</key> 
    <true/> 
</dict> 
</plist> 

我有一個蘋果開發者帳戶,並在 https://developer/apple/account/mac/certificate遵循創建開發者ID應用證書的說明。

我現在做這個

codesign -s "Certificate Developer ID Company Name" mydemo.app 

,但得到的錯誤

mydemo.app:代碼對象未簽名的所有成分: mydemo.app/Contents/info.plist

我的.app文件沒有包含在其他庫中 - 只是可執行文件mydemo.app/Contents/MacOS/mydemo

我想成功簽署mydemo.app。我在mydemo.zip發佈我的應用程序,我的目標是當人們下載時。解壓縮,並將其拖入/應用程序將運行更容易

回答

3

info.plist文件名應大寫:

Info.plist 

應該修正之後沒有問題協同設計。

+1

非常感謝 - 一切似乎現在正常工作,就像你說的那樣:) – Tom