以下URL在iOS 8.3及更低版本上打开,但它不起作用且iOS 9
let instagramURL = NSURL(string: "instagram://app")
Run Code Online (Sandbox Code Playgroud)
为什么网址不会打开?
我想知道如何在Facebook和Twitter应用程序中打开我的网站的URL链接,只要它安装在设备上,如果不是,我希望在浏览器中打开页面.
目前我使用以下链接:
fb://profile/fbID
twitter://user?screen_name=username
Run Code Online (Sandbox Code Playgroud)
目前,如果安装了应用程序,它可以正常工作,但如果未安装应用程序,链接将失败,如果您尝试在桌面浏览器中打开它,则Twitter链接将完全失败.
谁能知道我怎么回事?
是的我知道有类似的问题,但没有人回答,所以我想我会试试这个,干杯.
我正在尝试使用他们的Facebook UID在Swift中打开用户的Facebook个人资料.在模拟器中,它工作并打开配置文件的Web版本并且工作正常,但是在我的实际设备上,它打开了Facebook本机应用程序并给了我一个"找不到页面"错误.
guard let facebookUID = self.user?.facebookUID else {
return
}
print(facebookUID)
let fbURLWeb: NSURL = NSURL(string: "https://www.facebook.com/\(facebookUID)")!
let fbURLID: NSURL = NSURL(string: "fb://profile/\(facebookUID)")!
if(UIApplication.sharedApplication().canOpenURL(fbURLID)){
// FB installed
UIApplication.sharedApplication().openURL(fbURLID)
} else {
// FB is not installed, open in safari
UIApplication.sharedApplication().openURL(fbURLWeb)
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
提前致谢!
编辑
我注意到如果用户删除或没有在手机上安装Facebook应用程序,它将通过Safari正确打开配置文件,这就是为什么它在模拟器上工作,但没有在我的设备上.但是,我也注意到如果我尝试公开的个人资料fb://profile/4(这是Mark Zuckerburg的个人资料),我可以在Facebook应用程序中使用它.
我有 jQuery Mobile 应用程序,其中有一个指向相关 Facebook 页面的链接。我想要做的是在 facebook 应用程序中打开页面(如果已安装),否则在默认浏览器中打开。我有打开 facebook 应用程序的代码,但仅此而已 - 未加载所需的页面。这是我用来打开应用程序的代码(源自如何从移动浏览器启动应用程序(facebook/twitter/etc),但如果未安装应用程序,则回退到超链接)
$(document).on("pageinit", "#home", function (e, data) {
$('a.openapp').on('click', function (event) {
uriSchemeWithHyperlinkFallback($(this).data('scheme'), $(this).attr('href'));
event.preventDefault();
});
function uriSchemeWithHyperlinkFallback(uri, href) {
if(!window.open(uri)){
window.location = href;
}
}
});
Run Code Online (Sandbox Code Playgroud)
而且,这是我尝试过的链接的变体:
<a class="openapp" href="https://www.facebook.com/Raven-Rock-Ramble-233457512435/" data-scheme="fb://page/Raven-Rock-Ramble-233457512435/" ><img class="social_logo" src="./img/fb.png" alt="facebook"></a>
<a class="openapp" href="https://www.facebook.com/Raven-Rock-Ramble-233457512435/" data-scheme="fb://page/233457512435/" ><img class="social_logo" src="./img/fb.png" alt="facebook"></a>
<a class="openapp" href="https://www.facebook.com/Raven-Rock-Ramble-233457512435/" data-scheme="fb://facewebmodal/f?href=https://www.facebook.com/Raven-Rock-Ramble-233457512435/" ><img class="social_logo" src="./img/fb.png" alt="facebook"></a>
<a class="openapp" href="https://www.facebook.com/Raven-Rock-Ramble-233457512435/" data-scheme="fb://profile/233457512435/" ><img class="social_logo" src="./img/fb.png" alt="facebook"></a>
Run Code Online (Sandbox Code Playgroud)
我已经做了很多搜索(见下面的链接)。我想我需要一个可以通过 graph.facebook.com 找到的特殊页面 ID,但它似乎不再可用。脸书的变化似乎也太快了,任何超过 6 个月的帖子都已经过时了。我确实查看了页面的源代码并找到了一个 …
class func openFacebook(id: String){ //id is a username in this case
let name = id.replace(" ", withString: "")
let hook = "fb://profile/" + name
let hookURL = NSURL(string: hook)
if UIApplication.sharedApplication().canOpenURL(hookURL!){
UIApplication.sharedApplication().openURL(hookURL!)
} else {
UIApplication.sharedApplication().openURL(NSURL(string: "http://facebook.com/" + name)!)
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试这样做,但它永远不会打开应用程序.它总是打开浏览器.我没有使用facebook sdk.我只是想从我的应用程序打开Facebook,到用户的个人资料.