Parse-sdk-ios-osx: Please update dependency for ParseFacebookUtils

Created on 3 Mar 2018  Â·  66Comments  Â·  Source: parse-community/Parse-SDK-iOS-OSX

Hi!

ParseFacebookUtils currently is limited to a FacebookSDK '~> 4.28.0',
although 4.30 has been out for a while.
Can you please update the podspec?

Thanks!

Most helpful comment

The latest facebook SDK is actually 4.31.1, can the podspec just get updated to that? Facebook is sending out messages to update to the latest SDK for important iOS 11 fixes.

All 66 comments

The latest facebook SDK is actually 4.31.1, can the podspec just get updated to that? Facebook is sending out messages to update to the latest SDK for important iOS 11 fixes.

Can you open a PR please? don’t forget to update the Cartfile and run Carthage bootstrap so tests are run against it as well.

I don't know how to do this PR. However, I'm getting a weird crash when a new user tries to log in with facebook. I'm seeing that new facebookutils version is 4.32 but we're only at 4.28, could this be the cause of the crash? Any help getting this resolved would be greatly appreciated, thanks!

@tahoecoop can you provide the crash please?

I don't have anything too specific for you. I am setting breakpoints and its not even getting inside the block on PFFacebookUtils.logInInBackground function. The user gets into the facebook app fine to do the allow access, and when they send it back to my app, it just crashes. This seems to be a new-ish crash that's happening, everything seemed to work before. Thanks for your help!

it just crashes

When it crashes, there's a crash log, a stack trace etc... can you please gather it?

  • thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)

    • frame #0: 0x000000010594faa4 libswiftCore.dylibswift_getObjectType + 60 frame #1: 0x0000000104a49ec0 Likemoji Experience@objc AppDelegate.application(_:open:sourceApplication:annotation:) at AppDelegate.swift:0

      frame #2: 0x000000018eb24acc UIKit__58-[UIApplication _applicationOpenURLAction:payload:origin:]_block_invoke + 880 frame #3: 0x000000018eb24440 UIKit-[UIApplication _applicationOpenURLAction:payload:origin:] + 596

      frame #4: 0x000000018e740e20 UIKit-[UIApplication _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion:] + 5468 frame #5: 0x000000018e709f04 UIKit-[__UICanvasLifecycleMonitor_Compatability activateEventsOnly:withContext:completion:] + 1632

      frame #6: 0x000000018f39f72c UIKit__82-[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:]_block_invoke + 296 frame #7: 0x000000018e709268 UIKit-[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:] + 432

      frame #8: 0x000000018f1849b8 UIKit__125-[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:]_block_invoke + 220 frame #9: 0x000000018f2d2ae8 UIKit_performActionsWithDelayForTransitionContext + 112

      frame #10: 0x000000018e708c88 UIKit-[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:] + 248 frame #11: 0x000000018e708624 UIKit-[_UICanvas scene:didUpdateWithDiff:transitionContext:completion:] + 368

      frame #12: 0x000000018e7463b0 UIKit-[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] + 468 frame #13: 0x000000018736cf24 FrontBoardServices__80-[FBSSceneImpl updater:didUpdateSettings:withDiff:transitionContext:completion:]_block_invoke.362 + 212

      frame #14: 0x0000000106199220 libdispatch.dylib_dispatch_client_callout + 16 frame #15: 0x00000001061a5850 libdispatch.dylib_dispatch_block_invoke_direct + 232

      frame #16: 0x00000001873a0878 FrontBoardServices__FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36 frame #17: 0x00000001873a051c FrontBoardServices-[FBSSerialQueue _performNext] + 404

      frame #18: 0x00000001873a0ab8 FrontBoardServices-[FBSSerialQueue _performNextFromRunLoopSource] + 56 frame #19: 0x0000000184b17404 CoreFoundation__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24

      frame #20: 0x0000000184b16c2c CoreFoundation__CFRunLoopDoSources0 + 276 frame #21: 0x0000000184b1479c CoreFoundation__CFRunLoopRun + 1204

      frame #22: 0x0000000184a34da8 CoreFoundationCFRunLoopRunSpecific + 552 frame #23: 0x0000000186a17020 GraphicsServicesGSEventRunModal + 100

      frame #24: 0x000000018ea1578c UIKitUIApplicationMain + 236 frame #25: 0x0000000104a4b01c Likemoji Experiencemain at AppDelegate.swift:15

      frame #26: 0x00000001844c5fc0 libdyld.dylib`start + 4

