libCordova.a file missing in PhoneGap 2.9 - iphone

Can you plz help me?
I am using XCode version 4.6.3 and phonegap version 2.9.
The project is running fine in Simulator but when I want to make a IPA file, it always build failed.
The message is showing like below:
file not found: /Users/admin/.../libCordova.a
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I have found some discussion on this issue. Most of the solution is like (1) to change the BUILD ACTIVE ARCHITECTURE ONLY to YES, (2) to change the ARCHITECTURE only to armv7, (3) update the project after creating it...etc. But none of those working for me.
Plz help anyway.
Thanks in advance.

Follow these steps to fix this problem:
Go to project settings and Build Tab. Search for "Other Linker Flags"
Double click on the linker flags for Release and Change ${TARGET_BUILD_DIR}/libCordova.a to ${BUILT_PRODUCTS_DIR}/libCordova.a
Do the same for Debug
Clean and build archive again

If Prems answer doesn't fix the issue, try building your CordovaLib project first. After doing that I was able to build my project.

In addition to several other suggestions & post, I found that I was experiencing this problem on my AdHoc builds only.
The problem for me was the the CordovaLib subproject did not have an AdHoc configuration. Once I added an "AdHoc" configuration to the CordovaLib subproject, this started working.
Please note that I figured this out during debugging because if I set the Edit Scheme > Archive build configuration to "release" it would work OK, but if set to AdHoc it would give me a link error, telling me that this file could not be found:
/Users/jason/Library/Developer/Xcode/DerivedData/MommyNearest-ceourmykvgxdekbkmzenuvhcfnzk/Build/Intermediates/ArchiveIntermediates/MommyNearest/BuildProductsPath/Adhoc-iphoneos/libCordova.a

If you check the linker suggestion above and still not working. Make sure that Cordova project has the same configuration name. If your main project has "Debug, Release, and Production" configurations. Add same configurations in the Cordova project. Build Cordova and then build your project.

I you are using Xcode 5.0, do exactly the opposite and it works.

Related

FBLPromises Framework not found

I am tryin to install Firebase using cocoapods so I may send push-notifications to user devices. However, everytime I follow the instructions step by step, I get this error that says "framework not found FBLPromises". Anyone have any ideas how to fix? Everything I have looked up online does not work.
The following worked for me:
What probably happened (for anyone still looking) is that after running
pod install
in your project's directory, you are still building the ".xcodeproj" file instead of running the newly created ".xcworkspace" from the pod install. Remember, after pod installing, you MUST do edits on and work with the .xcworkspace instead.
Go to your Pod target and add arm64 in Excluded Architecture
I was having the same issue, and I solved it by going to Product > Scheme > Edit Scheme... and selecting Find Implicit Dependencies. After that, the project was able to build correctly.
Probably late but I managed to fix it by linking FBL promises in my podfile to the rest of the project!
Click on the project > Targets. Select your target. Then click on Build Settings. Find "Runpath searches path" and add "$(PODS_CONFIGURATION_BUILD_DIR)/PromisesObjC". It worked for me, but it gave me another error dealing with another missing lib, so I had to do it again until all libs were found.
Go to your Pod target and set Build Active Architecture Only = YES For Debug Environments
Simply setting Build Active Architecture: Debug - Yes, Release - No fixed this for me. I had it set to No, No before. I think this matches the setting in the Pods project.
Open Podfile by typing the command open Podfile in the folder of the project using the terminal.
Type pod Promises
Done

'Convert to latest Swift Syntax' breaks the build even when there are no changes

