首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最新的macOS版本10.15.4声明代码签名对客户无效

最新的macOS版本10.15.4声明代码签名对客户无效
EN

Stack Overflow用户
提问于 2020-03-28 19:42:55
回答 1查看 2K关注 0票数 1

好的,我正在使用macOS桌面应用程序的协同设计和(验证)公证。

我还通过下载和执行在macOS 10.15.3上测试自己的下载。(例如,如果我忘记编码签名,那么我就无法运行可执行文件)

但是现在我有一个客户使用macOS 10.15.4,他发送了一个屏幕截图,显示了以下错误:

异常类型: EXC_Crach (Coode签名无效)

例外代码: 0x0000000000000000,0x0000000000000000

附加说明: EXC_CORPSE_NOTIFY

终止原因:名称空间CODESIGNING,代码0x1

以下是我如何签名的相关部分

代码语言:javascript
复制
  codesign --force --options runtime --timestamp --entitlements "/Volumes/DiskW/projects-cool/myapp/osx/shrents/casc-dlv.plist" --sign "Example" "/Volumes/DiskW/projects-cool/myapp/osx/finaldist/myapp.app"

  codesign --display --entitlements :- "/Volumes/DiskW/projects-cool/myapp/osx/finaldist/myapp.app"

  /usr/bin/xcrun altool --notarize-app --primary-bundle-id "com.example.myapp" -u "info@example.com" -p "xxx" -t osx -f "/Volumes/DiskW/projects-cool/myapp/osx/finaldist/myapp.zip"

  /usr/bin/xcrun altool --notarization-info yyyy -u "info@example.com" -p "xxx"

  /usr/bin/xcrun stapler staple -v "/Volumes/DiskW/projects-cool/myapp/osx/finaldist/myapp.app"

文件的内容:

代码语言:javascript
复制
<!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.cs.disable-library-validation</key>
    <true/>
</dict>
</plist>

Info.plist含量

代码语言:javascript
复制
<?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>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleExecutable</key>
    <string>MyApp</string>
    <key>CFBundleName</key>
    <string>MA</string>
    <key>LSApplicationCategoryType</key>
    <string></string>
    <key>CFBundleIdentifier</key>
    <string>com.example.MyApp</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleSignature</key>
    <string>a1wse</string>
    <key>CFBundleShortVersionString</key>
    <string>10.1.4</string>
    <key>CFBundleVersion</key>
    <string>10.1.4</string>
    <key>CFBundleIconFile</key>
    <string>MyApp.icns</string>
    <key>CSResourcesFileMapped</key>
    <true/>
    <key>NSRequiresAquaSystemAppearance</key>
    <true/>             
    <key>NSAppTransportSecurity</key>
    <dict>
      <key>NSAllowsArbitraryLoads</key>
      <true/>       
    </dict>
    <key>CFBundleDocumentTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>*</string>
            </array>
            <key>CFBundleTypeOSTypes</key>
            <array>
                <string>fold</string>
                <string>disk</string>
                <string>****</string>
            </array>
        </dict>
    </array>
    <key>NSHighResolutionCapable</key>
    <true/>
    <key>LSMinimumSystemVersion</key>
    <string>10.8</string>       
</dict>
</plist>

在macOS中检查我的“密钥链”:

  • "Developer ID应用程序:示例(xyz)"

(与此无关)

..。

看:https://developer.apple.com/account/resources/profiles/list

我只有多年前用于开发应用程序的过期配置文件。

EN

回答 1

Stack Overflow用户

发布于 2020-04-05 07:55:41

删除应享权利/ casc-dlv.plist似乎解决了这个问题。

这是一个答案,因为它解决了问题,但我不认为这个答案是正确的,因为在许多情况下,仅仅倾销权利是不可能的。

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

https://stackoverflow.com/questions/60906085

复制
相关文章

相似问题

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