parse-community / Parse-SDK-iOS-OSX

The Apple SDK for Parse Platform (iOS, macOS, watchOS, tvOS)
https://parseplatform.org
Other
2.81k stars 872 forks source link

Fails to build for pod 'FBSDKCoreKit' #1411

Closed Sadmansamee closed 5 years ago

Sadmansamee commented 5 years ago

If pod 'Parse/FacebookUtils' is installed then xcode fails to Build, gets error on FBSDKLOGIN, from Podfile.lock I found that - FBSDKCoreKit (5.0.0) but FBSDKLoginKit is FBSDKLoginKit (4.44.1):.

tamir-maoz commented 5 years ago

Hi, Same issue here. trying to update FBSDKLoginKit pod and getting the following error: Parse/FacebookUtils was resolved to 1.17.1, which depends on FBSDKLoginKit (~> 4.28.0)

any way to detach this dependency?

My issue is that: updating my pods gets FBSDKCoreKit -> 5.0.0 FBSDKShareKit -> 5.0.0 FBSDKLoginKit -> 4.44.1

this fails to compile since internal APIs changed in FBSDKCoreKit and FBSDKLoginKit can't find the old APIs it's using. staying in 4.44.1 on FB Kits generates numerous warnings, fixed on version 5.0.0.

ideas? Thanks.

Sadmansamee commented 5 years ago

I have created a pull request with the fix. #1412

tamir-maoz commented 5 years ago

Hi @Sadmansamee , I'm not sure your PR will resolve the issue. Actually, the current dependency, that requires LoginKit on specific version is what causing the issue. I think a better solution would be to remove that dependency completely and see that FacebookUtils class is updated to use the new APIs of FBSDKLoginKit.

@TomWFox i still think title should reflect the current dependency between FacebookUtils and FBSDKLoginKit.

Thanks.

Sadmansamee commented 5 years ago

@tamir-maoz Actually it did for me, I'm currently using my own fork and build error is gone. On PR I enforced the required version number otherwise it would take the latest one (which is actually causing the issue)

tamir-maoz commented 5 years ago

Hi @Sadmansamee , I understand your suggested fix and why it works but it actually defeats the purpose imo. I currently do the same in my podfile - forcing FBSDK Kits to 4.44.1 version, but the idea is to remove the dependency on FBSDKLoginKit specific version so that we can use FBSDK kits with their latest version. Current solution means iOS Parse SDK users (with FacebookUtils) will not be able to update their FB SDK Kits to the latest versions. Thanks.

tamir-maoz commented 5 years ago

Hi @TomWFox @Sadmansamee , I opened a PR which does not bind to a specific FB SDK version, also updated the current PFFacebookUtils to work with up to date FB SDKs APIs. Pull request. P.S some of the tests fail but i'm unsure of the reason, perhaps someone can pickup where I stopped?

Edit: note that I removed PFFacebookUtils, thus resolving my issue. i'll stop monitoring this thread for now. as for my PR, feel free to pick it up where I stopped. Thanks.

hopye commented 5 years ago

Wont just updating in the pod spec, the dependency to 5.0 work ???

TomWFox commented 5 years ago

@mrmarcsmith can you take a look at this + the two associated PRs?

mrmarcsmith commented 5 years ago

@TomWFox I’ll be free in an hour.

hopye commented 5 years ago

Guys i did enforce to use 5.0 in all via custom podspec in the podfile and , using a custom podspec with the dependency to 5.0 FBSDKCoreKit , but then other problems occur trying to compile, i see in some h and m ( occurs randomnly like there’s no fbSdkAccessToken ( is what i remember , im not in the computer, then in my code the directives to make a graphrequest also gets messed up and throws errors, i could be specific but that would be for tomorrow)

So, well i wish we could use everything in 5x, if not then the thing is downgrading everything again....

markuswinkler commented 5 years ago

@TomWFox any news on this? (tia!)

rico237 commented 5 years ago

Still nothing ?

TomWFox commented 5 years ago

@markuswinkler @rico237 I'm really not an expert with this SDK so I need all the help I can get.

At the moment there are two conflicting PRs for this so a general consensus on which one makes more sense would be good.

Please provide practical help to move things along, just asking isn't going to do much.

If anyone would like to help with this SDK please make that know and I can look at adding more maintainers to this repo.

rico237 commented 5 years ago

I understand I was just asking if anything new had happened since.

I must use the facebook connection in my app so i'll try to solve this in my own project, so if I happen to make it work with a clean solution i will try to make a PR too.

I'm not an expert (and sorry for my bad english)

AliZahr commented 5 years ago

Any updates? Is there anyone working on the issue?

rico237 commented 5 years ago

@AliZahr I think nobody is actually working on it, there are PR (Pull Requests) trying to solve this issue try with those to see if it can actually solve your problem for now :)

