gpt4 book ai didi

objective-c - SMJobBless 导致 kSMErrorDomainFramework 错误 5 - 指定路径的工具无效

转载 作者:太空狗 更新时间:2023-10-30 03:35:12 28 4
gpt4 key购买 nike

运行 SMJobBless:

(PrefPane 项目 xcode 版本 4 Build 4A304a)

SMJobBless(kSMDomainSystemLaunchd, @"com.coderama.coderamaHelper", authRef, &err);

导致此错误:

System Preferences[22312:903] Bless Error: Error Domain=kSMErrorDomainFramework Code=5 UserInfo=0x2005790e0 "The operation couldn’t be completed. (kSMErrorDomainFramework error 5 - The tool at the specified path is not valid.)"

下面是我的列表。

任何人都可以破译错误消息,以便我尝试解决此问题吗?我检查了所有的 plist 以确保名称匹配。

coderama-info.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>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.coderama.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2012 coderama. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>coderama</string>
<key>NSPrefPaneIconFile</key>
<string>show_wireframe_zoom_24.gif</string>
<key>NSPrefPaneIconLabel</key>
<string>coderama</string>
<key>NSPrincipalClass</key>
<string>coderama</string>
<key>SMPrivilegedExecutables</key>
<dict>
<key>com.coderama.coderamaHelper</key>
<string>identifier com.coderama.coderamaHelper and certificate leaf[subject.CN] = &quot;Joe Developer&quot;</string>
</dict>
</dict>
</plist>

coderamaHelper-info.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>CFBundleIdentifier</key>
<string>com.coderama.coderamaHelper</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>coderamaHelper</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>SMAuthorizedClients</key>
<array>
<string>identifier com.coderama.coderama and certificate leaf[subject.CN] = &quot;Joe Developer&quot;</string>
</array>
</dict>
</plist>

coderamaHelper-Launchd.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>Label</key>
<string>com.coderama.coderamaHelper</string>
<key>MachServices</key>
<dict>
<key>com.coderama.coderamaHelper.mach</key>
<true/>
</dict>
</dict>
</plist>

最佳答案

我也出现了这个错误,首先再次检查SMJobless项目的readme.txt中声明的步骤:

  1. 在应用程序中转到:Target/Build Phases/Copy Files and make
    确保正确分配了参数:Destination = wrapper,
    subpath = Contents/Library/LaunchServices,最后加载
    守护进程或服务进入项目。
  2. 在应用程序中转到文件 info.plist 并检查以下键:“安装后拥有的工具”并将其设置为=
    标识符 com.acme.MyService 和证书 leaf[subject.CN] =
    “我的证书”。您必须将 MyService 和 MyCertificate 替换为
    你自己的。
  3. 在辅助工具或守护程序中转到 info.plist 文件。在这里你必须添加一些键/值对,第一个是:“Clients allowed添加和删​​除工具”必须设置为“标识符
    com.acme.MyApp 和证书 leaf[subject.CN] = "MyCertificate"
    ,记得把 MyApp 和 MyCertificate 换成你自己的。
  4. 最后确保 THE DAEMON 在构建之前嵌入可执行文件本身,这是通过以下方式完成的:在辅助工具或守护进程中转到目标/构建Settings/Linking/Other Linker Flags 并添加以下内容:

    -创建教派
    __文本
    __info_plist
    我的守护进程/info.plist
    -创建教派
    __文本
    _launchd_plist
    MyDaemon/myDaemon-launchd.plist

确保替换 MyDaemon 以获得您自己开发的正确值。请注意您的信息和已启动文件的名称。

重要提示:守护进程或服务的名称必须与 INFO.PLIST 和 LAUNCHD.PLIST 文件中写入的名称一致,否则将生成错误 kSMErrorDomainFramework 错误 5 - 指定路径处的工具无效。

关于objective-c - SMJobBless 导致 kSMErrorDomainFramework 错误 5 - 指定路径的工具无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9546394/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com