@markuswinkler the branch xcode-9.3 should have what you’re looking for.

Hi @flovilmart the latest SDK version is 4.32.0 and in the xcode-9.3 branch it's 4.29

Thanks!

@ranhsd I used permissive semver so that value doesn't really matter. Actually, the lower the better, this way you have a way to go 'back'

Also I just tested and it properly installs 4.32:

Installing FBSDKCoreKit (4.32.0)
Installing FBSDKLoginKit (4.32.0)
Installing Parse (1.17.1)

Hi @flovilmart you're right. didn't noticed that

thanks

@flovilmart Thank you!

@markuswinkler let me known if everything is OK before I merge and release

Hi @flovilmart , tested in on my side and it works as expected.

@flovilmart Please update also 'FBSDKShareKit' to '~ 4.29'. Thank you.

FBSDKSharekit don’t build after 4.29.

Is anyone experiencing login issue crashes with facebook by chance?

@gateway stacktrace please

@flovilmart I can install FBSDKShareKit 4.32.0

@gateway I had a similar issues that all logins resulted in cancel. Facebook changed something. Work around was to delete the app from the account I was logging in with to get the full permission prompt again.

@flovilmart I believe @tahoecoop did above? Also on this page https://developers.facebook.com/docs/facebook-login/access-tokens/refreshing they are stating Between April 9–21, 2018, tokens for users who have not actively logged into your app and granted consent to permissions in the last 90 days will expire. To refresh these user tokens, you must send people through the login process, and they must renew consent by clicking the Continue button. Renewal of consent is now required every 90 days.

Well, there is certainly something wrong with the native Facebook SDK then. It simply didn't show me the permissions dialogue and instead returned cancel and no token when I tried to login with it.

@gateway the stacktrace posted doesn’t help much, another would help.

Here is the full stack trace. It only crashes when using the native FB app rather than just inputting email/password. Thanks a lot for the assistance!!

