Die URL, die Sie anfordern, gibt eine HTML-Seite zurück, die Sie analysieren möchten, als wäre es eine JSON-Ressource. Sie müssen die Facebook Graph API und/oder das Facebook Swift SDK verwenden, um die Informationen als JSON zu erhalten.
Probieren Sie die Facebook-Entwickler-Dokumentation Weitere Informationen zu lesen:
https://developers.facebook.com/docs/swift
https://developers.facebook.com/docs/graph-api
Auch Swift Error
Objekte enthalten Informationen, die Sie verstehen, was schief gelaufen ist helfen kann. Sie können sie auf der Konsole ausdrucken. Versuchen Sie folgendes:
if error != nil {
print(error)
} else {
// ...
Die catch-Anweisung auch eine eigene error
Variable in seinem Block setzt, so können Sie verwenden:
} catch {
print(error)
}
Achten Sie darauf, die Schritte bei der Schaffung einer Facebook-App beteiligt verstehen: Registrierung der App mit Facebook, Herunterladen des SDK, Hinzufügen des SDK zu Ihrem Projekt, Konfigurieren des SDK für Ihre App, Anmelden bei Facebook in Ihrer App und dann Aufruf der Facebook Graph API, um die Informationen zu erhalten. Diese Schritte sind in der oben genannten Facebook-Dokumentation beschrieben. Ich würde mit dem iOS SDK (Objective-C) Anweisungen zur Einrichtung Ihres Projekts beginnen und dann AppDelegate ändern und View-Controller auf die folgenden:
AppDelegate.swift:
import UIKit
import FacebookCore
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
SDKApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
return true
}
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
return SDKApplicationDelegate.shared.application(app, open: url, options: options)
}
}
ViewController.swift:
import UIKit
import FacebookCore
import FacebookLogin
class ViewController: UIViewController, LoginButtonDelegate {
override func viewDidLoad() {
super.viewDidLoad()
if let _ = AccessToken.current {
loadEvents()
}
let loginButton = LoginButton(readPermissions: [ .publicProfile, .userEvents ])
loginButton.center = view.center
loginButton.delegate = self
view.addSubview(loginButton)
}
func loginButtonDidCompleteLogin(_ loginButton: LoginButton, result: LoginResult) {
if let _ = AccessToken.current {
loadEvents()
}
}
func loginButtonDidLogOut(_ loginButton: LoginButton) {
// Logout handling code here
}
func loadEvents() {
let connection = GraphRequestConnection()
connection.add(GraphRequest(graphPath: "/me/events")) { httpResponse, result in
switch result {
case .success(let response):
print("Graph Request Succeeded: \(response)")
case .failed(let error):
print("Graph Request Failed: \(error)")
}
}
connection.start()
}
}
Das response
Objekt wird die Facebook-Events Informationen enthalten, die bereits analysiert.
Ja, ich habe versucht, aber ich habe es nicht wirklich verstanden. Können Sie bitte mehr Informationen oder Beispielcode bereitstellen? –