drdaz commented 5 years ago

So I've checked out the approaches in both PRs, and there's an advantage in @Sadmansamee's approach in that it allows us to decide when we change the version of our FB dependencies. The other approach will likely result in breakage for CocoaPods users when FB makes API changes in their libraries.

I don't agree that we should be locked on the old version of the FB framework though. So can we perhaps combine the 2? Add the 5.x updates and an explicit dependency on the current versions of the FB SDK?

drdaz commented 5 years ago

@tamir-maoz How do you feel about that? Your changes, but with the explicit dependency, so that we maintain control.

rico237 commented 5 years ago

I literally made my own project work, few weeks ago with his changes, by forking his PR and adding 5.x dependency in pod specs

drdaz commented 5 years ago

Perfect. Then that's the solution. Would you (or anybody else) make the PR?

rico237 commented 5 years ago

I think i will make the PR this weekend, I have to verify if tests pass before making it. 👍

Samigos commented 5 years ago

Can someone explain me the progress here? Is it fixed?

drdaz commented 5 years ago

Can someone explain me the progress here? Is it fixed?

@Samigos It isn't fixed. The issue right now is we can't build a release with the required changes included. And the previous maintainer of the project (who likely would know what's going on here) left some time ago.

If you've got experience with using rake to build libraries like this, your help would be greatly appreciated.

rico237 commented 5 years ago

Yes and no,

Yes -> it is safe to use the brand i created (i guess), since other guys used it on their projects (via cocoapods ? / don't know about carthage) and it works like a charm, so to use it:

pod 'Parse', :git => 'https://github.com/rico237/Parse-SDK-iOS-OSX.git'
pod 'Parse/UI', :git => 'https://github.com/rico237/Parse-SDK-iOS-OSX.git'
pod 'Parse/FacebookUtils', :git => 'https://github.com/rico237/Parse-SDK-iOS-OSX.git'

and No it isn't fixed yet because we don't seemed to make tests pass, so the PR can't be merged for now ... 😩

drdaz commented 5 years ago

@rico237 It doesn't get as far as testing. It can't build the release :-/

rico237 commented 5 years ago

@drdaz yes, i saw that the linked frameworks are still the 4.x version of FB SDK so the new methods aren't valid,

  1. The cleaning of old libs, and frameworks is never done.
  2. The libs and frameworks compiled are never found

I will try to upgrade my knowledge on rake (this is getting me headache 🤣 )

drdaz commented 5 years ago

Yeah I'm digging around in it myself.

I've tried manually replacing all the old versions of the SDK with the newly built ones... and it still fails in the same way locally.

I feel like this is something that should be documented in #1423 (or somewhere else appropriate) as well once we figure it out; how are the FB (and other?) dependencies handled.

rico237 commented 5 years ago

@drdaz True

ljs19923 commented 5 years ago

Hi! Can someone explain me the progress here? Is it fixed? Do you have a solution? Thanks

TomWFox commented 5 years ago

1424 addresses the issue, we seem to be having a problem with Carthage at the moment, but once that is resolved it will be merged and we will publish a new version.

Please feel free to test/help out over on that PR.

stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. If you believe it should stay open, please let us know! As always, we encourage contributions, check out the Contributing Guide

mtrezza commented 5 years ago

OK, so that seems related to https://github.com/parse-community/Parse-SDK-iOS-OSX/issues/1459. I'm using carthage, if the logs I posted are of any use.