thread #1, queue = 'com.apple.main-thread'
frame #0: 0x0000000101e83aa4 libswiftCore.dylibswift_getObjectType + 60 frame #1: 0x0000000100f4dec0 Likemoji Experience@objc AppDelegate.application(_:open:sourceApplication:annotation:) at AppDelegate.swift:0
frame #2: 0x000000018eb24acc UIKit__58-[UIApplication _applicationOpenURLAction:payload:origin:]_block_invoke + 880 frame #3: 0x000000018eb24440 UIKit-[UIApplication _applicationOpenURLAction:payload:origin:] + 596
frame #4: 0x000000018e740e20 UIKit-[UIApplication _handleNonLaunchSpecificActions:forScene:withTransitionContext:completion:] + 5468 frame #5: 0x000000018e709f04 UIKit-[__UICanvasLifecycleMonitor_Compatability activateEventsOnly:withContext:completion:] + 1632
frame #6: 0x000000018f39f72c UIKit__82-[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:]_block_invoke + 296 frame #7: 0x000000018e709268 UIKit-[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:] + 432
frame #8: 0x000000018f1849b8 UIKit__125-[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:]_block_invoke + 220 frame #9: 0x000000018f2d2ae8 UIKit_performActionsWithDelayForTransitionContext + 112
frame #10: 0x000000018e708c88 UIKit-[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:] + 248 frame #11: 0x000000018e708624 UIKit-[_UICanvas scene:didUpdateWithDiff:transitionContext:completion:] + 368
frame #12: 0x000000018e7463b0 UIKit-[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] + 468 frame #13: 0x000000018736cf24 FrontBoardServices__80-[FBSSceneImpl updater:didUpdateSettings:withDiff:transitionContext:completion:]_block_invoke.362 + 212
frame #14: 0x00000001026a1220 libdispatch.dylib_dispatch_client_callout + 16 frame #15: 0x00000001026ad850 libdispatch.dylib_dispatch_block_invoke_direct + 232
frame #16: 0x00000001873a0878 FrontBoardServices__FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36 frame #17: 0x00000001873a051c FrontBoardServices-[FBSSerialQueue _performNext] + 404
frame #18: 0x00000001873a0ab8 FrontBoardServices-[FBSSerialQueue _performNextFromRunLoopSource] + 56 frame #19: 0x0000000184b17404 CoreFoundation__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
frame #20: 0x0000000184b16c2c CoreFoundation__CFRunLoopDoSources0 + 276 frame #21: 0x0000000184b1479c CoreFoundation__CFRunLoopRun + 1204
frame #22: 0x0000000184a34da8 CoreFoundationCFRunLoopRunSpecific + 552 frame #23: 0x0000000186a17020 GraphicsServicesGSEventRunModal + 100
frame #24: 0x000000018ea1578c UIKitUIApplicationMain + 236 frame #25: 0x0000000100f4f01c Likemoji Experiencemain at AppDelegate.swift:15
frame #26: 0x00000001844c5fc0 libdyld.dylib`start + 4

  • thread #2, queue = 'com.apple.CoreLocation.ConnectionClient.0x1c413b580'

    • frame #0: 0x0000000183d36acc libobjc.A.dylibsearch_method_list(method_list_t const*, objc_selector*) + 4 frame #1: 0x0000000183d31db4 libobjc.A.dylibgetMethodNoSuper_nolock(objc_class, objc_selector) + 100

      frame #2: 0x0000000183d31aa8 libobjc.A.dyliblookUpImpOrForward + 372 frame #3: 0x0000000183d3cc38 libobjc.A.dylib_objc_msgSend_uncached + 56

      frame #4: 0x0000000185521fe4 Foundation_encodeObject + 208 frame #5: 0x00000001854dbad4 Foundation+[NSKeyedArchiver archivedDataWithRootObject:] + 168

      frame #6: 0x000000018b339980 CoreLocation___lldb_unnamed_symbol1680$$CoreLocation + 44 frame #7: 0x000000018b339924 CoreLocation___lldb_unnamed_symbol1679$$CoreLocation + 48

      frame #8: 0x000000018b33dff4 CoreLocation___lldb_unnamed_symbol1803$$CoreLocation + 80 frame #9: 0x000000018b33dd10 CoreLocation___lldb_unnamed_symbol1799$$CoreLocation + 56

      frame #10: 0x000000018b33dbac CoreLocation___lldb_unnamed_symbol1798$$CoreLocation + 376 frame #11: 0x00000001026a1220 libdispatch.dylib_dispatch_client_callout + 16

      frame #12: 0x00000001026aea40 libdispatch.dylib_dispatch_queue_barrier_sync_invoke_and_complete + 120 frame #13: 0x000000018b33cbc8 CoreLocation___lldb_unnamed_symbol1774$$CoreLocation + 76

      frame #14: 0x000000018b2e6868 CoreLocation___lldb_unnamed_symbol100$$CoreLocation + 304 frame #15: 0x000000018b33cb18 CoreLocation___lldb_unnamed_symbol1773$$CoreLocation + 56

      frame #16: 0x000000018b338bf0 CoreLocation___lldb_unnamed_symbol1658$$CoreLocation + 244 frame #17: 0x000000018b33a390 CoreLocation___lldb_unnamed_symbol1701$$CoreLocation + 672

      frame #18: 0x00000001847cf220 libxpc.dylib_xpc_connection_call_event_handler + 68 frame #19: 0x00000001847d319c libxpc.dylibdo_mach_notify_port_destroyed + 160

      frame #20: 0x00000001847d30c8 libxpc.dylib_Xmach_notify_port_destroyed + 80 frame #21: 0x00000001847d304c libxpc.dylibnotify_server + 92

      frame #22: 0x00000001847d96b0 libxpc.dylib_xpc_connection_pass2mig + 164 frame #23: 0x00000001847ccc14 libxpc.dylib_xpc_connection_mach_event + 1080

      frame #24: 0x00000001026a12f0 libdispatch.dylib_dispatch_client_callout4 + 16 frame #25: 0x00000001026a4cdc libdispatch.dylib_dispatch_mach_msg_invoke + 380

      frame #26: 0x00000001026afca4 libdispatch.dylib_dispatch_queue_serial_drain + 292 frame #27: 0x00000001026a4080 libdispatch.dylib_dispatch_mach_invoke + 520

      frame #28: 0x00000001026afca4 libdispatch.dylib_dispatch_queue_serial_drain + 292 frame #29: 0x00000001026a4730 libdispatch.dylib_dispatch_queue_invoke + 328

      frame #30: 0x00000001026afca4 libdispatch.dylib_dispatch_queue_serial_drain + 292 frame #31: 0x00000001026a4730 libdispatch.dylib_dispatch_queue_invoke + 328

      frame #32: 0x00000001026b0dd8 libdispatch.dylib_dispatch_root_queue_drain_deferred_wlh + 352 frame #33: 0x00000001026b7ebc libdispatch.dylib_dispatch_workloop_worker_thread + 676

      frame #34: 0x0000000184793e70 libsystem_pthread.dylib_pthread_wqthread + 860 frame #35: 0x0000000184793b08 libsystem_pthread.dylibstart_wqthread + 4

      thread #4, name = 'com.apple.uikit.eventfetch-thread'

      frame #0: 0x00000001845d3e08 libsystem_kernel.dylibmach_msg_trap + 8 frame #1: 0x00000001845d3c80 libsystem_kernel.dylibmach_msg + 72

      frame #2: 0x0000000184b16e40 CoreFoundation__CFRunLoopServiceMachPort + 196 frame #3: 0x0000000184b14908 CoreFoundation__CFRunLoopRun + 1568

      frame #4: 0x0000000184a34da8 CoreFoundationCFRunLoopRunSpecific + 552 frame #5: 0x00000001854a9674 Foundation-[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304

      frame #6: 0x00000001854a951c Foundation-[NSRunLoop(NSRunLoop) runUntilDate:] + 148 frame #7: 0x000000018e6fa7e4 UIKit-[UIEventFetcher threadMain] + 136

      frame #8: 0x00000001855b9efc Foundation__NSThread__start__ + 1040 frame #9: 0x0000000184795220 libsystem_pthread.dylib_pthread_body + 272

      frame #10: 0x0000000184795110 libsystem_pthread.dylib_pthread_start + 292 frame #11: 0x0000000184793b10 libsystem_pthread.dylibthread_start + 4

      thread #6

      frame #0: 0x0000000184793b04 libsystem_pthread.dylibstart_wqthread thread #9 frame #0: 0x0000000184793b04 libsystem_pthread.dylibstart_wqthread

      thread #10, name = 'com.apple.NSURLConnectionLoader'

      frame #0: 0x00000001845d3e08 libsystem_kernel.dylibmach_msg_trap + 8 frame #1: 0x00000001845d3c80 libsystem_kernel.dylibmach_msg + 72

      frame #2: 0x0000000184b16e40 CoreFoundation__CFRunLoopServiceMachPort + 196 frame #3: 0x0000000184b14908 CoreFoundation__CFRunLoopRun + 1568

      frame #4: 0x0000000184a34da8 CoreFoundationCFRunLoopRunSpecific + 552 frame #5: 0x00000001853424b0 CFNetwork-[__CoreSchedulingSetRunnable runForever] + 220

      frame #6: 0x00000001855b9efc Foundation__NSThread__start__ + 1040 frame #7: 0x0000000184795220 libsystem_pthread.dylib_pthread_body + 272

      frame #8: 0x0000000184795110 libsystem_pthread.dylib_pthread_start + 292 frame #9: 0x0000000184793b10 libsystem_pthread.dylibthread_start + 4

      thread #11

      frame #0: 0x0000000184793b04 libsystem_pthread.dylibstart_wqthread thread #12 frame #0: 0x0000000184793b04 libsystem_pthread.dylibstart_wqthread

      thread #13

      frame #0: 0x00000001845f50f4 libsystem_kernel.dylib__psynch_cvwait + 8 frame #1: 0x0000000184797c90 libsystem_pthread.dylib_pthread_cond_wait$VARIANT$mp + 644

      frame #2: 0x0000000183cac25c libc++.1.dylibstd::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 24 frame #3: 0x000000018c18b1a4 JavaScriptCorevoid std::__1::condition_variable_any::wait >(std::__1::unique_lock&) + 104

      frame #4: 0x000000018c18adb8 JavaScriptCorebmalloc::Scavenger::threadRunLoop() + 164 frame #5: 0x000000018c18ab60 JavaScriptCorebmalloc::Scavenger::threadEntryPoint(bmalloc::Scavenger*) + 12

      frame #6: 0x000000018c18af7c JavaScriptCorevoid* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(bmalloc::Scavenger*), bmalloc::Scavenger*> >(void*) + 44 frame #7: 0x0000000184795220 libsystem_pthread.dylib_pthread_body + 272

      frame #8: 0x0000000184795110 libsystem_pthread.dylib_pthread_start + 292 frame #9: 0x0000000184793b10 libsystem_pthread.dylibthread_start + 4

      thread #14

      frame #0: 0x0000000184793b04 libsystem_pthread.dylibstart_wqthread thread #15 frame #0: 0x00000001845f5d84 libsystem_kernel.dylib__workq_kernreturn + 8

      frame #1: 0x0000000184793eb4 libsystem_pthread.dylib_pthread_wqthread + 928 frame #2: 0x0000000184793b08 libsystem_pthread.dylibstart_wqthread + 4

