Skip to content

Mac打包以及公证脚本,包括app公证和打包pkg的公证

Notifications You must be signed in to change notification settings

CaicaiNo/Apple-Mac-Notarized-script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apple-Mac-Notarized-script

Mac公证打包脚本 需要自行配置

1.证书

2.工程名

3.选用的打包形式

4.Developer Installer证书

5.苹果账号

6.ExportPlist文件信息

7.打包pkg需要下载Packges,见 https://blog.csdn.net/shengpeng3344/article/details/103375025

8.钥匙串需要电脑密码,请将yourpassword改为你的密码,loginkeychain是否正确也因人而异

若需要参考,前往博客 https://blog.csdn.net/shengpeng3344/article/details/103369804

另外动态库的引用关系没有在这里处理,放在了工程脚本中处理。见 https://blog.csdn.net/shengpeng3344/article/details/103203179

Usage

脚本调用使用终端命令:sh Apple-Mac-Notarized-script.h app-notarization

app-notarization为参数,可以配置,为下面3种

  1. app-onlybuild 表示仅打包zip和pkg,传到服务器
  2. app-notarization 表示公证包含app的zip,并打包pkg,传到服务器
  3. pkg-notarization 表示公证app后,打包进pkg,再进行二次公证,传到服务器

2024.02.20

web公证脚本

从 2023.11.01 起,老的公证方式不再支持,这里需要切换为 web 公证方式, 你需要替换老的脚本中公证部分的处理

https://blog.csdn.net/shengpeng3344/article/details/136197460

脚本文件提供了缓存机制,会根据公证的pkg的md5进行缓存上传和公证结果,如果中途失败,下次继续公证则不用上传

  1. 替换你的秘钥文件 (例如 AuthKey_2X9R4HXF34.p8)
private_key = f"./../../res/AuthKey_2X9R4HXF34.p8"
  1. 设置你的 kid
# 设置 JWT  header
jwt_header = {
    "alg": "ES256",
    "kid": "2X9R4HXF34",
    "typ": "JWT"
}
  1. 设置你的iss
# 设置 JWT  payload
jwt_payload = {
    "iss": "57246542-96fe-1a63-e053-0824d011072a",
    "iat": int(now.timestamp()),
    "exp": int(expires.timestamp()),
    "aud": "appstoreconnect-v1",
    "scope": [
        "GET /notary/v2/submissions",
        "POST /notary/v2/submissions",
    ]
}
  1. 调用脚本
python3 -u ./notarize.py --pkg "./Output/${PACKAGE_NAME}_$TIME_INDEX.pkg" --private-key "./../../res/AuthKey_2X9R4HXF34.p8"

if [ $? -eq 0 ]; then
    echo "./Output/aTrustInstaller_$TIME_INDEX.pkg notarization successful"
    // 公证成功
else
    // 公证失败
    echo "./Output/aTrustInstaller_$TIME_INDEX.pkg notarization failed"
    exit 1
fi

About

Mac打包以及公证脚本,包括app公证和打包pkg的公证

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published