62
задан 7 November 2012 в 13:33

9 ответов

Вот являются некоторые схемы использованием приложения Facebook, существует тонна больше на исходной ссылке:

Пример

NSURL *url = [NSURL URLWithString:@"fb://profile/<id>"];
[[UIApplication sharedApplication] openURL:url];

Схемы

fb://представляют †“, Открывают приложение Facebook для профиля user’s

fb://, друзья †“Открывают приложение Facebook для друзей список

fb://, уведомления †“Открывают приложение Facebook для списка уведомлений (ПРИМЕЧАНИЕ: кажется, существует ошибка с этим URL. Страница Notifications открывается. Однако it’s, не возможный перейти к где-либо еще в приложении Facebook)

, fb://питаются, †“Открывают приложение Facebook для ленты новостей

fb://, события †“Открывают, приложение Facebook к странице

Events fb://запрашивает, чтобы †“Открыли приложение Facebook для списка Запросов

, fb://отмечает, что †“Открывают приложение Facebook для страницы

Notes fb://, альбомы †“Открывают приложение Facebook для списка Фотоальбомов

, Если прежде, чем открыть этот URL, Вы хотите проверить, можно ли пользовательский фас приложение Facebook сделать следующее (как объяснено в другом ответе ниже):

if ([[UIApplication sharedApplication] canOpenURL:nsurl]){
    [[UIApplication sharedApplication] openURL:nsurl];
}
else {
    //Open the url as usual
}

Источник

http://wiki.akosma.com/IPhone_URL_Schemes#Facebook

133
ответ дан 31 October 2019 в 13:09

Просто используйте https://graph.facebook.com / (your_username или название страницы) для получения страницы ID и после того, как Вы будете видеть все задержание и Ваш идентификатор

после в Вашем использовании Приложения для iOS:

 NSURL *url = [NSURL URLWithString:@"fb://profile/[your ID]"];
 [[UIApplication sharedApplication] openURL:url];
27
ответ дан 31 October 2019 в 13:09

Для добавления комментария yonix’s как ответа старое fb://page/…, URL больше не работает. По-видимому, это было заменено fb://profile/…, даже при том, что страница не является профилем.

26
ответ дан 31 October 2019 в 13:09

Я сделал это в MonoTouch в следующем методе, я уверен чистый Obj-C, базирующийся подход не слишком отличался бы. Я использовал эту внутреннюю часть класс, который время от времени имел изменяющиеся URL, который является, почему я просто не вставил ее если/оператор else if.

NSString *myUrls = @"fb://profile/100000369031300|http://www.facebook.com/ytn3rd";
NSArray *urls = [myUrls componentsSeparatedByString:@"|"];
for (NSString *url in urls){
    NSURL *nsurl = [NSURL URLWithString:url];
    if ([[UIApplication sharedApplication] canOpenURL:nsurl]){
        [[UIApplication sharedApplication] openURL:nsurl];
        break;
    }
}

повреждение не всегда называют перед Вашими изменениями приложений к Safari/Facebook. Я предполагаю, что Ваша программа остановится там и назовет его, когда Вы возвратитесь к нему.

10
ответ дан 31 October 2019 в 13:09

быстрый 3

if let url = URL(string: "fb://profile/<id>") {
        if #available(iOS 10, *) {
            UIApplication.shared.open(url, options: [:],completionHandler: { (success) in
                print("Open fb://profile/<id>: \(success)")
            })
        } else {
            let success = UIApplication.shared.openURL(url)
            print("Open fb://profile/<id>: \(success)")
        }
 }
4
ответ дан 31 October 2019 в 13:09