@tahoecoop are you able to post your app delegate? And most precisely the methods that you implément? I’m thinking it’s possible a UIKit/Swift bug more than a Facebook SDK bug

Here are all the funcs in my app delegate. If needed, I can sterilize some stuff and post full functions. Thank you!!

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {... }

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {...}

func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {... }

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any]) {...}

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {...}

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {...}

func applicationWillResignActive(_ application: UIApplication) {...}

func applicationDidEnterBackground(_ application: UIApplication) {...}

func applicationWillEnterForeground(_ application: UIApplication) {...}

func applicationDidBecomeActive(_ application: UIApplication) {...}

func applicationWillTerminate(_ application: UIApplication) {...}

PLUS standard Core Data Stack.

There is also that method that you can override:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options NS_AVAILABLE_IOS(9_0); // no equiv. notification. return NO if the application can't open for some reason

the one you're using

 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation NS_DEPRECATED_IOS(4_2, 9_0, "Please use application:openURL:options:") __TVOS_PROHIBITED;

has been deprecated since iOS 9. What SDK are you targetting?

@flovilmart You nailed it, great catch! Xcode didn't supply any warnings about that function being deprecated. I'm targeting iOS 10.0. Thanks a lot!

@flovilmart its possible to update the 'FBSDKShareKit' to '~ 4.29'? Because the messenger sharing features is introduced on this version. Thanks.

