This was building previously but isn't anymore. I updated cocoapods and pulled new data in with pod update but still can't build my iOS 9.0 app anymore:
/Users/cdub/Developer/AppName/Pods/Headers/Public/
AWSCognito/AWSCognitoSyncService.h:198:4:
Type arguments cannot be applied to non-parameterized class 'AWSTask'
Why is this happening?
The version of AWSCore and AWSCognito need to match. It looks like your AWSCognito is newer than AWSCore. How did you get AWSCognito and AWSCore? Both through CocoaPods? You need to use pod update when updating the pods instead of pod install.
If you keep encountering the issue, you should delete Podfile.lock and Pods/ and then run pod install to cleanly install the SDK. AWS Mobile SDK iOS Developer Guide has more information about how to setup the SDK.
Related
I'm using the Firebase and the SDWebImageSwiftUI module in my SwiftUI 2 app with Xcode 12.3 and Cocoapod 1.10.0 on my Apple M1 MacBook Pro.
As long as I don't integrate the Firebase Analytics module via Cocoapod the app works fine but when I integrate it, I get the same error as the guy here: Xcode 12, building for iOS Simulator, but linking in object file built for iOS, for architecture arm64. His solution also works for me (exclude arm64 architecture for the project and pods).
However now the SDWebImageSwiftUI module (included via swift package manager) is complaining "Could not find module 'SDWebImageSwiftUI' for target 'x86_64-apple-ios-simulator'; found: arm64, arm64-apple-ios-simulator". If I include the module via Cocoapod then the compiler says "No such module "SDWebImageSwiftUI".
Does anyone of you has an idea on what I could do?
Any help is much appreciated
From the instructions at https://github.com/firebase/firebase-ios-sdk/blob/master/AppleSilicon.md:
When specifying which version of Firebase you'd like in your Podfile, append -M1 to the version. See the following examples:
Explicitly require the special M1 tagged Firebase version, locked to the exact version. Note
that due to the version scheme, you're required to update this manually for each release otherwise
you will revert to the official release (ex. 7.2.0 instead of 7.2.0-M1).
pod 'Firebase/Analytics', '7.2-M1'
Do the same for any other Firebase pod used.
pod 'Firebase/Database', '7.2-M1'
Remember: now you need to manually add -ObjC to avoid a runtime crash. This CocoaPods issue has been fixed in CocoaPods/CocoaPods#10234 and is merged for the upcoming CocoaPods 1.10.1 patch release.
Checking the option "Open with Rosetta" (as in the screenshot below) helped me to solve this problem. After the error disappears, you can switch back and open Xcode without Rosetta.
You no longer need to append M1 according to the updates from Firebase. You may check it on the link for further instructions.
Starting with Firebase 7.5.0, Firebase supports Apple Silicon Macs via CocoaPods. CocoaPods 1.10.0 is required.
The special M1 versions required for FirebaseAnalytics support for versions 7.2.0 through 7.4.0 are no longer necessary.
https://github.com/firebase/firebase-ios-sdk/blob/master/AppleSilicon.md
Try this:
In your root
sudo arch -x86_64 gem install ffi
cd to your project folder and
arch -x86_64 pod install
Please take a look at this. https://stackoverflow.com/a/68037246/4862289
Go to Application folder -> Right click on Terminal App -> Get Info
Tick Open with Rosetta option.
try pod install now.
Recently I have updated the Below mentioned pods for FacebookLogin Button implemented in my app
pod 'FacebookCore'
pod 'FacebookLogin'
The versions of both pods are 0.7.0
I had updated the pods using the command
pod update
After updating the when I built the project there is an error in the path
Pods/FBSDKLoginKit/FBSDKLoginKit/FBSDKLoginKit/Internal/FBSDKLoginManagerLogger.m:163:60: No known class method for selector 'objectForJSONString:error:'
Both these errors is occurring in two places in the same class
No known class method for selector 'objectForJSONString:error:'
NSDictionary<id, id> *clientState = [FBSDKBasicUtility objectForJSONString:parameters[FBSDKLoginManagerLoggingClientStateKey] error:NULL];
I had to change FBSDKBasicUtility to FBSDKInternalUtility. Xcode will prompt you to unlock the files to make the change.
I have also received a notification from Facebook to upgrade the Facebook SDK to 5.0.(Previously it was 4.39.0) Below is the link which shows the latest features of Facebook SDK :
https://developers.facebook.com/docs/app-events/upgrade-guide
If you want to use these then you have to update the SDK and at code level integrate new pods for Facebook as shown in the above link.
If you don't want to use these features then you have to restrict your pods to a specific version so in future pod update the Facebook pods are not changed.
Hope this helps.
I did my R&D, there was no solution.
I solved it by just removing the entire FacebookLogin Pods,
#pod 'FacebookCore'
#pod 'FacebookLogin'
Then Built the project, and then re-installed the same pods with the latest version to 5.0, then the issue seems to solved.
I had to use Xcode 10 to build an app to support older iOS versions. I would get this error when running to a device (but not a simulator). This error would go away once I started using Xcode 11 again.
My ios app was working fine until I ran "pod install" and updated all of my pods. I'm now getting an error when trying to build in Xcode.
FBSDKLoginKit/FBSDKLoginManagerLoginResult.m:43:25: No known class method for selector 'dictionary:setObject:forKey:'
Here are the FB pod versions used:
Installing FBSDKCoreKit (5.0.0)
Installing FBSDKLoginKit (4.44.1)
Those are not specified in my podfile. I think they're installed as part of FirebaseAuth which is in my podfile.
How can I resolve this?
Add pod 'FBSDKCoreKit', '~> 4.44' to the Podfile.
There's a bug in the 4.x versions of FBSDKLoginKit. Its podspec allow major version updates to its FBSDKCoreKit dependency, but the code doesn't comply.
There's no FBSDKCoreKit version specified in the 4.44.1 version like there is in the 5.0.0 version.
The suggested Podfile change is a workaround for the podspec problem.
The current version of FirebaseUI requires version 4.x of FBSDKLoginKit.
In my case, I had to also fix the version of Firebase/Core, like following.
pod 'FBSDKCoreKit', '~> 4.35'
pod 'FBSDKLoginKit', '~> 4.35'
pod 'Firebase/Core', '~> 5.20'
Additionally information
The above case is that you have FirebaseUI/Twitter for Twitter login, which is using TwitterKit internally. But TwitterKit is finished to support. So if you have already used FirebaseUI/Twitter, the following should be used
pod 'FirebaseUI/OAuth'
instead of the below.
pod 'FirebaseUI/Twitter'
At the result, we can use the latest & stable FBSDKCoreKit, FBSDKLoginKit and Firebase/Core.
I have similar issue. It is after installing FBSDKCoreKit 5.0.0 (was 4.44.1) as part of the Firebase codebase.
It seems that there may be some code that Firebase use:
(void)addLoggingExtra:(id)object forKey:(id)key
{
[FBSDKInternalUtility dictionary:_mutableLoggingExtras setObject:object forKey:key];
}
That seem to be problematic and gives the error:
No known class method for selector 'dictionary:setObject:forKey:'
While I don't know how to solve it, the above may provide insights to others.
the above answer marked as correct didn't work for me.
this is how I fixed this error. First I downloaded iOS sdk from facebook : https://developers.facebook.com/docs/facebook-login/ios?sdk=fbsdk
then I opened downloaded sdk and copied FBSDKCorekit.framework, FBSDKLoginKit.framework, and Bolts.framework into 'Frameworks' folder in my Xcode project.
(I'm not using facebook to login at this time but I was still getting the same error as you guys are)
At last I changed my pod to:
pod 'Firebase/Core'
pod 'FirebaseUI/Auth'
pod 'FirebaseUI/Phone'
pod 'FirebaseUI/Google'
pod 'FirebaseUI/Email'
update pod, clean project and rebuild
a couple errors pop up for deprecated code in the fb sdk. click 'fix' from the error and project runs as expected.
Very first you need to proper check version of pod which you are installing. Because it looks that you are installing earlier version of Facebook Pod. Please look at screenshot I have attached. It's work fine for me.
Though you can follow these steps to overcome this error.
Comment All Facebook pods in pod file.
Now close Xcode project, clear all recent items, Quit Xcode. Clean derived data.
Go to Terminal, jump to your project path directory, run command pod install (It will remove all Facebook pods).
Please save or commit your code if you are using versioning system.
Now open your Xcode project and go to pod file.
Copy latest pods from here and paste into pod file.
Now again close Xcode project, clear all recent items, Quit Xcode. (Please don't build or run project)
Go to Terminal and run command pod install (It will install all latest Facebook pods).
Don't forget to save or commit code.
Then open Xcode project, clean folder, build and then run.
Ok, I can't figure out what's the catch here. I follow all the instructions to configure my new project using CocoaPods to use Facebook SDK. Once I open generated project workspace, Xcode offers me to convert some source code in Pods project to Swift 2.3 or Swift 3.0.
I tried twice - with converting to Swift 3.0 and converting to Swift 2.3. Neither works and both give me on average ~120 compilation-time errors.
What's the deal here? I can't find anyone with similar problems. They seem to support Swift 2.3, but it doesn't work actually.
Xcode 8.0, Deployment target 8.0, latest FB sdk available through pods - 4.16.1
Facebook version 0.2.0 has support for Swift 3.0. Make sure you do the following before installing the latest version of Facebook SDK:
1: Get the latest version of Cocapods:
gem install cocoapods
(or if the above fails)
sudo gem install cocoapods
2: Update your local specs repo by running:
pod repo update
3: And then update your pod file and run pod update or pod install
pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'
I think your probably missing step 1.
I was running my simulator and in my debug console, I got the following message:
New version of Google Maps SDK for iOS available
How do I update to the latest version? I tried to do sudo gem pod install, but it didn't work.
Thanks.
Follow these instructions to upgrade an existing project to the most recent version of the Google Maps SDK for iOS.
If you previously installed the Google Maps SDK for iOS from a zip file containing a static framework:
Remove all references to the previous framework from your Xcode project.
Follow the instructions above to install the Google Maps SDK for iOS using CocoaPods.
Make any necessary changes as a result of the upgrade. See the [release notes][3] for a list of the changes in each release.
Clean and rebuild your project by selecting Product > Clean and then Product > Build.
If you previously installed the Google Maps SDK for iOS from the Google-Maps-iOS-SDK pod:
Change your pod name to GoogleMaps.
Run pod install.
Make any necessary changes as a result of the upgrade. See the release notes for a list of the changes in each release.
Clean and rebuild your project by selecting Product > Clean and then Product > Build.
If you previously installed the Google Maps SDK for iOS from the GoogleMaps pod:
Check your Podfile for any version limiter, and ensure you remove or update the version to ensure you get the version you need. See the release notes for a list of version numbers.
Run pod update.
Make any necessary changes as a result of the upgrade. See the release notes for a list of the changes in each release.
Clean and rebuild your project by selecting Product > Clean and then Product > Build.
Note: Versions 1.9.2 and earlier of the Google Maps SDK for iOS were available as a zip file containing a static framework. There was also the option to install recent versions from a CocoaPods pod. From version 1.10.0 onwards, the Google Maps SDK for iOS is available for installation only via CocoaPods.
sudo gem pod install will install Cocoapods.
What you need to do is update the pods in your project.
You can do it by executing the command pod update or pod install in the folder in which your Podfile is located.
If after pod install nothing updated, run pod update.
Just follow the below steps to update any SDK which got installed using CocoaPods:
Open terminal
Type cd /yourProjectFolderPath and press enter
Type pod update POD NAME and press enter
E.g: pod update GoogleMaps
That's all. A new version of the SDK will be updated in your project.