Javascript 调用另一个TVOS应用程序的Apple TVOS应用程序

Javascript 调用另一个TVOS应用程序的Apple TVOS应用程序,javascript,swift,tvos,apple-tv,tvml,Javascript,Swift,Tvos,Apple Tv,Tvml,我已经编写了一个TVOS应用程序,它可以显示一个视频库,这很好,但是,我需要能够调用我从另一个TVOS应用程序创建的这个TVOS应用程序。我不知道该怎么做,或者这是否可能。基本上,我想有一个TVOS应用程序,可能有一个按钮在底部,当你点击它,然后另一个TVOS应用程序将动态加载。另一种想法是,我希望父应用程序是子应用程序的容器-父应用程序除了如何加载它之外,不知道子应用程序 有什么帮助吗?下面是我的代码 应用程序1将打开的应用程序2: info.plist: <key>LSAppli

我已经编写了一个TVOS应用程序,它可以显示一个视频库,这很好,但是,我需要能够调用我从另一个TVOS应用程序创建的这个TVOS应用程序。我不知道该怎么做,或者这是否可能。基本上,我想有一个TVOS应用程序,可能有一个按钮在底部,当你点击它,然后另一个TVOS应用程序将动态加载。另一种想法是,我希望父应用程序是子应用程序的容器-父应用程序除了如何加载它之外,不知道子应用程序

有什么帮助吗?下面是我的代码

应用程序1将打开的应用程序2:

info.plist:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>brightline123456</string>
</array>
<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>brightline123456</string>
        </array>
        <key>CFBundleTypeRole</key>
        <string></string>
        <key>CFBundleURLName</key>
        <string>com.brightline123456</string>
    </dict>
</array>
Application.js:

var resourceLoader;

App.onLaunch = function(options) {
// 2
var javascriptFiles = [
`${options.BASEURL}js/ResourceLoader.js`,
`${options.BASEURL}js/Presenter.js`
];

evaluateScripts(javascriptFiles, function(success) {
if(success) {
  // 3
  resourceLoader = new ResourceLoader(options.BASEURL);
   resourceLoader.loadResource(`${options.BASEURL}templates/RWDevConTemplate.xml.js`, function(resource) {
    var doc = Presenter.makeDocument(resource);
    doc.addEventListener("select", Presenter.load.bind(Presenter)); //add this line
    Presenter.pushDocument(doc);
  });
} else {
  var errorDoc = createAlert("Evaluate Scripts Error", "Error attempting to evaluate external JavaScript files.");
  navigationDocument.presentModal(errorDoc);
}
});
}
应用程序1将使用canOpenUrl打开应用程序2:

info.plist:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>brightline123456</string>
</array>
<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>brightline123456</string>
        </array>
        <key>CFBundleTypeRole</key>
        <string></string>
        <key>CFBundleURLName</key>
        <string>com.brightline123456</string>
    </dict>
</array>

}

在网站上看另一篇文章不是吗

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>brightline123456</string>
</array>

在您的情况下是否在调用方应用程序App1中?

您是否尝试过使用自定义URL方案?在谷歌搜索自定义URL方案后,看起来这就是我想要的。你能告诉我怎么用斯威夫特做到这一点吗?我在网上找到的描述自定义URL方案的示例是用objective c编写的。谢谢你的帮助!我没有任何使用自定义URL方案的专业知识,但困难的部分可能是设置属性列表,而不是使用任何语言。如果我知道怎么做,我会给出一个答案而不是评论。查看:嘿,丹尼尔,谢谢你的帮助,我在另一个帖子中遵循了你的建议,但是第二个tvos应用仍然无法从第一个tvos应用打开。我更新了上面的代码,显示了tvos应用程序1的代码,然后还显示了tvos应用程序2的代码。关于可能出了什么问题有什么帮助吗?谢谢