xamarin / FacebookComponents

MIT License
88 stars 70 forks source link

Linker error after updating to Xamarin.Facebook.CoreKit.iOS 5.0.2 #132

Closed ashleypringle closed 5 years ago

ashleypringle commented 5 years ago

After updating Xamarin.Facebook.CoreKit.iOS to 5.0.2 and Xamarin.Facebook.LoginKit.iOS, Xamarin.Facebook.MarketingKit.iOS, Xamarin.Facebook.PlacesKit.iOS, and Xamarin.Facebook.ShareKit.iOS to version 4.40.0 I started receiving this linker error:

Error MT5211: Native linking failed, undefined Objective-C class: FBSDKSystemAccountStoreAdapter. The symbol '_OBJC_CLASS_$_FBSDKSystemAccountStoreAdapter' could not be found in any of the libraries or frameworks linked with your application.

I tried cleaning, rebuilding, deleting bin and obj folders, and deleting and reinstalling the above Nuget packages, but received the same error.

After deleting and reinstalling these Nuget packages I also noticed that version 4.39.1 of Xamarin.Facebook.CoreKit.iOS is downloaded first, instead of 5.0.2, and then later it reports that it needs to be updated, despite just having been downloaded. Not sure if this is related, but it seemed odd.

In the meantime I reverted to the last versions of all the above packages and this solved the problem with iOS not building.

If you need any more info I'd be happy to provide it.

Thanks for your time.

SotoiGhost commented 5 years ago

@ashleypringle we had an internal problem when pushing the iOS bits to NuGet and only CoreKit made it to NuGet. Now the other sdks are live now, try updating the NuGets and the problem must be fixed. Hope this helps you!

jpiechowiak commented 5 years ago

I've the same behavior on 4.40 and I can also confirm that for 5.0.2 enum has only one value - Browser.. Also in 5.0.2 method LogInWithReadPermissionsAsync on class LoginManager has vanished.

ashleypringle commented 5 years ago

The LoginBehavior enum only has one value, Browser, for me as well. LoginBehavior.Native is no longer available. Also, the LoginButton class no longer has a ReadPermissions property.

Are LoginBehavior.Native and ReadPermissions no longer necessary? According to this link they are still required: https://github.com/xamarin/FacebookComponents/blob/master/Facebook.iOS/docs/LoginKit/Details.md