No such module 'FBAudienceNetwork' in XCode 9 Swift 4 - swift

I installed the FBAudienceNetwork (version 4.26.0) with CocoaPods (version 1.3.1). I followed the official manual as published at https://developers.facebook.com/docs/audience-network/ios, but the Xcode still not recognized the framework.
Just to be clear - I opened the project from xcworkspace file.
I tried the following steps with no success:
Install the framework manually, adding the ~/Documents/FacebookSDK path to Framework Search Path
Make sure that the pods project compiled using Swift 4
Added also FBSDKCoreKit (with Bolts) and FBSDKShareKit (both frameworks imported successfully)
Clean the project, delete DerivedData and also clean the pods cache and reinstalling the pods
Nothing worked so far. Anyone faced the same issue and know the reason?

Fixed in v4.27.0
Another solution that uses latest SDK (until Facebook fixes this) is to add a line to your Objc bridging header:
#import <FBAudienceNetwork/FBAudienceNetwork.h>
Of course this assumes you are using a bridging header, and if you're not then you could add one but that defeats the point of using modules. Hopefully Facebook fixes this soon.

I'm also seeing the same problem. I'm watching the Facebook bug report, but it's already been closed so I don't have high hopes of it being fixed anytime soon. Facebook suggested adding "$(SRCROOT)" to your Framework Search Paths as a work around, but it didn't work for me.
For now, I've manually locked my "FBAudienceNetwork" pod to version 4.25.0 with the following line in my Podfile:
pod 'FBAudienceNetwork', '4.25.0'

Try this solution it will fix your issue.
You need to rename FBAudienceNetwork.modulemap to module.modulemap in FBAudienceNetwork.framework/Modules folder.
v4.26

From the audience network installation guide
Good luck

Following this post:
https://developers.facebook.com/bugs/185968218614056/
and after downgrade to version 4.23 (supported by MoPub mediation as written here: https://github.com/mopub/mopub-ios-sdk/wiki/Integrating-Native-Third-Party-Ad-Networks) the integration is working (by adding the framework manually).
This is a bug in 4.26 version, so anyone that encourage the same issue, you have to wait for Facebook fixing this bug. I recommend to subscribe and follow the discussion I posted.

It works when I'm using only the framework within the "static" folder.

Related

Firebase iOS Swift Authentication API_UNAVAILABLE(macCatalyst) problem

I've just used identical procedures to those that were working a few weeks ago on an earlier app using Firebase Authentication in iOS/Swift. I've just added authentication code after configuring app, registering app, downloading & performing proper updates with the GoogleService-Info.plist, etc.
When I run, I get an error in OIDExternalUserAgentIOSCustomBrowser.h on the line:
API_UNAVAILABLE(macCatalyst) // currently 38
stating it "expected ;"
Did a quick cross-ref of this Google code with code that worked & loaded via CocoaPods a few weeks ago, and there's no mention of macCatalyst in that code.
Any thoughts on what's up or suggested workarounds?
I tried adding pod 'AppAuth','~> 1.2.0' and it at least compiled for me. I'm going to do some more testing but as a "fix" for now this seems to work.
-Edit
Seems to be working fine now :) Hopefully they get the new version of AppAuth fixed, but it seems like 1.2.0 works well.
I was running under Xcode 10. Apparently everything works fine in Xcode 11. Perhaps Google's Firebase team didn't update w/backward compatibility in mind?
Same issue with my app also. After some trial and error I found a solution.
Use pod 'GoogleSignIn', '~> 4.1.1' instead of version 5.0.1

Is IONIC 4 beta stable?

I will start a project at the beginning of 2019 (January or February). Maybe a bit later.
Will it be better to start with the current version (3.9) , or should I start with version 4 which is currently on Beta but may be released soon. depending on the Ionic team life-cycle development. Any advise ideas are welcome
Any info about their roadmap?
I know it's not the best location to ask ... But I think that some people are wondering the same question!
revision
Thanks in advance
No, it is not. I recently upgraded my project from 3.19 to 4 and I regret doing so. I knew I might have this problem. I proceeded anyway as my cli would not desist from troubling to ugrade to the latest version.
First, I had problem with platforms, especially android platform. Later, I could not build. Then it started giving me all sorts of incomprehensible gradle errors.
I did all I could, I removed plaforms folder, added again, removed node_modules, run npm install again. Nope nothing worked.
Now I am going back to my earlier version.
So in my opinion, don't use it for production.
I am currently working with multiple Ionic 4 projects, I would have to say that the documentation is not the best for this version. There are still bugs here and there and some package issues (e.g. ionic-native packages) but seems to be in the right direction. It is a personal decision which one to use based on your project.
I personally prefer to go with Ionic 4 since the angular adaptation makes it easier for me to work around.
I have tried the beta version and also updated one of my projects from version 3 to version 4 and got a lot of errors. I think we have to wait for the actual release.

Obscure issue, Google AdMob SDK, XCode 8.2 + Cocoapods integration

