2012-10-10 2 views
10

Einfache Codezeile:isAvailableForServiceType gibt immer wahr zurück?

NSLog(@"Checking on Facebook: %d -- Checking on Twitter: %d",[SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook], [SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]); 

Problem ist, dass ich 1 für beide BOOLs bin immer. Das ist ein Problem, weil weder Twitter noch Facebook mit einem Account eingerichtet sind. Dies ist auf dem Simulator, also fragen Sie sich, ob die Leute erlebt haben, dass dies auch auf Geräten passiert?

Dokumentation besagt, dass es nur wahr zurückgeben sollte, wenn der Dienst verfügbar ist und mindestens ein Konto eingerichtet ist. Aber ich werde auch ohne Accounts Setup wahr. Ich möchte die Werte verwenden, um einige Social-Posting-Buttons zu verstecken, damit dies funktioniert.

+0

Haben Sie das jemals herausgefunden? Es funktioniert auch nicht richtig auf meinen iOS 6 Geräten. – adamdehaven

Antwort

17

Haben Sie das im Simulator ausgeführt?

Es scheint, isAvailableForServiceType gibt immer 1 im Simulator zurück.

Vielleicht können Sie es in Ipad mit IOS6 testen.

+0

Ja, nur Simulator (obwohl ich keine Konten im Simulator eingerichtet hatte). Ich werde das Gerät selbst ausprobieren, nur enttäuschend, einen anderen Simulator/HW-Unterschied zu haben. –

+0

Irgendeine Idee, wie man das erwartete Verhalten auf dem Simulator erhält? – Norswap

4

Aus meiner Erfahrung kann ich bestätigen, dass dies ein Fehler in iOS Simulator 6.0 ist. Die Methode isAvailableForServiceType gibt immer TRUE für jeden Diensttyp im iOS-Simulator zurück.

Auf tatsächlichen Gerät läuft aktuelle iOS 6.0 es funktioniert wie erwartet.

0

Ich kann auch bestätigen, dass es gebrochen ist [dh True für alle drei Dienste] im Simulator (Xcode 4.5.1, iOS 6.0) - aber es funktioniert ordnungsgemäß auf einem Gerät (iPhone 4S, iOS ausgeführt wird 6.0).

0

isAvailableForServiceType gibt true immer in beiden iPhone und iPad Simulatoren zurück.

Das gleiche Stück Code funktioniert gut in der iOS 6 iPhone und iPad.

1

können Sie isAvailableForServiceType: mit iOS 7.1 testen, auf dem es auch mit Simulator funktioniert.

Hier Was ich

NSLog(@"Facebook Enabled : %d",[SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]; 

geprüft diese Bitte überprüfen.