Mac app文件签名与公证

一、Mac app文件签名与公证

在钥匙串中创建要公证app的profile(公证的时候会用到)

xcrun notarytool store-credentials "mac_app" --apple-id "xxxxxxxx@163.com" --team-id "S24Z9326XX" --password "fnjx-qjoe-lksd-xxxx"

store-credentials:随便起名字,自己记住就行,后面会用
apple-id:Apple ID team-id:团队ID
https://appleid.apple.com/account/manage 可以查看到 password:App专用密码,可以在AppleID管理那里生成
请添加图片描述
请添加图片描述

1.获取打包完成后的App文件,并cd到.app所在目录

cd /Users/xxxx/Desktop/code/

2.app签名
特别注意,使用"Developer ID Application" 去签名
产看可用于用签名的证书

security find-identity -v -p codesigning
codesign -f -o runtime -s "Developer ID Application: xx (S39Z9426XX)" -v test.app/Contents/MacOS/test --deep

终端输出:signed app bundle with Mach-O thin (x86_64) [com.fjsi.test]

codesign -f -o runtime -s "Developer ID Application: xx (S39Z9426XX)" -v test.app --deep

3.app文件转为zip文件(不要右键压缩,会有mac文件系统隐藏文件)

ditto -c -k --keepParent test.app test.app.zip

4.公证,mac_app 对应公证app的profile

xcrun notarytool submit cw-navigation.app.zip --keychain-profile "mac_app" --wait

终端输出:
Submission ID received
id: ef289eb0-606b-45d3-b383-0b72490247f4
Successfully uploaded file15.3 MB of 15.3 MB)
id: ef289eb0-606b-45d3-b383-0b72490247f4
path: /Users/xx/Desktop/Payload/test.app.zip
Waiting for processing to complete.
Current status: Accepted…
Processing complete
id: ef289eb0-606b-45d3-b383-0b72490247f4
status: Accepted

根据id查看公正的信息

xcrun notarytool log "ef289eb0-606b-45d3-b383-0b72490247f4" --keychain-profile "mac_app"
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mac应用程序中,如果想要在沙盒中写入文件,首先需要了解沙盒是什么。沙盒是一种安全机制,用于限制应用程序的访问权限,确保应用程序只能访问特定的文件文件夹。因此,在沙盒中写入文件需要遵循一些规则和限制。 首先,需要使用特定的API来进行文件写入操作,例如使用`NSFileManager`类中的方法`createFileAtPath:contents:attributes:`。在使用这些API时,需要提供要写入的文件路径和文件内容,同时需要注意路径是相对于应用程序沙盒的。 其次,由于沙盒的限制,应用程序只有读取和写入自己的沙盒中的文件的权限,无法直接读取和写入其他应用程序或系统文件。这意味着,如果想要在沙盒中写入文件,需要明确文件的路径,并且只能写入自己的沙盒文件夹中。 另外,由于沙盒限制了应用程序对系统的访问权限,某些特定位置的文件写入可能会受到限制。例如,写入`/Applications`文件夹下的文件是不被允许的。因此,需要在写入文件之前,先判断文件路径是否可写,并处理写入失败的情况。 最后,为了确保应用程序在用户重启电脑后仍然能够访问到写入的文件,可以将文件保存在应用程序的特定文件夹中,例如`~/Library/Application Support/YourAppName`。这样,文件将会一直保存在用户的沙盒中,即使应用程序被关闭和重启。 总而言之,要在Mac应用程序的沙盒中写入文件,需要使用特定的API进行操作,并遵循沙盒的限制和规则。这样可以保证应用程序能够安全、可靠地进行文件写入操作,并且在用户重启电脑后仍然能够访问到写入的文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值