首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >macos应用程序无法工作的公证进程

macos应用程序无法工作的公证进程
EN

Stack Overflow用户
提问于 2019-05-26 18:05:23
回答 3查看 791关注 0票数 1

我已经为MacOS开发了一个应用程序。我正在将公证过程作为其分发的一部分。我已经遵循了所有的步骤,并且我已经运行:

代码语言:javascript
复制
xcrun altool --notarize-app --primary-bundle-id "${APP_BUNDLE_ID}" --username "${APPLE_DEV_ID}" --password "${DEV_APP_SPECIFIC_PASSWORD}" --file "${DMG_PATH}"  

然后,我使用以下命令检查公证进度:

代码语言:javascript
复制
xcrun altool --notarization-info "${notarize_uuid}"  -u "${APPLE_DEV_ID}" -p "${DEV_APP_SPECIFIC_PASSWORD} 

它的输出是:

代码语言:javascript
复制
RequestUUID: =<Request>  
      Date: 2019-05-26 09:40:34 +0000  
    Status: success  
    LogFileURL: <Log file>  
    Status Code: 0  
    Status Message: Package Approved =~ success ]] 

然后我启动staple命令:

代码语言:javascript
复制
xcrun stapler staple -v <dmg file>

它也以成功告终:

代码语言:javascript
复制
The staple and validate action worked!  

但是,当我提取.app文件并运行:

代码语言:javascript
复制
spctl --assess --verbose ./macos/MyApp.app  
./macos/MyApp.app/: accepted  

根据我读过的文档,它应该是这样的:“source=Notarized开发人员ID”,对吗?

我在MacOS Mojave 10.14.5上运行

我遗漏了什么??

有人能帮帮我吗?

提前感谢

EN

回答 3

Stack Overflow用户

发布于 2019-05-28 01:58:51

如果有人遇到同样的问题,我会把解决方案贴出来:

首先,必须装订.app文件,而不是装订dmg。这意味着您必须提取二进制文件并将其装订起来

此外,为了检查申请是否经过公证,请在

代码语言:javascript
复制
`System Preferences - Security and Privacy`

选项Allow apps downloaded from:必须选中Apple Store and identifier developers选项

希望这能有所帮助

票数 0
EN

Stack Overflow用户

发布于 2019-06-18 16:30:40

appdmg可以一个接一个地分别进行公证和装订。尝试这样做,错误应该会消失。

票数 0
EN

Stack Overflow用户

发布于 2019-12-04 17:17:41

Short answer

这可能是由于RPATH引用了应用程序包外部的路径。删除此RPATH将解决此问题。

检查日志文件

您可以在Console.app中找到有关拒绝的额外信息(在尝试启动被阻止的应用程序之后)。请注意,在尝试打开被阻止的应用程序之前,您应该打开Console.app,否则可能不会记录所有消息。您应该在设备的日志中查找process XprotectService (即在Console.app的左侧栏中选择您的设备)。如果RPATH确实是问题所在,您应该可以找到这样的记录:

XprotectService:文件/path/to/your/executable/or/library在rPathCmd上失败/r路径/导致/ com.apple.xprotect:xprotect /问题(r路径解析为:(未找到路径),bundleURL: /path/to/your/bundle.app)

检查这些日志文件也可以为您解决其他问题提供一把钥匙。

请注意,我从一位苹果工程师那里收到了以下信息:

公证过程纯粹是为了检测恶意软件,并不复制网守强制执行。您仍然需要对软件进行公证,并使用Gatekeeper进行测试。

我们希望在未来为开发人员提供更好的工具,以预测一些常见的错误。

联系苹果公司

如果您无法使用上述信息解决您的问题,您可能需要使用Feedback Assistant与苹果联系。他们的反应不是很快(~1-2周),但答案是相当中肯的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56312548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档