从Safari显示器启动的应用程序:是否要允许此页面打开“(空)”?

我正在用Go / Objective-C编写Mac OS应用程序。可以说,我没有使用Xcode,而是手工组装了应用程序捆绑包。这是文件系统层次结构的样子

${APPNAME}.app

Contents

MacOS

${APPNAME} (binary)

Resources

Base.lproj

InfoPlist.strings (text)

Info.plist (text)

该捆绑包可以正常启动。应用程序按预期工作。我的Plist文件中有一个CFBundleURLTypes字典,该字典为我的应用程序定义了URL方案。

<key>CFBundleURLTypes</key>

<array>

<dict>

<key>CFBundleURLName</key>

<string>${APPNAME}</string>

<key>CFBundleURLSchemes</key>

<array>

<string>zzz</string>

</array>

</dict>

</array>

(注意:${APPNAME}类似“ MyApp”。它不是Java样式的反向DNS名称字符串。)

当我单击Safari中使用zzz://方案的链接时,收到一条消息,内容为:

Do you want to allow this page to open "(null)"?

这是为什么?我已经在Info.plist文件和InfoPlist.strings文件中定义了我的应用程序名称。

InfoPlist.strings文件仅包含以下内容:

CFBundleName = "My Wonderful Application"

回答:

显然有某种缓存机制正在发生。当我们设法购买到另一个Mac系统时,从未在其上安装有问题的软件,就没有发生此问题。

注意:在每次测试开始时,行为不正确的先前系统都会从该软件中 完全

删除该软件。Finder,Safari或某些其他Apple软件必须已将应用程序名称秘密缓存为“(空)”。

答案:将其安装在新的Mac机器上,或完全还原(没有备份)要测试的机器。

以上是 从Safari显示器启动的应用程序:是否要允许此页面打开“(空)”? 的全部内容, 来源链接: utcz.com/qa/399133.html

回到顶部