I am working on pjsip for voice chat on iPhone. The steps I have completed from the instructions are:
changed config_site.h as given.
successfully ran
$ cd /path/to/your/pjsip/dir
$ ./configure-iphone
$ make dep && make clean && make
opened ipjsua.xcodeproj to build but some libraries are missing (highlighted in red). The project therefore does not build and I'm unable to proceed further.
How should I build project?
Delete the missing libraries, locate this libraries in your build directory and then add them again to your project.
I could sort out the problem,
it wasnt big problem actually.
my project is not configured to run on simulator,so here are so many linking errors(these red colored librarys required to support pjsip on simulator).
i set my target as my ipad instead of simulator and made build.
it just worked!
Related
New to Xcode (dabble a little). I paid a developer to build an iOS app for me. He sent me the source code and I have opened it in Xcode 13.2.1. I needed to edit the info.plist to include a description why location was required (got this done). When I try to run the build, I get the error 'no such module 'IQKeyboardManagerSwift'. In AppDelegate, I see 'import IQKeyboardManagerSwift --- No such module 'IQKeyboardManagerSwift'. I went to the Podfile directory and ran 'pod install'. Output says:
Analyzing dependencies
Downloading dependencies
Generating Pods project
Integrating client project
Pod installation complete! There are 7 dependencies from the Podfile and 8 total pods installed.
I'm still getting the error when trying to run the build. I tried cleaning the build folder and running the build again but still, same error. What am I missing?
I'm not sure why this happens, but one way to solve your issue is to go into your build settings and define the Framework Search Paths to a folder that contains the frameworks in question. If the frameworks are placed in your project directory, simply set the framework search path to $(SRCROOT) and set it to recursive.
Is the codebase completely in Swift?, else you will have to include import in the Bridging header file
If in swift you can try:
Select project name -> Select Build Settings(tab) and search Framework Search Paths double click and set the desired path($(SRCROOT)) to recursive
The missing module handles a number of keyboard behaviors so you don't have to reinvent that wheel. Check out the developer's website and get it for yourself. I've been using it for years. The developer has helped me more than once get past some obstacles.
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.
I retrieved the latest build from the SVN trunk on Friday and attempted to build following the directions on the getting started wiki.
make dep seems to execute without any problems, but make fails on Samples.mak. It appears there are no rules to make any of the samples when the platform is "arm-apple-darwin9".
If I open the Xcode project at this point, libavcodec and all it's related libraries are missing as well as LibSDL. There's not mention of a requirement to install SDL and ffmpeg beforehand, so not sure what to do there.
Please add some framework is required for run pjsip and also checked config_site.h this file available or not if not found then add this file. some code also may to write in config_site.h file .
SQLCipher runs successfully with simulator but doesnt build with device; instead I get the following errors:
cp: libssl.a: No such file or directory
and
sqlite3.c:91838: internal compiler error: in find_src_set_src, at var-tracking.c:1922
I have followed the entire procedure given at SQLCIPHER website. And it runs successfully on simulator but when i change it to iOSDevice the above errors appears.
Kindly help me asap
Please make sure you are using the official 2.0 release from this repository, https://github.com/sqlcipher/sqlcipher, It addresses an issue building for armv6.
Open openssl.xcodeproj and follow instructions form this site:
http://programmer-in-paradise.blogspot.com/2011/07/how-to-build-openssl-in-xcode.html
You need to setup a new target then bring libssl.a in your project.
If you still have problems:
As XCode 4.3(2) complains in release and test on device (not in simulator) about arm 6, better is to compile your own openssl libraries [see http://www.x2on.de/2010/07/13/tutorial-iphone-app-with-compiled-openssl-1-0-0a-library/]. You just need to adjust some paths [like /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk and /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs, if you're familiar with scripting]. I managed to build libs for last version of OpenSSL [2012 openssl-1.0.1c], then include in my project and able to build release and archive for distribution, with encrypted db.
I understand that Apple doesn't support using dynamic libraries in iPhone applications. But we are working on a in-house application and we have a unique requirement to use the dynamic libraries. Our requirement is to load a dynamic library as part of "iPhone" application start up. I read that DYLD_INSERT_LIBRARIES is meant for this purpose. So I edited the Info.plist and added below entry.
LSEnvironment
DYLD_INSERT_LIBRARIES
#executable_path/sample.dylib
But it does not seem to be working. Can you please let me know your thoughts ? Really appreciate your help in this regard.
Thanks
--Neo
I've found a way to successfully add LC_LOAD_DYLIB load command to a MachO binary using optool.
$ optool install -c load -p "#executable_path/<dylib_path>" -t <executable>
$ otool -L <executable>
When building optool, make sure that build setting OTHER_LDFLAGS includes -ObjC.
optool does not seem to be able to successfully add load commands for arm64 architectures, so you may want to remove arm64 from the binary
$ lipo <input_file> -remove arm64 -output <output_file>
Edit:
There is an open pull request with support for arm64.
I also working on the same problems for last few days. I also didn't succeed to do it the way you try. So I try to launch my app from another app using this link:
Dynamic Library injection
,unfortunately Apple Block running multiple tasks (even on iphone simulators) but you can try maybe you will have more luck. I know its not a answer you expect but maybe it will give you some way to think. Please share if you have some progress.
You "could" load a binary at runtime and you can manipulate xcode settings to make it compile dylibs for iOS. See this answer:
https://stackoverflow.com/a/10509453/784387
Happy to be corrected, but dylibs are not supported and will not work. You need to get the code for the libraries and compile them into a static lib for the arm6/7 architecture. Then you can easily include these libs. There are plenty of examples of static libs and XCode also provides targets for building them.