Sparkle appcast签名:更新未正确签名

时间:2014-07-27 12:36:16

标签: xcode macos codesign sparkle

我正在努力解决这个问题但没有运气。我正在归档项目并使用开发人员签名格式的XCode导出。

我需要设置什么才能正确签署此更新:

  • 在项目构建设置页面(当前开发者ID:Jeremy Laurenson(XXXX))
  • 在目标构建设置页面(当前开发者ID:Jeremy Laurenson(XXXX))

在我的Sparkle框架签名构建脚本中:

LOCATION="${BUILT_PRODUCTS_DIR}"/"${FRAMEWORKS_FOLDER_PATH}"
IDENTITY="Mac Developer: Jeremy Laurenson (XXXX)"
codesign --verbose --force --sign "$IDENTITY" "$LOCATION/Sparkle.framework"

在我的app演员签名脚本中:

#!/bin/bash

PROJECT_NAME=testapp

set -o errexit echo "Getting version of the app $PROJECT_NAME here in this directory." VERSION=$(/usr/libexec/PlistBuddy -c "Print

:CFBundleVersion" "$PROJECT_NAME.app/Contents/Info.plist")
DOWNLOAD_BASE_URL="http://www.map-pin.com/sparkle/testapp"
RELEASENOTES_URL="http://www.map-pin.com/sparkle/testapp/release-notes.html#version-$VERSION"

ARCHIVE_FILENAME="$PROJECT_NAME$VERSION.zip" DOWNLOAD_URL="$DOWNLOAD_BASE_URL/$ARCHIVE_FILENAME"

WD=$PWD

echo "Removing all previous $PROJECT_NAME*.zip"

rm -f "$PROJECT_NAME"*.zip

1 个答案:

答案 0 :(得分:1)

事实证明......

您可以使用AppleID对代码进行编码,也可以使用Sparkle以前使用的公钥/私钥方法进行代码签名,但不能同时使用。

最简单的方法是:

  1. 删除应用的构建设置中的所有代码签名步骤。
  2. 下载一个新的github版本的sparkle here,同样创建一个vanilla,unsigned框架。
  3. 在新项目中使用该框架。
  4. 存档,使用开发ID进行签名
  5. 使用上面的脚本,没有DSA签名:

    cat>" sparkle_appcast_update.txt" < 版本$ VERSION $ RELEASENOTES_URL $ pubdate的 EOF