Just merged the xcode-9.3 branch to master, you can use the master branch with cocoapods.

@flovilmart i need to use de latest version of the FBSDKShareKit and this component is blocked up to update by the podspec.

On the master branch, the podspec should be permissive, otherwise feel free to open a pull requesr

@Logicsb there's an issue with the Facebook pods, and some are not properly published to cocoapods (FBSDKTVOSKit). In the case you don't need tvOS bindings, you shoudl be able to specify the platform to ios and specify the version of the SDK you need.

@markuswinkler and @logicsb I've setup this branch: https://github.com/parse-community/Parse-SDK-iOS-OSX/pull/1302

Can you check if it fits the bill? There's an issue with the facebook TVOS SDK pending to be solved and the versions are out of date on cocoapods, so I split iOS and tvOS support in 2 subspec.

Let me know.

@flovilmart Yes, works! Thanks a lot! :)

@markuswinkler @tahoecoop @gateway I split the FacebookUtil subspec in two, one for iOS, one for tvOS, is that acceptable for you?

@flovilmart Yes, that totally works 😊

@flovilmart That's great, thanks a lot!!

I was getting a Facebook login crash because I was using, in the App Delegate, a deprecated function:

` - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation NS_DEPRECATED_IOS(4_2, 9_0, "Please use application:openURL:options:") __TVOS_PROHIBITED;
`

when I needed to use:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
        return FBSDKApplicationDelegate.sharedInstance().application(app, open: url, options: options)
    }

This fixed the crash. I am not sure why it was working for a couple of months, and then all of a sudden it started breaking. I assume Facebook changed something, and that caused the crash now, but I am not sure. Hope this knowledge helps others.

Hi @flovilmart ! I'm still having this issue, just tried updating cocoapods. Both loginkit and corekit are still locked to 4.28. Any assistance is greatly appreciated!

Can you be more explicit please?

I updated my pods, including Parse, Parse/FacebookUtils, and Parse/UI. For the Facebook utils, something is locking FBSDKCoreKit and FBSDKLoginKit to v4.28. The current version of these frameworks is 4.38. Thanks for your help!

But parse? As mentioned in the 6 month old comments, the versions are now very permissive if uou’re Using the master branch as a dependency

I'm not sure unfortunately, shouldn't the Parse/FacebookUtils update these Facebook frameworks to the latest versions? I'm not referencing another git branch or anything, just master branch. Any idea what would lock these FBSDK frameworks to this older version? Thanks again!

The resolution is shared in the thread, use the master branch of this repo. If this is not a satisfactory solution, then you can probably open a PR with something more suitable to your needs

