0
votes

I upgraded from Xcode 10.2 to Xcode 11 and encountered the following linker error.

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

I used the Xamarin.Essential Connectivity module as follow: result = (Connectivity.NetworkAccess == NetworkAccess.Internet);

There is a change in CTTelephoneNetworkInfo in iOS (https://docs.microsoft.com/en-us/xamarin/ios/release-notes/api-changes/ios-12-14-0-12-99-4)
Could this be the issue? Thanks.

1
I did the migration from Xcode 10.2 to Xcode 11 on another PC. This time, I upgraded the NuGet package one at a time. The issue seems to be related to Xamarin.Facebook.iOS. I upgraded from 4.4.0 to 5.6.0. Any suggestion on how to solve this "Native linking failed" issue? Thanks.Tek Mun
I removed Xamarin.Facebook.iOS from my project. Same error occurred. I re-installed Xamarin.Facebook.iOS 4.4.0. Same error occurred. So, it may not due to Xamarin.Facebook.iOS package. Now, I am unable to build my app anymore. Any help? Thanks.Tek Mun
So when you upgrade the NuGet for iOS Facebook only then this happens? Secondly is this a native iOS project?FreakyAli
Yes, it happened only when I upgrade to Xamarin.iOS.Facebook nuget package. No, this is a Xamarin.Forms project. However, the Facebook login is done completely in custom renderer.Tek Mun
Dependency Service you mean, Anyway can you give us the link of your Nuget Package!FreakyAli

1 Answers

1
votes

After troubleshooting for 3 days by stripping down the code, nuget packages etc, the cause of "Native linking failed" is the binding library (dll) created and used in the project. I just need to recompile the binding library (a separate project) using Xcode 11 and transfer the new dll into the current project.