Linking issue for Firebase Pod (in libFirebaseStatic.a) - xcode

Was trying to add a pod (FirebasePerformance) to my Podfile
I can technically run the build on my local devices, but when I try to run on a Simulator I get the following error:
In Pods/Firebase/libFirebaseStatic.a(FPendingPut.o), building for iOS
Simulator, but linking in object file built for iOS, file
'Pods/Firebase/libFirebaseStatic.a' for architecture arm64
Even when I removed the new pod (FirebasePerformance), it still is giving me the same error. I believe part of the reason for my issue was that I attempted to fix other issues by changing the cpu architecture that my cocoapods were installed in. But even after re-installing in both x86_64 (for simulators on Macbooks with M1 chips), and then deintegrating and trying to reinstall with arm64 (older Macbooks / iOS devices), it still is giving the same error. What do I do?

This answer might be unsatisfactory for those who need to use the Firebase Pod (for whatever reason). But I found in this case, I could actually just delete the Firebase pod from my Podfile and re-install and the issue would be fixed. (It turns out all of the actual logic is presented in other pods like FirebaseCore, FirebaseFirestore, etc., and the "Firebase" pod is just a dummy one).

Related

Unity Xcode Build fail- Unityframework Error: Undefined symbol

My unity project with firebase integrated got errors while archiving the Xcode project. I have searched for some issues that may be the same as mine, but with no luck. I have tried to install cocoa pods and success to build the Xcode project with no errors. When I archived the Xcode project, it shows so many Undefined symbols like the picture below
Xcode Version: 14.1.
Firebase SDK Version: 10.0.1.
Unity Version: 2021.3.7f1.
It turns out that the MLKit hasn't supported Firebase 10 yet, so something went wrong. Not sure why my unity didn't show errors. I manually install pod by terminal and got errors. Then I found the same issue as mine here.
https://github.com/firebase/firebase-ios-sdk/issues/10359
The quick answer is to add a version specifier to the Podfile
pod 'FirebaseAuth', '>= 9.6.0'
enter image description here
I have changed the pod file, but no results.

Flipper React Native Xcode iOS Simulator Version Mismatch

I'm getting the following error about mismatched Xcode versions. However, it doesn't seem to make sense. The UUID is the "Indentifier" of the simulator that is running, not any folder I can switch to. I've found a similar bug, but since it is closed, and old, I don't think I'll get much of a response over there: https://github.com/facebook/flipper/issues/1925#issuecomment-1030495731
I've tried running all the suggested commands with and without sudo and nothing helps. This looks like it might be an Xcode workspace configuration issue since I've not had these problems with other React Native applications.
Xcode version mismatch
Xcode version mismatch: Simulator is running from "286DC512-9354-4D32-A0F3-B354C61BD6B7/Contents/Developer" while Xcode CLI is "/Applications/Xcode.app/Contents/Developer". Running "xcode-select --switch 286DC512-9354-4D32-A0F3-B354C61BD6B7/Contents/Developer" can fix this. For example: "sudo xcode-select -s /Applications/Xcode.app/Contents/Developer"
Xcode version 13.2.1
Flipper version 0.132.0 (50.0.0)
iOS version 15.2
iPhone 11
I've believe that is related with this version 0.132. I've downgrade my version from 0.132 to 0.113 (version that I was using). And everything is working fine.
You can find more releases here https://github.com/facebook/flipper/releases
I'm still looking for a solution to this on version 0.132.
i had the same issue and the error was gone once i upgraded to flipper 0.135.0

Cocoapods Pod Packages Version Checking - Flutter

I just recently updated my MacOS BigSur to 11.6 to accommodate the new iOS 15 release. I also updated my XCode to 13. To make sure my Flutter packages are using the most up to date version, I checked and confirmed that the package/s versions in pubsec.yaml is indeed the newest via pub.dev. I then updated Flutter, reinstalled Cocoapods and ran 'pod repo remove trunk', 'pod repo update' and 'pod update'. I then tried checking whether the pod packages are the most up to date. However, when I try visiting cocoapods.org via browser, I am getting an internal server error. How do I verify that I do have the most recent versions which are in sync with the version showing in pub.dev of Flutter? Is it correct to assume that the pub.dev build version showing for a specific package should be the same when I check the package in Pods of XCode?
FYI. The reason I am asking this is because I am getting a lot of build errors due to pods with deprecation errors. So I wish to rule out any version discrepancies before tshooting further.
Thanks in advance.
I'm not sure about the first problem, but for the problem "a lot of build errors due to pods with deprecation errors" I always use this steps to solve it.... try it might work for you too:
delete: podfile, pods folder, and podfile.lock
cd ios
pod install --repo-update (this will take time)
cd ..
flutter clean
flutter pub get
Thanks Remoo. Unfortunately your recommendation didn't work. What worked is: 1. Deleted my project. 2. Copied original saved copy fresh to MacOS. 3. Ran flutter clean and then flutter packages get and then in ios dir, did pod install. 4. Flutter run and flutter build ios --release were successful. 5. I just ran archive via XCode but still saw a lot of deprecation errors but it went through. Also performed Validate and Distribute. I will see if the app works on my iphone.

