0

[Xcode V.7.0 Beta 6、OSX El Capitan、iOS9]

Parse SDK の最新バージョンを使用して Twitter ログインを追加しようとしています。Twitter Login と Parse を統合する方法をいくつか試しましたが、うまくいきません。consumerkey/secret を追加しましたが、初期化する必要がPFTwitterUtilsあると表示されます。

You must call PFTwitterUtils initializeWithConsumerKey:consumerSecret: to use PFTwitterUtils"以下に完全なエラーと私のgithubリポジトリを投稿しました。

現時点では、ParseTwitterUtils フレームワークを追加しませんでした。なぜなら、Parse.com のクイックスタート ガイドで、追加する必要があるとは言われていなかったからです。ただし、モジュールを追加すると、linker error. 取り出すと、以下のエラーが表示されます。

私が取った手順:

  1. 最初は、PFTwitterUtils モジュールが表示されない、または認識されないという問題がありました。このリンクにフレームワークを追加してプロジェクトを構築しました: https://www.parse.com/apps/quickstart?app_id=discounts--6#parse_data/mobile/ios/swift/existingとここで SDK を使用: https:/ /www.parse.com/apps/quickstart?app_id=fblogin--81#parse_data/mobile/ios/swift/existing

(このリンクと同様の問題: No such module 'Parse' following Parse iOS Swift Quickstart guide )

問題を github に投稿しましたが、それは彼らの側のバグだと思いました: https://github.com/ParsePlatform/Parse-SDK-iOS-OSX/issues/407

Framework Search Pathをチェックして、検索パスが指示しているフォルダー内にモジュールが存在するかどうかを確認するようにアドバイスされました。良さそうに見えましたが、それでもうまくいかなかったので、ParseSDK に別のパスを追加しようとしましたが、それもうまくいきませんでした。

  1. 次に、PFTwitterUtils が機能する別のソースから Parse-Starter-project を取得しました (私の github リポジトリは新しいフレームワークの下にあります) が、以下で言及したエラーが発生します。PFTwitterUtils は Xcode 内で認識されるようになりましたが、プロジェクトのビルド時には認識されないため、これがより良い方法であると思います。ツイッターでアプリを作るときのコールバックURLもチェックしました。コールバック URL に問題があるスタック オーバーフローの質問を見つけました。私もそれを編集しましたが、まだ機能しません。

ここに私が得ているエラーがあります:

2015-10-14 13:13:18.374 ParseStarterProject[3757:390022] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'You must call PFTwitterUtils initializeWithConsumerKey:consumerSecret: to use PFTwitterUtils.' *** First throw call stack: ( 0 CoreFoundation 0x000000010f9849b5 __exceptionPreprocess + 165 1 libobjc.A.dylib 0x0000000111927deb objc_exception_throw + 48 2 CoreFoundation 0x000000010f9848ed +[NSException raise:format:] + 205 3 ParseStarterProject 0x000000010eddcd7e +[PFTwitterUtils logInInBackground] + 31 4 ParseStarterProject 0x000000010eddce30 +[PFTwitterUtils logInWithBlock:] + 48 5 ParseStarterProject 0x000000010edca6b1 _TFC19ParseStarterProject14ViewController11viewDidLoadfS0_FT_T_ + 417 6 ParseStarterProject 0x000000010edca8c2 _TToFC19ParseStarterProject14ViewController11viewDidLoadfS0_FT_T_ + 34 7 UIKit 0x00000001106cbd05 -[UIViewController loadViewIfRequired] + 877 8 UIKit 0x00000001106cc054 -[UIViewController view] + 27 9 UIKit 0x00000001105ab77c -[UIWindow addRootViewControllerViewIfPossible] + 61 10 UIKit 0x00000001105abe79 -[UIWindow _setHidden:forced:] + 302 11 UIKit 0x00000001105bd6dc -[UIWindow makeKeyAndVisible] + 43 12 UIKit 0x000000011053dd13 -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] + 4003 13 UIKit 0x000000011054413d -[UIApplication _runWithMainScene:transitionContext:completion:] + 1755 14 UIKit 0x0000000110541390 -[UIApplication workspaceDidEndTransaction:] + 188 15 FrontBoardServices 0x00000001193b57ac -[FBSSerialQueue _performNext] + 192 16 FrontBoardServices 0x00000001193b5b1a -[FBSSerialQueue _performNextFromRunLoopSource] + 45 17 CoreFoundation 0x000000010f8b0b21 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17 18 CoreFoundation 0x000000010f8a6a4c __CFRunLoopDoSources0 + 556 19 CoreFoundation 0x000000010f8a5f03 __CFRunLoopRun + 867 20 CoreFoundation 0x000000010f8a5918 CFRunLoopRunSpecific + 488 21 UIKit 0x0000000110540d2d -[UIApplication _run] + 402 22 UIKit 0x000000011054599e UIApplicationMain + 171 23 ParseStarterProject 0x000000010edcce6d main + 109 24 libdyld.dylib 0x0000000116bed92d start + 1 25 ??? 0x0000000000000001 0x0 + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)

///

リポジトリに ParseTwitterUtils.framework モジュールがありません。しかし、一度インポートすると、linker error.

フレームワークの検索パスが不足している可能性がありますか? フレームワークが存在するフレームワーク検索パスを追加しても、何も変わりません。現在使用している SDK に TwitterSDK with Parse を追加する方法についてのアイデアはありますか?

これが私のリポジトリへのリンクです。https://github.com/rinyfo4/ParseStarterProject-2/tree/c512acb4360d45927f0cc5b34505d3caacae728c

どんな助けも大きな意味があります。前もって感謝します。

もっと情報を提供できるかどうか教えてください。

4

1 に答える 1

0

私はそれを解決しました。前述のとおり、github に行って助けてもらいました。

これは何が起こっていたのかに対する答えです:

According to this guide, to enable authentication with Twitter - you need to call PFTwitterUtils.initializeWithConsumerKey:consumerSecret: The exception is being thrown about the fact that you simply didn't initialize the twitter utils, so there is no need to unlink/remove ParseTwitterUtils from Cocoapods. pod 'ParseTwitterUtils' and ParseTwitterUtils.framework are mutually exclusive, as they are absolutely the same thing, with the only difference on how you install them.

解決策は次のとおりです。 AppDelegate didFinishLaunchingWithOptions メソッドを編集して、以下を反映する必要がありました。

`Parse.enableLocalDatastore()
Parse.setApplicationId("...",
        clientKey: "...")

PFTwitterUtils.initializeWithConsumerKey("...",     consumerSecret:"...")`

これが、将来この問題を抱えている人に役立つことを願っています。

于 2015-10-16T08:18:08.287 に答える