My project is in objective-c with just one tableviewcontroller in swift. I downloaded the Xcode-beta today which prompted me to 'Convert to latest Swift Syntax'. After I follow the steps it shows me that there are no changes. I do not see any changes in the proj file either but it has errors. Please note that I do not see the errors when I choose not to covert to latest swift syntax - the app builds and runs fine in this case.
Any idea why it is breaking?
Here are the errors -
cannot parse the debug map for "app name" No such file or directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)
the other errors are that it is not able to find the swift file. The swift class was initiated in the objective-c class.
Switch ENABLE_BITCODE to NO in project build settings helped me.
Product -> Clean helped in my case.
I had an issue similar to this, and I fixed it by changing the build phases/ compile sources in the project :
I had added in new sources that needed to be compiled earlier in the project, and after i deleted the files, when I tried to build the project it said it was missing the files that I deleted. After deleting a few of the build phases that appeared as though they were not the default build phases, it worked fine.
I found that there were a default of 4 compile sources.
Also, using Ctrl+Shift+K will clean your project, which helped me another time with an error like this.
I was having the same issue, and none of the above answers helped. Apparently, my issue was I had an import using a .m file instead of a .h file.
The easy way to find and fix these would be Find > Find in Project... and searching for #import.*m and changing them to the appropriate .h file

Converting an non ARC project to ARC error

When I converting my iPhone project to Objective - c ARC I am getting the same error all the time:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo: can't figure out the architecture type of: /Users/user/Library/Developer/Xcode/DerivedData/TestApp-fktzngidcyimjibgdosyphgbuzpe/Build/Intermediates/TestApp.build/Debug-iphoneos/TestApp.build/Objects-normal/armv7/TestAppCommand /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/lipo failed with exit code 1
Please can someone advice me how can I resolve this?
If you are using 3rd party libraries that don't support ARC you should just add this flag to the files in question in your build phases/compile sources (prevents ARC on only those files). This should help you determine if your code is the issue or the library you are using (if that's the case).
-fno-objc-arc
Try to use this one
I solved this issue by changing the value of the Valid Architecture found in Project > Build Settings Architectures from the default "armv6 armv7" to "armv7". Hope this helps.
Make sure that you added the -fno-objc-arc flag to each implementation file (.m file).
And then clean the project (Project menu -> clean) and build again. I have sometimes had to clean and build twice when doing this in class. Seems like a little bug.

Linker command failed with exit code 1 error in Xcode project

