大佬教程收集整理的这篇文章主要介绍了Electron 向Mac App Store 应用提交向导的方法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
自从 v0.34.0, Electron 就允许提交应用包到 Mac App Store(MAS) . 这个向导提供的信息有 : 如何提交应用和 MAS 构建的限制.
注意: 从 v0.36.0,当应用成为沙箱之后,会有一个 bug 阻止 GPU 进程开启 , 所以在这个 bug 修复之前,建议使用 v0.35.x .更多查看 issue #3871 .
注意: 提交应用到 Mac App Store 需要参加 Apple DeveloperProgram , 这需要花钱.
下面步骤介绍了一个简单的提交应用到商店方法.然而,这些步骤不能保证你的应用被 Apple 接受;你仍然需要阅读 Apple 的 Submitting Your App 关于如何满足 Mac App Store 要求的向导.
为了提交应用到商店,首先需要从 Apple 获得一个证书.可以遵循 existing guides.
获得证书之后,你可以使用 Application DiStribution 打包你的应用, 然后前往提交你的应用.这个步骤基本上和其他程序一样,但是这 key 一个个的标识 Electron 的每个依赖.
首先,你需要准备2个授权文件 .
child.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>com.apple.security.app-sandbox</key> <true/> <key>com.apple.security.inherit</key> <true/> </Dict></plist>
parent.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>com.apple.security.app-sandbox</key> <true/> </Dict></plist>
然后使用下面的脚本标识你的应用 :
#!/bin/bash# Name of your app.APP="YourApp"# The path of you app to sign.APP_PATH="/path/to/YouApp.app"# The path to the LOCATIOn you want to put the signed package.RESULT_PATH="~/Desktop/$APp.pkg"# The name of certificates you requested.APP_KEY="3rd Party Mac Developer Application: Company Name (APPIDENTITY)"INSTALLER_KEY="3rd Party Mac Developer Installer: Company Name (APPIDENTITY)"FRAMEWORKS_PATH="$APP_PATH/Contents/Frameworks"codesign --deep -fs "$APP_KEY" --entitlements child.plist "$FRAMEWORKS_PATH/Electron Framework.framework/Versions/A"codesign --deep -fs "$APP_KEY" --entitlements child.plist "$FRAMEWORKS_PATH/$APP Helper.app/"codesign --deep -fs "$APP_KEY" --entitlements child.plist "$FRAMEWORKS_PATH/$APP Helper EH.app/"codesign --deep -fs "$APP_KEY" --entitlements child.plist "$FRAMEWORKS_PATH/$APP Helper NP.app/"if [ -d "$FRAMEWORKS_PATH/Squirrel.framework/Versions/A" ]; then # Signing a non-MAS build. codesign --deep -fs "$APP_KEY" --entitlements child.plist "$FRAMEWORKS_PATH/Mantle.framework/Versions/A" codesign --deep -fs "$APP_KEY" --entitlements child.plist "$FRAMEWORKS_PATH/ReactiveCocoa.framework/Versions/A" codesign --deep -fs "$APP_KEY" --entitlements child.plist "$FRAMEWORKS_PATH/Squirrel.framework/Versions/A"ficodesign -fs "$APP_KEY" --entitlements parent.plist "$APP_PATH"productbuild --component "$APP_PATH" /Applications --sign "$INSTALLER_KEY" "$RESULT_PATH"
如果你是 OS X 下的应用沙箱使用新手,应当仔细阅读 Apple 的 Enabling App Sandbox 来有一点基础,然后向授权文件添加你的应用需要的许可 keys .
在签名应用之后,可以使用应用 Loader 来上传到 iTunes 链接处理 , 确保在上传之前你已经 created a record. 然后你能 submit your app for review.
@H_713_38@mAS构建限制为了让你的应用沙箱满足所有条件,在 MAS 构建的时候,下面的模块被禁用了 :
crashReporter
autoupdater
并且下面的行为也改变了:
一些机子的视频采集功能无效.
某些特征不可访问.
Apps 不可识别 DNS 改变.
也由于应用沙箱的使用方法,应用可以访问的资源被严格限制了 ; 阅读更多信息 App Sandboxing .
取决于你所在地方的国家和地区 , Mac App Store 或许需要记录你应用的加密算法 , 甚至要求你提交一个 U.S 加密注册(ERN) 许可的复印件.
Electron 使用下列加密算法:
AES - NIST SP 800-38A, NIST SP 800-38D, RFC 3394
HMAC - FIPS 198-1
ECDSA - ANS X9.62–2005
ECDH - ANS X9.63–2001
HKDF - NIST SP 800-56C
PBKDF2 - RFC 2898
RSA - RFC 3447
SHA - FIPS 180-4
DES - FIPS 46-3
DH - RFC 2631
DSA - ANSI X9.30
EC - SEC 1
IDEA - "On the Design and Security of Block Ciphers" book by X. Lai
RC2 - RFC 2268
RC4 - RFC 4345
RIPEMD - ISO/IEC 10118-3
如何获取 ERN 许可, 可看这篇文章: How to legallysubmit an app to Apple’s App Store when it uses encryption (or how to obtain anERN).
以上是大佬教程为你收集整理的Electron 向Mac App Store 应用提交向导的方法全部内容,希望文章能够帮你解决Electron 向Mac App Store 应用提交向导的方法所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。