Я знаю, что вопрос стар, но в поддержку вышеупомянутых ответов я хотел совместно использовать свой рабочий код. Просто добавьте эти два метода к любому классу. Код проверяет, установлено ли приложение Facebook, если не установленный URL открыт в браузере. И если какие-либо ошибки произойдут при попытке найти проидентификатор файла, то страница будет открыта в браузере. Просто передайте URL (пример, http://www.facebook.com/AlibabaUS ) к openUrl: и это сделает все волшебство. Надежда это помогает кому-то!.

ПРИМЕЧАНИЕ: UrlUtils был классом, который имел код для меня, Вам, возможно, придется изменить его на что-то еще к комплекту Ваши потребности.

+(void) openUrlInBrowser:(NSString *) url
{
    if (url.length > 0) {
        NSURL *linkUrl = [NSURL URLWithString:url];
        [[UIApplication sharedApplication] openURL:linkUrl];
    }
}
+(void) openUrl:(NSString *) urlString
{

    //check if facebook app exists
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"fb://"]]) {

        // Facebook app installed
        NSArray *tokens = [urlString componentsSeparatedByString:@"/"];
        NSString *profileName = [tokens lastObject];

        //call graph api
        NSURL *apiUrl = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@",profileName]];
        NSData *apiResponse = [NSData dataWithContentsOfURL:apiUrl];

        NSError *error = nil;
        NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:apiResponse options:NSJSONReadingMutableContainers error:&error];

        //check for parse error
        if (error == nil) {

            NSString *profileId = [jsonDict objectForKey:@"id"];

            if (profileId.length > 0) {//make sure id key is actually available
                NSURL *fbUrl = [NSURL URLWithString:[NSString stringWithFormat:@"fb://profile/%@",profileId]];
                [[UIApplication sharedApplication] openURL:fbUrl];
            }
            else{
                [UrlUtils openUrlInBrowser:urlString];
            }

        }
        else{//parse error occured
            [UrlUtils openUrlInBrowser:urlString];
        }

    }
    else{//facebook app not installed
        [UrlUtils openUrlInBrowser:urlString];
    }

}
8
ответ дан 31 October 2019 в 13:09

Если приложение Facebook будет зарегистрировано, то страница будет открыта при выполнении следующего кода. Если приложение Facebook не будет зарегистрировано при выполнении кода, то пользователь будет затем перенаправлен к приложению Facebook для входа в систему, и затем после соединения Facebook не перенаправляется к странице!

NSURL *fbNativeAppURL = [NSURL URLWithString:@"fb://page/yourPageIDHere"] [[UIApplication sharedApplication] openURL:fbNativeAppURL]
1
ответ дан 31 October 2019 в 13:09

Просто проверенный это сегодня, но при попытке открыть страницу Facebook , можно использовать "fb://страница / {идентификатор Страницы}"

, идентификатор Страницы может быть найден под страницей в о разделе около нижней части.

Характерный для моего варианта использования, в Xamarin. Формы, можно использовать этот отрывок для открытия в приложении при наличии, иначе в браузере.

Device.OpenUri(new Uri("fb://page/{id}"));

1
ответ дан 31 October 2019 в 13:09

Это откроет URL in Safari:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.facebook.com/comments.php?href=http://wombeta.jiffysoftware.com/ViewWOMPrint.aspx?WPID=317"]];

Для iPhone, можно запустить приложение Facebook, если установлено при помощи URL, запускающегося с fb://

[еще 117], информация может быть найдена здесь: http://iphonedevtools.com/?p=302 также здесь: http://wiki.akosma.com/IPhone_URL_Schemes#Facebook

Украденный от вышеупомянутого сайта:

fb://profile – Open Facebook app to the user’s profile
fb://friends – Open Facebook app to the friends list
fb://notifications – Open Facebook app to the notifications list (NOTE: there appears to be a bug with this URL. The Notifications page opens. However, it’s not possible to navigate to anywhere else in the Facebook app)
fb://feed – Open Facebook app to the News Feed
fb://events – Open Facebook app to the Events page
fb://requests – Open Facebook app to the Requests list
fb://notes - Open Facebook app to the Notes page
fb://albums – Open Facebook app to Photo Albums list

Для запуска вышеупомянутых URL:

NSURL *theURL = [NSURL URLWithString:@"fb://<insert function here>"];
[[UIApplication sharedApplication] openURL:theURL];
0
ответ дан 31 October 2019 в 13:09

Другие вопросы по тегам:

Похожие вопросы: