10

単純なコード行:

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

問題は、両方のBOOLで1を取得していることです。TwitterもFacebookもアカウントが設定されていないため、これは問題です。これはシミュレーター上にあるので、これがデバイスでも起こっていることを人々が経験したかどうか疑問に思いますか?

ドキュメントには、サービスが利用可能で、少なくとも1つのアカウントが設定されている場合にのみtrueを返す必要があると記載されています。しかし、アカウントを設定しなくても、私は真実になりつつあります。値を使用していくつかのソーシャル投稿ボタンを非表示にしたいので、これを機能させたいと思います。

4

5 に答える 5

17

それをシミュレーターで実行しましたか?

シミュレーターではisAvailableForServiceType常に返されるようです。1

たぶん、iOS6のiPadでテストできます。

于 2012-10-16T09:08:08.700 に答える
4

私の経験から、これはiOSSimulator6.0のバグであることが確認できます。このisAvailableForServiceTypeメソッドは、iOSシミュレーターのすべてのサービスタイプに対して常にTRUEを返します。

現在のiOS6.0を実行している実際のデバイスでは、期待どおりに機能しています。

于 2012-10-19T12:41:17.170 に答える
1

isAvailableForServiceType:シミュレーターでも動作しているiOS 7.1を使用してテストできます。

ここで私がチェックしたこと

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

これを確認してください。

于 2014-04-21T12:42:27.527 に答える
0

シミュレーター(Xcode 4.5.1、iOS 6.0)で壊れている(つまり、3つのサービスすべてに対してTrueを返す)ことも確認できますが、デバイス(iPhone 4S、iOS 6.0を実行している)で正しく動作していることを確認できます。

于 2012-12-15T01:01:33.107 に答える