2015-10-14 5 views
0

[Xcode v.7.0 Beta 6, OSX El Capitan, iOS9]Twitter Войти с помощью инициализации Parse не работает: Swift

Я пытаюсь добавить логин в Twitter, используя последнюю версию SDK Разбор. Я пробовал несколько способов интеграции входа в Twitter с Parse, но он не работает. Я добавил свой потребительский ключ/секрет, и он говорит, что мне нужно инициализировать PFTwitterUtils, который я сделал.

You must call PFTwitterUtils initializeWithConsumerKey:consumerSecret: to use PFTwitterUtils" Я отправил полную ошибку ниже, а также мой репозиторий github.

На данный момент я не добавил фреймворк ParseTwitterUtils, потому что он не сказал, что мне нужно в руководстве QuickStart на 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. Затем я взял проект Parse-Starter из другого источника, где работал PFTwitterUtils (мой репозиторий 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.

Может ли быть, что я пропускаю путь поиска по базе данных? Когда я добавляю путь поиска Framework, в котором живут рамки, это ничего не меняет. Любые идеи о том, как добавить TwitterSDK с Parse с текущими SDK, которые я использую?

Вот ссылка на мой репозиторий. https://github.com/rinyfo4/ParseStarterProject-2/tree/c512acb4360d45927f0cc5b34505d3caacae728c

Любая помощь означает много. Заранее спасибо.

Пожалуйста, дайте мне знать, если я могу предоставить дополнительную информацию.

ответ

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:"...")` 

Надеется, что это помогает тем, кто имеет эту проблему в будущем.

Смежные вопросы