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

objective-c – SMJobBless导致kSMErrorDomainFramework错误5 – 指定路径上的工具无效,第1张

概述运行SMJobBless: (PrefPane项目xcode版本4 Build 4A304a) SMJobBless(kSMDomainSystemLaunchd, @"com.coderama.coderamaHelper", authRef, &err); 导致错误: System Preferences[22312:903] Bless Error: Error Domain=kSMErr 运行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中声明的步骤:

>在应用程序中转到:目标/构建阶段/复制文件并制作
确保正确分配参数:Destination = wrapper,
subpath = Contents / library / LaunchServices,最后加载
守护进程或服务进入项目.
>在应用程序中,转到文件info.pList并检查以下密钥:“安装后拥有的工具”并将其设置为=
标识符com.acme.MyService和证书leaf [subject.CN] =
“我的证书”.您必须替换MyService和MyCertificate
你自己的.
>在帮助工具或守护程序中转到info.pList文件.在这里你必须添加一些键/值对,第一个是:“允许客户端
添加和删​​除工具“必须设置为”标识符
com.acme.MyApp和证书leaf [subject.CN] =“MyCertificate”
,请记住用自己的替换MyApp和MyCertificate.
>最后确保在构建它之前将DAEMON嵌入到可执行文件中,这是通过以下方式实现的:
在辅助工具或守护进程中转到目标/构建
设置/链接/其他链接器标志并添加以下内容:

-sectcreate
__文本
__info_pList
MyDaemon / info.pList中
-sectcreate
__文本
_launchd_pList
MyDaemon / myDaemon-launchd.pList

确保将MyDaemon替换为您自己开发的正确值.请注意info和launchd文件的名称.

重要提示:DAEMON或服务的名称必须与INFO.PList和launchd.PList文件中的相同名称相对应,否则将产生错误kSMErrorDomainFramework错误5 – 指定路径上的工具无效.

总结

以上是内存溢出为你收集整理的objective-c – SMJobBless导致kSMErrorDomainFramework错误5 – 指定路径上的工具无效全部内容,希望文章能够帮你解决objective-c – SMJobBless导致kSMErrorDomainFramework错误5 – 指定路径上的工具无效所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1020768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存