(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] = "Joe Developer"</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] = "Joe Developer"</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 – 指定路径上的工具无效所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)