Thanks for your reply, I am using master branch, I'm using pod 'Parse' and pod 'ParseFacebookUtils'. The FBSDK dependencies never updated for me since this thread started 6 months ago. I tried getting the FBSDKs as their own cocoapods but the version is still downgraded to 4.28 by ParseFacebookUtils. I'm down to change whatever, I am not sure why it would still be locked to 4.28 though. Any insight would be greatly appreciated. Thanks again!

pod 'ParseFacebookUtils'.

ParseFacebookUtils is deprecated and you should use Parse/FacebookUtils (https://cocoapods.org/pods/ParseFacebookUtilsV4)

It is also printed in bold when you run your pod install in your console.

I also guess you didn't take the time to have a look at the README

where we state:

If you wish to use the Facebook or Twitter utils or ParseUI, you can now leverage Cocoapods 'subspecs'

pod 'Parse/FacebookUtils'
pod 'Parse/TwitterUtils'
pod 'Parse/UI'
Note that in this case, the Parse framework will contain all headers and classes, so you just have to use:

import Parse
@import Parse;

So back to your question as for why it is locked on those versions, it's because you did not update your pods.

Thanks for your response, I did read the docs as a matter of fact. My podfile is correct, I'm using pod 'Parse/FacebookUtils'.

I see the podspec was updated as well, I'm just trying to figure out what's happening. Not sure why it still wants to lock it at 4.28. I'll do some more research and see if I can dig anything up. Thanks again.

As I showed a minute ago, the parse SDK podspec will never let 4.28 as a proper version if you are using the master branch. I strongly suggest you triple check what you consider being the ‘master’ branch for your podspec.

Can you share those lines?

These are my dependencies in my podfile, is there anything else I need to be updating? Thank you!
screen shot 2018-10-23 at 5 05 30 pm

@tahoecoop How about your podfile.lock?

Those are not pointing to the master branch, but the last version.

See https://stackoverflow.com/questions/39930664/how-to-install-a-pod-from-a-specific-branch

Awesome, everything updated properly when I explicitly point it at the master branch. When I looked at the branches for the project, it says that Master is the default branch so I assumed I was getting this. Thanks for your help, I really appreciate it!!!

perhaps you should spend a few hours understanding your tools like cocoapods, not assume maintainers are ‘wrong’ and you did everything ‘right’.

I didn't assume anything my friend, that is why I was coming to ask for assistance. I was merely following the docs, it says nothing about pointing to the master branch. Thanks again for your quick response.

I am not 'your friend', I merely point out that by 2 times I repeated that you should point your pod to use the master branch in which you never asked: 'How do I point to the master branch' but always assumed that you were pointing to it already.

I'm not referencing another git branch or anything, just master branch
I am using master branch
it says that Master is the default branch so I assumed I was getting this

Yes the 'docs' don't specifically detail how to use cocoapods, this is what cocoapods docs are for (and stackoverflow).

I am just appalled, good luck!

This is a really disappointing discussion. Unless I'm missing something, @tahoecoop's questions are legitimate and politely asked. @flovilmart I don't get the hostility? I'm sure you deal with a ton of low-effort/poorly researched issues (and rarely any pull requests to help contribute), and everyone here is grateful for your work on the project. But this is a poor representation of that hard work and discourages others from asking questions, discovering the platform, and sticking around long enough to contribute themselves.

This is exactly your point, I get 100% of poorly researched issues and 0% help. Now if any one want to pick the SDK, i’m Done contributing to it.

Your work would be sorely missed but I can understand why you feel that way.

Feel free to comment here:

https://github.com/parse-community/Parse-SDK-iOS-OSX/issues/1356

I'll be watching this issue and if @gateway wants to step in instead of 👎 and pointing fingers it would be about time.

@flovilmart

This is exactly your point, I get 100% of poorly researched issues and 0% help. Now if any one want to pick the SDK, i’m Done contributing to it.

@flovilmart Please keep up the great work!
I am part of a two person startup (Pretzel) and just made some long overdue contribution and signed up as a monthly backer. (sorry for taking this long, we are bootstrapped 😅)

@markuswinkler thanks for the contribution, this means a lot. Money has never been an issue. Time and commitment however have always lacked in this community.

I don’t personally know what to to with the money given on open collective, but I would know how to leverage motivated contributors and maintainers.
In any case, thanks again for your commitment, this means a lot

@flovilmart You are very very welcome!
You have been nothing but friendly and supportive whenever I asked a question and helped me out of a pickle or two. I know this must have felt thankless sometimes, but there is no way we would have been able to build our product without your constant fixes, contributions and maintenance!

Was this page helpful?
0 / 5 - 0 ratings