Launch Facebook page with scheme? - objective-c

In my app I have a button. Pressing the button takes me to the Facebook app with the scheme: fb://. But I want to have a scheme to link to my facebook page. fb://page/MYPAGENAME doesn't work or am I doing it wrong? Help is much appreciated!
Edit
This is what the method looks like now:
- (IBAction)facebookButton:(id)sender
{
NSURL *url = [NSURL URLWithString:#"fb://MYPAGENAME"];
[[UIApplication sharedApplication] openURL:url];
}
I've added a username to my page now.

Related

How to open Notification Center via URL Scheme from app?

Using the URL Scheme below, I'm able to open the 'Settings' App from the app I'm currently working on.
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
Is it also possible to tweak the URL Scheme so that I can directly open the 'Notification Center' feature inside the 'Settings' App?
Kindly advise. All help appreciated!
I tried this code to prevent crashes from iOS versions and it's working for me:
if ([[UIApplication sharedApplication] respondsToSelector:#selector(openURL:options:completionHandler:)]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString] options:#{} completionHandler:nil];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}
tested on iOS 8 up;
you can try this url scheme: "prefs:root=NOTIFICATIONS_ID"
But u must add URL types in ur project: Click on ur Project in Project Navigator-> click on TARGET -> tab Info -> and add URL Types by click (+) and add URL scheme : "prefs".
if you still not clear check this Answer here
All the best,

Open a facebook url to the fan page?

I am trying to link our facebook app page to our app, so users can open from our app fan page on Facebook.
I tried :
NSURL *fanPageURL = [NSURL URLWithString:#"fb://profile/APPNAME"];
[[UIApplication sharedApplication] openURL:fanPageURL];
Where app name is the name appears on the url of our facebook fan page.
What happens is that it opens the facebook app at my personal profile and not the relevant page.
Why is that ?
(i dont have any page id to insert to that url )
This code guarantee that if the user don't have the Facebook app, the page will be opened in safari
In this case you have to put your page name and id as follow:
NSURL *fanPageURL = [NSURL URLWithString:#"fb://profile/pageID"];
if (![[UIApplication sharedApplication] canOpenURL:fanPageURL])
fanPageURL = [ NSURL URLWithString:#"https://www.facebook.com/pageName"];
[[UIApplication sharedApplication] openURL:fanPageURL];

Url scheme : Open app or Appstore from mail

I'm creating an application where users can share data by sending emails to each other.
In this mail there is a link to my app (I created an URL scheme for my app)
But, if the users doesn't have my application on his iPhone, then when he clicks on the link, nothing happens.
My question : How could I do to launch my app when the application is installed on the user's iPhone and launch the Appstore or a website if this application is not installed
Thank you
canOpenURL is what you're looking for.
Here is an example for launching twitter app:
NSURL* twitterURL = [NSURL URLWithString:[NSString stringWithFormat:#"twitter:#%#", twitterUser]];
if ([[UIApplication sharedApplication] canOpenURL:twitterURL]) {
[[UIApplication sharedApplication] openURL:twitterURL];
} else {
NSURL* url = [NSURL URLWithString:#"http://itunes.apple.com/us/app/twitter/id333903271?mt=8"];
[[UIApplication sharedApplication] openURL:url];
}
EDIT
If you want do do this from a webpage or html email, you find your answer here:
https://stackoverflow.com/a/627942/550177
and here:
https://stackoverflow.com/a/1109200/550177

iOS, openURL opens odd webpage... (welcome to appe.com)

When user click the link,
it should go to the app store page(angry bird page).
this is the code:
NSString *url = #"http://itunes.apple.com/us/album/angry-birds-rio-samba-single/id426982849?uo=4";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
but, first time when I click the link, it goes to odd webpage.
(blank white page with text "welcome to appe.com", not apple.com).
and when when I click the link again, it goes to the right page.
anyone who experience with this situation?
this is error page on app store.
It's strange. Ia haven't experienced such situation yet. However, the link you are trying to open is not the Angry birds Rio GAME, but a SONG. If you want to lead user to Angry birds Rio game in app store, you should rather use:
NSString* urlString=#"itms-apps://itunes.apple.com/pl/app/angry-birds-rio/id420635506?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
(the protocol is not http:// but itms-apps://
use this link instead
NSString *url = #"http://itunes.apple.com/us/album/angry-birds-rio-samba-single/id426982849?ign-mpt=uo%3D4";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
I double-checked the url. and that was the problem.
I use this url,
http://itunes.apple.com/us/album/angry-birds-rio-samba-single/id426982849
not this correct one,
http://itunes.apple.com/us/album/angry-birds-rio-samba-single/id426982849?uo=4
I modified the url and it fixed the problem.

How to open web browser with UIWebView

Hey guys,
On my Xcode project, I am trying to open a web browser at the click of one of my buttons, but here's what I'm really trying to do. First of all, I am opening a web browser using this example code:
NSURL *fanPageURL = [NSURL URLWithString:#"fb://profile/210227459693"];
if (![[UIApplication sharedApplication] openURL: fanPageURL]) {
NSURL *webURL = [NSURL URLWithString:#"http://www.facebook.com/pages/Blackout-Labs/210227459693"];
[[UIApplication sharedApplication] openURL: webURL];
}
[super viewDidLoad];
Now this code works properly, but the problem is that it's closing my application and opens the link in the Safari application, which is not what I want. I went the other way around by creating another view (after click the button), then inserted a UIWebView using Interface Builder, but it still didn't work. So I was hoping someone can help me out how to open this link within my app instead of closing my app and opening the link in the Safari app, thanks
Look at SVWebViewController. It's a ready made UIViewController subclass with a UIWebView in it and all you need to do to show it is
SVWebViewController *webViewController = [[SVWebViewController alloc] initWithAddress:#"http://google.com"];
[self.navigationController pushViewController:webViewController animated:YES];
There is also a modal version, see the Usage Section.
You'll need to create a UIViewController subclass that has UIWebView as a subview, and show that when the button in tapped.