I have come across a really strange issue that has kept me busy for over a week which i believe to be a bug with the GoogleAdMob SDK, Xcode 8.2, cocoapods or a combination of those.
I am posting it here, in hopes an engineer can confirm the bug and point our team in the right direction to resolution.
The problem goes like this:
Create an empty Xcode project
Add/Install GoogleAds-IMA-iOS-SDK-For-AdMob pod
Commit everything and delete the repository from local machine
Check out repository again
Hit Build. Project will fail to build with error ld: framework not found GoogleMobileAds
To fix, comment out the GoogleAds-IMA-iOS-SDK-For-AdMob pod and run pod update, then uncomment it again and run pod update again, project will build.
If you try to commit at this point, git will pick up no changes
Repeat steps 3 and 4, and you will be back at step 5
I have created a repository here https://github.com/piterwilson/testAdmob where the bug can be reproduced.
The 'fix' that i have found will not work for our team as we commit our code and send it to a Jenkins server that creates a lot of builds with different code signatures required by our business.
The Jenkins build always fails with ld: framework not found GoogleMobileAds
Extra information : This has only happened starting this year. Maybe because of Xcode 8.2 (?) but we can't be sure where the problem is exactly.
I created a PR that resolves the issue in a reliable manner: https://github.com/piterwilson/testAdmob/pull/1
The repository was missing the GoogleAdMobs binary. It's a rather large file (38M), so perhaps the submitter of the question has some local configuration that automatically ignores large files? The binary should have been in this commit: https://github.com/piterwilson/testAdmob/commit/a0834a4d2f2b82da98add1bc3c49d8c0c28ffd86 (at least that's when it appeared for me when I tried to reproduce the issue.)

Using Firebase with tvOS

When I try to use the Firebase framework with tvOS (via cocoapods) I get the following error:
Target 'Pods-Portal TV' of project 'Pods' was rejected as an implicit dependency for 'Pods_Portal_TV.framework' because it doesn't contain platform 'appletvsimulator' in its SUPPORTED_PLATFORMS 'iphonesimulator, iphoneos'
I 'tricked' cocoapods to install the framework due to it not recognizing tvOS as a supported platform, by declaring the target as :ios.
So it's easy to see what the problem is. My question: Is it possible to work around this until Firebase officially supports tvOS?
EDIT (8/5/17): tvOS support is being added to the open source Firebase SDK in issue #10. Please follow along there and contribute!
Firebase developer here.
I've built a beta version of the Firebase framework for tvOS, and I'm happy to share with folks so they can give feedback. Please email me at mcdonald firebase com for access.
EDIT (7/28/16): Given the date on this post and the huge Firebase release at Google I/O 2016, there are a few extra caveats I should add to what this library does.
This is a version of the 2.x client and will work with the database on all projects. Authentication however, will not work with projects created after 5/18/2016.
This client is not compatible with Nest, as Nest only supports the 1.x Firebase clients.
EDIT (8/27/16): Please fill out this form to let us know you'd like support for Firebase on other platforms (macOS, tvOS, watchOS).
EDIT (10/29/21): Firebase 8.9.0 introduces official beta support for macOS, tvOS, and Catalyst. watchOS continues to be community supported.
Ok, so I got it working, albeit, a bit flaky.
This is a very quick guide as to how, at the time of writing.
First you need to setup CocoaPods to use unreleased features and get the master branch of cocoapods / cocoapods-core
Then you need to create a private spec repo or use mine
Remember to set your xcode path to your beta version of xcode sudo xcode-select -s /Applications/Xcode-Beta.app/Contents/Developer otherwise the spec won't build.
Then set your source to your spec file, and set the platform to platform :tvos, '9.0' in your Podfile, then pod install.
Your Project should then build and run, but with about 155 warnings:
ld: warning: URGENT: building for tvOS simulator, but linking in object file (/Users/..../..../.... /tvOS/Pods/Firebase/Firebase.framework/Firebase(FPendingPut.o)) built for iOS. Note: This will be an error in the future.
So obviously not a solid solution. Definately not a production solution. But hopefully Firebase will add support in the future. I spoke to Frank from the Firebase team who said that he will take it up at the next feature discussion to see if they want to include it. Here's to hoping they will :)
Also, I had to Comment out the Accounts/Accounts.h import statement in the FAuthData.h for some reason? I don't know if anyone can elaborate on that
Getting some progress from the open source community lately, I just got auth/database working after one or two hours, mostly fighting with the podfile. Seems to work, check out https://github.com/firebase/firebase-ios-sdk#community-supported-efforts

No transports available

I recently was trying to upgrade my react-native app to use react-native 0.5.0 and firebase. According to this article the react-native sockets are working and the full firebase sdk should be available.
I was previously using firebase-debug and #badfortrains react-native fork with success following the example project https://github.com/badfortrains/wsExample.
Since upgrading to I now am getting this error
When looking at the issues on the react-native repo I came across this https://github.com/sjmueller/firebase-react-native/issues/1
#stephenplusplus says he pushed a bunch of buttons and activated magic. Any idea what he is referencing??
There is also this other SO question Error creating user: { [Error: There are no login transports available for the requested method.] code: 'TRANSPORT_UNAVAILABLE' }
Any help on understanding the issue between using badfortrains with firebase-debug and the newest version of react-native with firebase would be appreciated.
I don't know if I am implementing something incorrectly or if the article mentioned above is a bit overzealous.
Thoughts???
Thanks.
Oddly enough starting a new project from scratch using the react-native-cli generator I was able to copy and paste all of my components over to the new project and have everything work perfectly.
I am not sure where the problem is but I will assume for now that there is an issue with the xcode project settings when trying to upgrade. Despite cleaning the project, resetting xcode to default settings, removing all derived data, restarting the package bundler, nothing worked until I created a new project.
This should prove there is nothing wrong with the JavaScript frameworks but rather it is some obscure xcode project setting. I will continue to look for a solution other than spinning a new project but for now it works.