I was working on my project and suddenly after editing the code and compiling gave this error:
ld: warning: directory not found for option '-
L/Users/mani/Documents/Classes/Twitter+OAuth/Libraries & Headers' ld:
duplicate symbol _OBJC_CLASS_$_playSiew in
/Users/mani/Library/Developer/Xcode/DerivedData/learn-aktrtiwswclovoatyweyquoxmypa/Build/Intermediates/learn.build/Debug-iphonesimulator/learn.build/Objects-normal/i386/playSiew.o
and
/Users/mani/Library/Developer/Xcode/DerivedData/learn-aktrtiwswclovoatyweyquoxmypa/Build/Intermediates/learn.build/Debug-iphonesimulator/learn.build/Objects-normal/i386/Thumb.o
for architecture i386 clang: error: linker command failed with exit
code 1 (use -v to see invocation)
I never touched the project settings, just edited the code.
What's more strange is that I took out last revised code from svn but still I got the the same error.
You may be accidentally #import'ing a .m file instead of a .h. Use Cmd+Shift+F and search for ".m" (without quotes). It will most likely lie in one of the classes mentioned in the warning. If not, clean and run again.
I was also having same issue and I did following and issue is gone.
Go to Product -> Clean and re-run the project.
I hope it might be useful for some other developers.
After running into this problem a few minutes ago (yes, I know it's been 7 months since the original thread) I found that the root of my issue was due to me dragging & dropping files into my project within XCode instead of right-clicking and choosing Add Files to Project.
Check playSiew.m is in Compile Sources section. isn't it?
You can find Compile Sources section follow this step
Select YourProjectName
Select TARGETS
Select Build Phases
If don't have playSiew.m in this section . You must to add it to this section.
As I said the problem wasn't the code but some settings. So what I did was copying the code from my friends' Mac (it was working fine), and installed a fresh copy of the project to my Mac. It worked.
I was importing a library in a test case which I had specified in my pod file for the main target but not for the test target.
I also got this error because I had accidentally included two versions of the same source file. Deleted the wrong one and the problem went away...
If you're working in Unity and export to iOS and you are using a plugin, go to Xcode Build Settings and set ENABLE BITCODE = NO. I'm guessing this might apply to other situations as well
Faced similar issue, while running the code on a simulator, tried all the above mentioned options, still got the same error. Tried connecting the iOS device and build the code, it worked for us. This can be a quick workaround.
the same error i faced. so, i just removed reference of that classes which are generating the errors and than again gave reference and the error was gone...
as D80Buckeye says there should be problem of dragging and dropping files instead of Clicking on "Add Files"
In case this comes in useful for anyone else--I just had this same error, and turns out the cause was initializing a variable in my header file rather than in the main file.
I just encountered the same error. If you are using embedded Libraries, make sure your Deployment Target is set to iOS 8.0 or higher.
you only need to add the following framework: quartzcore.framework
The only way we can get past this bug on our project is to do a Clean and then build for iPad Retina. After that it will build successfully for any device. Weird.
In my case i have add reference of FacebookLoginSDK framework but forget to give search path in build setting. After removing its reference everything was fine.
So conclusion is if you are adding any external framework be careful.
If this happens to you with CoreData generated classes, combine the +CoreDataProperties and +CoreDataClass into the +CoreDataProperties class and delete the +CoreDataClass. Make sure to search Derived Data for leftovers of the +CoreDataClass. Even after deleting the Derived Data and cleaning I sometimes had Xcode just generate the +CoreDataClass again and again. Deleting it manually in Finder and then re-bulding helped me solve this.
try this, go to Target -> Build Settings,then search these three as following,
GCC_NO_COMMON_BLOCKS,
CLANG_WARN_INFINITE_RECURSION,
CLANG_WARN_SUSPICIOUS_MOVE,
set NO to each value then clean and build.
I tried several of the answers listed but none worked for me.
I got the error after updating XCode (while it was still open which may have contributed to the problem)
First, I deleted my Derived Data folder:
XCode => Preferences => Locations => Double Click on arrow next to path indicating where the Derived Data folder is.
Then "Move to Trash"
I don't think that's what the problem was, but it's amazing how many times this has been an issue for me working on different problems.
Second, I 'Quit' the simulator.
Third, I 'Quit' XCode.
Fourth, I opened up my project in XCode again and then did a Clean and Build (found in the Product menu)
Fifth, I ran my project and it worked fine
Cleaning the project not works for me.
Restart the Xcode works for me...
For me it was different. I had the same error when I removed a Pod and solved it by removing this pod from the Other Linker Flags in the Build Settings
then clean your project [Product > Clean] and rebuild
Go to general and linked frameworks and libraries in xcode and remove all the files there.

XCode linker error : library not found for -lAdMobDevice

I am trying to build lite version of my iPhone application using AdMob. I followed the guidelines here http://www.iphonedevsdk.com/forum/iphone-sdk-development/11358-creating-lite-version-app.html and created two different targets. In the lite version I added a macro called LITEVERSION which I am checking using #ifdef and doing the appropriate things.
But when I build the lite version of the app, I get a linker error
ld: library not found for -lAdMobDevice
collect2: ld returned 1 exit status
However I am able to build the full version without any issues and also noticed that build is working fine (for the fullversion) even if I remove the #ifdef macros. This suggests that the libAdMobSimulator.a library is linking properly for the full version however it fails on the lite version.
Any pointers would be greatly appreciated!
Cheers
Jugs
When I had this problem, the cause was that I'd added the library into Xcode by dragging it in like a regular source file.
The fix was to remove it, and then add it properly using the "Add->Existing Frameworks..." dialogue.
I got similar error as I was using CocoaPods libraries
library not found for -lPods-MyApp
I got the error because I opened xcode project instead of workspace.
I was using CocoaPods, and ran pod install, and that fixed it.
I figured out what he problem was. I just removed all frameworks and libraries and added them back in for both the targets and it worked!
Cheers
I cause this because of a libray libMobClickLibrary.a which is used in youmeng sdk missed. I fix the issued after copy libMobClickLibrary.a to the project floder.
I had the same problem with Google Analytics library. My problem was that I forgot to add the path to the Library Search Paths in my target's build settings. (Target -> Build Settings -> Library Search Paths)