React Native multiple project dependency in Xcode - xcode

I have an existing React Native project that uses FBLoginManager and AIRMap. Now I've just git cloned a brand new codebase (smilefam/SendBird-JavaScript), did an npm install to get the needed module. Yet when I tried to run Xcode on the new project, I got error about
"undefined is not an object (evaluating 'FBLoginManager.Events')"
and warnings about AIRMap.
The new project has no reference to FBLoginManager or AIRMap. Where is the dependency coming from?

Doh, need to kill the react native packager that Xcode started for the older project.

Related

FBSDKCoreKit.modulemap not found in XCode with Cocoapods

I'm using Cocoapods to add FaceBook and Google platforms to my iOS app in XCode 12. Trying to build, I get the error below.
iphonesimulator/FBSDKCoreKit/FBSDKCoreKit.modulemap not found
I've run all the steps to import the pods and they seem to all be in place. In fact, the missing modulemap is here:
..ProjectName/Pods/Target Support Files/FBSDKCoreKit
So it appears XCode simply can't locate the file during the build process. I'm definitely opening the workspace created by the Pod install and not the standalone project. Any thoughts on how to make this connection?
On Xcode 12 you got the error: FBSDKCoreKit.modulemap not found because you are opening file with extension .xcproject which will causing no dependencies to your projects.
So quit Xcode and open project again by opening file with extension .xcworkspace (beer in mind you should do this while working with React Native)
Then Product > Clean and Product > Build
Cheer!

Runtime errors trying to run a macOS AudioKit app

I'm having a lot of trouble getting a macOS audiokit project to run properly.
I've cloned the repo and opened one of the example projects - examples/macOS/HelloWorld. It builds fine, with no errors, but then when I try to run it I get this error:
dyld: Library not loaded: #rpath/AudioKitUI.framework/Versions/A/AudioKitUI
which is reasonable since the readme says that the UI Framework has to listed in the embedded binaries list. So I update my project to include AudioKitUI.framework in the embedded binaries list, rebuild and run, then I get a bunch of errors like this:
Class <AudiokitUI classes> is implemented in both <.../Build/Products/Debug/HelloWorld.app/Contents/Frameworks/AudioKitUI.framework/Versions/A/AudioKitUI> and <.../Build/Products/Debug/HelloWorld.app/Contents/MacOS/HelloWorld>
I'm using:
xcode 10.0
macOS v10.13.6
I've just installed xcode for this project, and I haven't changed any of the defaults.

Unable to run app on simulator

When I try to run the project in simulator, I get the error:
Failed to create plugin placeholder for
/Users/zc/Library/Developer/Xcode/DerivedData/iPhoneHandheldACT-cwlfykavlwlqwlhbecjubziblyzi/Build/Products/Debug-iphonesimulator/iPhoneHandheldACT.app/PlugIns/CallerID.appex
The build is successful, but run gives me the error.
This happened after I started re-organising the files in my project.
I tried deleting the derived data, clean and restarting the Xcode but it didn't help.
Removing the CallerID.apex from the embed framework section in Build Settings fixed this error.
For me the issue was that the version and bundle version of my widget configuration intent target didn't match the versions of the widget and the app.

Phonegap Build is failing due to dependency error

Im building the Phonegap App using Phonegap Build.
Phonegap Build cant create Android APK, build is failing with below error, Morning I was able to create the APK but now below error is thrown. Note that there is no config file changes between morning and now.
Please help
App Id: 2074580
https://build.phonegap.com/apps/2074580/builds
Could not resolve all dependencies for configuration ':_debugCompile'.
Could not find com.android.support:support-v4:23.4.0.
Searched in the following locations:
https://repo1.maven.org/maven2/com/android/support/support-v4/23.4.0/support-v4-23.4.0.pom
https://repo1.maven.org/maven2/com/android/support/support-v4/23.4.0/support-v4-23.4.0.jar
file:/android-sdk/extras/android/m2repository/com/android/support/support-v4/23.4.0/suppo rt-v4-23.4.0.pom
file:/android-sdk/extras/android/m2repository/com/android/support/support-v4/23.4.0/suppo rt-v4-23.4.0.jar
file:/android-sdk/extras/google/m2repository/com/android/support/support-v4/23.4.0/suppor t-v4-23.4.0.pom
file:/android-sdk/extras/google/m2repository/com/android/support/support-v4/23.4.0/suppor t-v4-23.4.0.jar
Required by:
:project:unspecified
I had a similar problem with this plugin. I needed to update some android libraries. This command solved it all for me:
android update sdk --no-ui --all --filter "extra-android-m2repository"
If you don't have the android command in your command line, you can navigate to the SDK directory.
Answered here; https://github.com/phonegap/phonegap-plugin-push/issues/928. You need to switch back to Cordova version 1.6.3 or 1.6.4. But I just checked and upgrading to the latest nightly build also seems to fix it. When working in Visual Studio, clear the cordova cache too (after setting the correct version):
Tools => Options => Tools for Apache Cordova => Clear Cordova Cache.

SpriteBuilder - how to update Cocos2d

It has been awhile since I have used SpriteBuilder with Cocos2d. I am trying to create a new project from SpriteBuilder that I can modify in Xcode. From SpriteBuilder I go to 'File > Open Project in Xcode". This opens Xcode with the new project. When I build the project I get over 40 errors (e.g. 'UIAccelerometer' is deprecated: first deprecated in iOS 5.0 - UIAccelerometer has been replaced by the CoreMotion framework.). It looks like I need to update my Cocos2d. So I went to the repo here and found this statement in the README: "SpriteBuilder also allows you to update the Cocos2D version in your project, to newest version, making it trivial to always keep you project updated to latest Cocos2D version." So it looks like it should be easy to do it, but I can't figure it out. Any ideas?
Xcode Version: 7.1 (7B91b)
SpriteBuilder Version: 1.4.9
SpriteBuilder Revision: eea568a5c7
I'm not sure how you can update cocos2d directly from Spritebuilder, but rather than rely on SpriteBuilder to perform the update, you can do it manually.
You can get the most up to date version of cocos2d by downloading the project straight from its repository on Github. If you want to clone the repository from the command line, the command is:
git clone --recursive https://github.com/cocos2d/cocos2d-objc.git
This will download the latest version of Cocos2D (and its dependencies). Now to update the project. Navigate to the new version and copy three folders: cocos2d, cocos2d-ui and external. These three folders contain the changes that need to be moved into your project.
The next part is finding the location of Cocos2D in your project—it's located in the folder named cocos2d-iphone inside the project. Pasting the new folders will prompt a warning that you are trying to replace folders that exist already. For the current updated version of cocos2d, this shouldn't be a problem.
Then, you'll want to "Clean" your project and set your iOS Deployment Target to 8.0.
As a safety precaution, you should then clean the project build folder. You can find the "Clean Build Folder..." by holding the option key (⌥) while selecting the "Product" drop down. (Note that this is different from just using "Clean".)

Resources