Application won't start on simulators in Xcode 12

Please tell me, after upgrading to Xcode 12, simulators stopped running
There was an error 'in /Users/.../Pods/MobileVLCKit.framework/MobileVLCKit(VLCEmbeddedDialogProvider.o), building for iOS Simulator, but linking in object file built for iOS, file' /Users/.../Pods/MobileVLCKit /MobileVLCKit.framework/MobileVLCKit 'for architecture arm64'
I found on the Internet a solution to add arm64 to Excluded Architectures using the Any iOS Simulator SDK option, which I did.
Then the same error was only with the i386 architecture, I added it to the exceptions as well (for project purposes and Pods purposes)
Then the same thing with x86_64, added it too
After that the error 'Build input file cannot be found' came out /Users/...Library/Developer/Xcode/DerivedData/SWSTB-asdgdfgbgfbg.../Build/Products/Release-iphonesimulator/MYNAME.app/MYNAME'
I tried to clean DerivedData, but after that either the error was repeated
I don't know how to solve it
It runs fine on a real device, the problem is only with simulators
Updated Xcode to 12.01, updated cocoapods, updated mobilevlckit, error persists
Remove /Library/Developer (the one from root), or rename it and relaunch your Xcode.
or
cmd + shift + opt + k
or
pod update
The problem was with the pod MobileVLCKit.
The pod devs have added the necessary changes to work well with Xcode 12.x
It was necessary to update MobileVLCKit to version 3.3.15
I have not updated above 3.3.13, then I registered the command pod install --repo-update. After that, the repository with the pod was updated and it was possible to install the latest working version
I've an old project migrated to Xcode 12.4, cocoapods. Same situation. I've solved updating the Build Settings -> VALID_ARCH value with (both project and target section) :
$(ARCHS_STANDARD) i386
Build architecture only: YES
For your tries remember to removing Derived Data:
rm -rf ~/Library/Developer/Xcode/DerivedData

Can't deploy nativescript app to ios emulator or real device

I have successfully deployed my nativescript app to my ios and android devices and emulators many, many times. But now, when I try to deploy the app to ios, the builder stops at Project successfully prepared (ios) and won't load it to the emulator or device.
I deleted the hooks, node_modules, and platforms folders, then rebuilt with the same result. I can successfully run the app if I run it directly through XCode, just not from the nativescript cli.
Here's the output from tns doctor
✔ Getting environment information
No issues were detected.
✔ Your ANDROID_HOME environment variable is set and points to correct directory.
✔ Your adb from the Android SDK is correctly installed.
✔ The Android SDK is installed.
✔ A compatible Android SDK for compilation is found.
✔ Javac is installed and is configured properly.
✔ The Java Development Kit (JDK) is installed and is configured properly.
✔ Xcode is installed and is configured properly.
✔ xcodeproj is installed and is configured properly.
✔ CocoaPods are installed.
✔ CocoaPods update is not required.
✔ CocoaPods are configured properly.
✔ Your current CocoaPods version is newer than 1.0.0.
✔ Python installed and configured correctly.
✔ The Python 'six' package is found.
✔ Xcode version 11.6.0 satisfies minimum required version 10.
✔ Getting NativeScript components versions information...
✔ Component nativescript has 6.7.8 version and is up to date.
✔ Component tns-core-modules has 6.5.12 version and is up to date.
✔ Component tns-android has 6.5.3 version and is up to date.
✔ Component tns-ios has 6.5.2 version and is up to date.
Any idea as to why I can deploy from XCode but not the command line?
I have had similar problems in the past, and it has always meant doing an update of Nativescript and then restarting my system. However, your tns doctor output looks basically the same as mine and I'm not having any issues with this. Not sure what to say -- maybe try a new npm install -g nativescript -- but it looks like you are already up to date. I've found in my experiences that this seems to happen if Xcode has updated and the version of Nativescript I have is one behind. Your situation may be for a different reason. Also, for whatever reason, I also found I need to completely reboot (paradoxical as that sounds) after doing an update to get things working again. That led me to speculate at one point that something in the connectivity layer might get jiggered up and causing things to wait for a ready state that never appears (?) but that doesn't really make much sense either on deeper thought. Wish I had a more definitive suggestion!
I finally found the problem. In my situation, the nativescript-videorecorder plugin has a hook that runs during the after-prepare phase of the build process. The after-prepare script creates a promise that only resolves if it finds the AndroidManifest.xml in the platforms folder. When I delete the platforms folder to do a clean rebuild of ios, the AndroidManifest.xml doesn't exist causing the promise to hang.
If I build for android first, the ios build runs fine and deploys to my simulator and real device.
I notified the owner of nativescript-videorecorder. Hopefully this helps someone else who may have a similar problem with this or another plugin.

Resources