I am trying to include the Estimote SDK 3.0 into my project, but i am getting the following linking error:
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_ESTBeaconRegionWrapper", referenced from:
objc-class-ref in EstimoteSDK(ESTSecureBeaconManager.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I have added the framework to the 'Build phase' and checked that the framework search directory setting contains the directory.
I downloaded the example App from Estimote, and it used the same framework (that is where I copied it from) and that build fine. I can't see any obvious differences.
How can I figure out what is wrong?
EDIT:
I am using Xcode 6.2.
I am building for an iPhone 6 (said architectures arm64, armv7, armv7s). After the question below I build for armv7s, and I get the same error (for armv7s). So there must be a problem linking the Framework.
EDIT 2: I removed the -ObjC 'Other linker flag', as adding that to the Estimote project generates the same error. However now I get a lot more errors:
Ld /Users/.../iDomsPortalDev normal arm64
cd "/Users/.../idoms-portal"
export IPHONEOS_DEPLOYMENT_TARGET=7.0
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.2.sdk -L/Users/.../Products/Debug-iphoneos -F/Users/.../Products/Debug-iphoneos -FiDoms/frameworks -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -filelist /Users/.../Debug-iphoneos/iDoms\ Dev.build/Objects-normal/arm64/iDomsPortalDev.LinkFileList -Xlinker -rpath -Xlinker #executable_path/Frameworks -dead_strip -lxml2 -lc++ -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=7.0 -framework CrashReporter -framework EstimoteSDK -weak_framework Accelerate -weak_framework Social -weak_framework Twitter -framework MessageUI -framework MapKit -framework AVFoundation -framework SystemConfiguration -framework MediaPlayer -framework QuartzCore -framework UIKit -framework Foundation -framework CoreGraphics -framework CoreData -framework CoreLocation -Xlinker -dependency_info -Xlinker /Users/.../Debug-iphoneos/iDoms\ Dev.build/Objects-normal/arm64/iDomsPortalDev_dependency_info.dat -o /Users/.../iDomsPortalDev
Undefined symbols for architecture arm64:
"_CBAdvertisementDataServiceDataKey", referenced from:
+[ESTDeviceDataHelper parseAdvertisingData:] in EstimoteSDK(ESTDeviceDataHelper.o)
"_OBJC_CLASS_$_CBCentralManager", referenced from:
objc-class-ref in EstimoteSDK(ESTBeaconDevice.o)
"_kSecAttrService", referenced from:
-[ESTKeychain dataForKey:] in EstimoteSDK(ESTKeychain.o)
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
+[ESTKeychain bundleSeedID] in EstimoteSDK(ESTKeychain.o)
"_kSecAttrAccessibleAfterFirstUnlock", referenced from:
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
"_OBJC_CLASS_$_CBUUID", referenced from:
objc-class-ref in EstimoteSDK(ESTBeaconDevice.o)
objc-class-ref in EstimoteSDK(ESTBluetoothServiceAuth.o)
objc-class-ref in EstimoteSDK(ESTBluetoothServiceEstimote.o)
objc-class-ref in EstimoteSDK(ESTBluetoothServiceOta.o)
objc-class-ref in EstimoteSDK(ESTBluetoothServiceSoftware.o)
objc-class-ref in EstimoteSDK(ETBluetoothMath.o)
"_kSecAttrAccessibleWhenUnlocked", referenced from:
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
"_kSecReturnAttributes", referenced from:
+[ESTKeychain bundleSeedID] in EstimoteSDK(ESTKeychain.o)
"_kSecAttrAccessible", referenced from:
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
"_kSecAttrAccessibleAlways", referenced from:
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
"_CBCentralManagerScanOptionAllowDuplicatesKey", referenced from:
-[ESTBeaconDevice startScanning] in EstimoteSDK(ESTBeaconDevice.o)
"_SecItemDelete", referenced from:
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
"_kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly", referenced from:
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
"_kSecAttrAccessibleAlwaysThisDeviceOnly", referenced from:
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
"_SecItemUpdate", referenced from:
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
"_kSecAttrAccessibleWhenUnlockedThisDeviceOnly", referenced from:
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
"_SecItemAdd", referenced from:
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
+[ESTKeychain bundleSeedID] in EstimoteSDK(ESTKeychain.o)
"_SecItemCopyMatching", referenced from:
-[ESTKeychain dataForKey:] in EstimoteSDK(ESTKeychain.o)
+[ESTKeychain bundleSeedID] in EstimoteSDK(ESTKeychain.o)
"_kSecClass", referenced from:
-[ESTKeychain dataForKey:] in EstimoteSDK(ESTKeychain.o)
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
+[ESTKeychain bundleSeedID] in EstimoteSDK(ESTKeychain.o)
"_kSecClassGenericPassword", referenced from:
-[ESTKeychain dataForKey:] in EstimoteSDK(ESTKeychain.o)
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
+[ESTKeychain bundleSeedID] in EstimoteSDK(ESTKeychain.o)
"_kSecAttrAccount", referenced from:
-[ESTKeychain dataForKey:] in EstimoteSDK(ESTKeychain.o)
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
+[ESTKeychain bundleSeedID] in EstimoteSDK(ESTKeychain.o)
"_kSecValueData", referenced from:
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
"_kSecAttrAccessGroup", referenced from:
-[ESTKeychain dataForKey:] in EstimoteSDK(ESTKeychain.o)
-[ESTKeychain setObject:forKey:] in EstimoteSDK(ESTKeychain.o)
+[ESTKeychain bundleSeedID] in EstimoteSDK(ESTKeychain.o)
"_kSecMatchLimitOne", referenced from:
-[ESTKeychain dataForKey:] in EstimoteSDK(ESTKeychain.o)
"_kSecMatchLimit", referenced from:
-[ESTKeychain dataForKey:] in EstimoteSDK(ESTKeychain.o)
"_kSecReturnData", referenced from:
-[ESTKeychain dataForKey:] in EstimoteSDK(ESTKeychain.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[Edit 3:]
With the Security.framework added it seems to make another step:
Ld /Users/.../Products/Debug-iphoneos/iDomsPortalDev.app/iDomsPortalDev normal arm64
cd "/Users/.../idoms-portal"
export IPHONEOS_DEPLOYMENT_TARGET=7.0
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.2.sdk -L/Users/.../Products/Debug-iphoneos -F/Users/.../Library/Frameworks -filelist /Users/.../iDoms.build/Debug-iphoneos/iDoms\ Dev.build/Objects-normal/arm64/iDomsPortalDev.LinkFileList -Xlinker -rpath -Xlinker #executable_path/Frameworks -dead_strip -lxml2 -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=7.0 -framework Security -framework CrashReporter -framework EstimoteSDK -weak_framework Accelerate -weak_framework Social -weak_framework Twitter -framework MessageUI -framework MapKit -framework AVFoundation -framework SystemConfiguration -framework MediaPlayer -framework QuartzCore -framework UIKit -framework Foundation -framework CoreGraphics -framework CoreData -framework CoreLocation -Xlinker -dependency_info -Xlinker /Users/Luuk/Library/Developer/Xcode/DerivedData/iDoms-gperwbbtttggqpcvozenraexrhrx/Build/Intermediates/iDoms.build/Debug-iphoneos/iDoms\ Dev.build/Objects-normal/arm64/iDomsPortalDev_dependency_info.dat -o /Users/Luuk/Library/Developer/Xcode/DerivedData/iDoms-gperwbbtttggqpcvozenraexrhrx/Build/Products/Debug-iphoneos/iDomsPortalDev.app/iDomsPortalDev
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_CBCentralManager", referenced from:
objc-class-ref in EstimoteSDK(ESTBeaconDevice.o)
"_OBJC_CLASS_$_CBUUID", referenced from:
objc-class-ref in EstimoteSDK(ESTBeaconDevice.o)
objc-class-ref in EstimoteSDK(ESTBluetoothServiceAuth.o)
objc-class-ref in EstimoteSDK(ESTBluetoothServiceEstimote.o)
objc-class-ref in EstimoteSDK(ESTBluetoothServiceOta.o)
objc-class-ref in EstimoteSDK(ESTBluetoothServiceSoftware.o)
objc-class-ref in EstimoteSDK(ETBluetoothMath.o)
"_CBAdvertisementDataServiceDataKey", referenced from:
+[ESTDeviceDataHelper parseAdvertisingData:] in EstimoteSDK(ESTDeviceDataHelper.o)
"_CBCentralManagerScanOptionAllowDuplicatesKey", referenced from:
-[ESTBeaconDevice startScanning] in EstimoteSDK(ESTBeaconDevice.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Thanks to the various hints above I went through the whole build file, and found the flag that was different. It is 'Enable Modules', and was set to 'No' in my build settings.
This is fixed in Estimote SDK 3.0.2! (:
https://github.com/Estimote/iOS-SDK/blob/master/CHANGELOG.md#302-march-26-2015
I just downloaded https://github.com/Estimote/iOS-SDK their SDK and successfully included it in a sample project.
Under 'Build Settings' in 'Build Active Architecture Only' set
'Debug' to YES
Also Try
In 'General' tabs
Add framework under 'Link Frameworks and Libraries'.
Add framework under 'Embedded Binaries'.
Make sure that EstimoteSDK.framework is actually present at its original location, you may have accidentally deleted it.
Looking at the podspec it specifies -lc++ flag to be added to OTHER_LDFLAGS. If you don't have this flag set, maybe that could cause such problems.
Related
I have issues when making an archive from a (legacy) iOS project. While archiving I get the following error:
Libtool /Users/appcell/Library/Developer/Xcode/DerivedData/elho-ctuevlyyxtyssvblxkqezbfgdtyq/Build/Intermediates/ArchiveIntermediates/Elho/IntermediateBuildFilesPath/PSPDFKit-lib.build/Release-iphoneos/PSPDFKit.build/Objects-normal/armv7/libPSPDFKit.a normal armv7
cd /Users/appcell/Documents/Projects/Elho/Libraries/PSPDFKit
export IPHONEOS_DEPLOYMENT_TARGET=5.0
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static -arch_only armv7 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -L/Users/appcell/Library/Developer/Xcode/DerivedData/elho-ctuevlyyxtyssvblxkqezbfgdtyq/Build/Intermediates/ArchiveIntermediates/Elho/BuildProductsPath/Release-iphoneos -filelist /Users/appcell/Library/Developer/Xcode/DerivedData/elho-ctuevlyyxtyssvblxkqezbfgdtyq/Build/Intermediates/ArchiveIntermediates/Elho/IntermediateBuildFilesPath/PSPDFKit-lib.build/Release-iphoneos/PSPDFKit.build/Objects-normal/armv7/PSPDFKit.LinkFileList /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/libz.dylib -framework AssetsLibrary -framework CoreMedia -framework AVFoundation -framework ImageIO -framework MediaPlayer -framework CoreText -framework CoreGraphics -weak_framework UIKit -framework MessageUI -framework QuartzCore -framework Foundation -o /Users/appcell/Library/Developer/Xcode/DerivedData/elho-ctuevlyyxtyssvblxkqezbfgdtyq/Build/Intermediates/ArchiveIntermediates/Elho/IntermediateBuildFilesPath/PSPDFKit-lib.build/Release-iphoneos/PSPDFKit.build/Objects-normal/armv7/libPSPDFKit.a
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can't open file: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/libz.dylib (No such file or directory)
When I create a link frrom the /usr/lib/libz.dylib file to /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib (which used to work in the past), I now get the following error:
ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/libz.dylib, missing required architecture armv7 in file /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/libz.dylib (2 slices)
Undefined symbols for architecture armv7:
"_deflateInit_", referenced from:
-[NSData(PSPDFCompression) pspdf_zlibDeflate] in libPSPDFKit.a(NSData+PSPDFCompression.o)
"_deflate", referenced from:
-[ASIDataCompressor compressBytes:length:error:shouldFinish:] in ASIDataCompressor.o
-[NSData(PSPDFCompression) pspdf_zlibDeflate] in libPSPDFKit.a(NSData+PSPDFCompression.o)
"_deflateInit2_", referenced from:
-[ASIDataCompressor setupStream] in ASIDataCompressor.o
"_inflate", referenced from:
_unzReadCurrentFile in unzip.o
-[ASIDataDecompressor uncompressBytes:length:error:] in ASIDataDecompressor.o
-[NSData(PSPDFCompression) pspdf_zlibInflate] in libPSPDFKit.a(NSData+PSPDFCompression.o)
"_get_crc_table", referenced from:
_unzOpenCurrentFile3 in unzip.o
"_inflateEnd", referenced from:
_unzCloseCurrentFile in unzip.o
-[ASIDataDecompressor closeStream] in ASIDataDecompressor.o
-[NSData(PSPDFCompression) pspdf_zlibInflate] in libPSPDFKit.a(NSData+PSPDFCompression.o)
"_crc32", referenced from:
_unzReadCurrentFile in unzip.o
"_inflateInit_", referenced from:
-[NSData(PSPDFCompression) pspdf_zlibInflate] in libPSPDFKit.a(NSData+PSPDFCompression.o)
"_deflateEnd", referenced from:
-[ASIDataCompressor closeStream] in ASIDataCompressor.o
-[NSData(PSPDFCompression) pspdf_zlibDeflate] in libPSPDFKit.a(NSData+PSPDFCompression.o)
"_inflateInit2_", referenced from:
_unzOpenCurrentFile3 in unzip.o
-[ASIDataDecompressor setupStream] in ASIDataDecompressor.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Has anyone ever had the same issues?
PSPDFKit founder here. Our PDF SDK uses libz, so either link with libz.dylib (which has been renamed in later Xcode versions to be libz.tbd) or add the linker flag -lz which should als do the trick.
If you update our SDK to the latest version this all happens automatically, since we're using a dynamic framework which already knows what dependencies it requires.
I've just updated to Xcode 6 in order to submit my apps for review on the iOS app store and have come across more problems. Please see the image attached! Any help at all would be amazing.
Build target CRS
Ld /Users/jacbeyportes/Library/Developer/Xcode/DerivedData/CRS-fydzgpcksptwdjaztipsuhofllde/Build/Intermediates/CRS.build/Debug-iphoneos/CRS.build/Objects-normal/armv7/CRS normal armv7
cd "/Users/jacbeyportes/Documents/Oasis Websites/Cadet Registration System/Apps/iOS/CRS/platforms/ios"
export IPHONEOS_DEPLOYMENT_TARGET=6.0
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk -L/Users/jacbeyportes/Library/Developer/Xcode/DerivedData/CRS-fydzgpcksptwdjaztipsuhofllde/Build/Products/Debug-iphoneos -F/Users/jacbeyportes/Library/Developer/Xcode/DerivedData/CRS-fydzgpcksptwdjaztipsuhofllde/Build/Products/Debug-iphoneos -filelist /Users/jacbeyportes/Library/Developer/Xcode/DerivedData/CRS-fydzgpcksptwdjaztipsuhofllde/Build/Intermediates/CRS.build/Debug-iphoneos/CRS.build/Objects-normal/armv7/CRS.LinkFileList -dead_strip -weak_framework CoreFoundation -weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak-lSystem -force_load /Users/jacbeyportes/Library/Developer/Xcode/DerivedData/CRS-fydzgpcksptwdjaztipsuhofllde/Build/Products/Debug-iphoneos/libCordova.a -ObjC -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=6.0 -framework AssetsLibrary /Users/jacbeyportes/Library/Developer/Xcode/DerivedData/CRS-fydzgpcksptwdjaztipsuhofllde/Build/Products/Debug-iphoneos/libCordova.a -framework CoreGraphics -framework MobileCoreServices -framework CoreLocation -liconv -framework AVFoundation -framework CoreVideo -framework QuartzCore -weak_framework SystemConfiguration -Xlinker -dependency_info -Xlinker /Users/jacbeyportes/Library/Developer/Xcode/DerivedData/CRS-fydzgpcksptwdjaztipsuhofllde/Build/Intermediates/CRS.build/Debug-iphoneos/CRS.build/Objects-normal/armv7/CRS_dependency_info.dat -o /Users/jacbeyportes/Library/Developer/Xcode/DerivedData/CRS-fydzgpcksptwdjaztipsuhofllde/Build/Intermediates/CRS.build/Debug-iphoneos/CRS.build/Objects-normal/armv7/CRS
ld: warning: ignoring file /Users/jacbeyportes/Library/Developer/Xcode/DerivedData/CRS-fydzgpcksptwdjaztipsuhofllde/Build/Products/Debug-iphoneos/libCordova.a, file was built for archive which is not the architecture being linked (armv7): /Users/jacbeyportes/Library/Developer/Xcode/DerivedData/CRS-fydzgpcksptwdjaztipsuhofllde/Build/Products/Debug-iphoneos/libCordova.a
Undefined symbols for architecture armv7:
"_OBJC_METACLASS_$_CDVPlugin", referenced from:
_OBJC_METACLASS_$_PushPlugin in PushPlugin.o
_OBJC_METACLASS_$_CDVBarcodeScanner in CDVBarcodeScanner.o
_OBJC_METACLASS_$_CDVConnection in CDVConnection.o
"_CDVLocalNotification", referenced from:
-[AppDelegate application:didReceiveLocalNotification:] in AppDelegate.o
"_OBJC_CLASS_$_CDVViewController", referenced from:
_OBJC_CLASS_$_MainViewController in MainViewController.o
"_OBJC_METACLASS_$_CDVCommandDelegateImpl", referenced from:
_OBJC_METACLASS_$_MainCommandDelegate in MainViewController.o
"_CDVRemoteNotification", referenced from:
-[AppDelegate application:didRegisterForRemoteNotificationsWithDeviceToken:] in AppDelegate.o
"_OBJC_CLASS_$_CDVCommandQueue", referenced from:
_OBJC_CLASS_$_MainCommandQueue in MainViewController.o
"_OBJC_CLASS_$_CDVPlugin", referenced from:
_OBJC_CLASS_$_PushPlugin in PushPlugin.o
_OBJC_CLASS_$_CDVBarcodeScanner in CDVBarcodeScanner.o
_OBJC_CLASS_$_CDVConnection in CDVConnection.o
"_CDVRemoteNotificationError", referenced from:
-[AppDelegate application:didFailToRegisterForRemoteNotificationsWithError:] in AppDelegate.o
"_OBJC_METACLASS_$_CDVViewController", referenced from:
_OBJC_METACLASS_$_MainViewController in MainViewController.o
"_OBJC_METACLASS_$_CDVCommandQueue", referenced from:
_OBJC_METACLASS_$_MainCommandQueue in MainViewController.o
"_CDVPluginHandleOpenURLNotification", referenced from:
-[AppDelegate application:openURL:sourceApplication:annotation:] in AppDelegate.o
"_OBJC_CLASS_$_CDVPluginResult", referenced from:
objc-class-ref in PushPlugin.o
objc-class-ref in CDVBarcodeScanner.o
objc-class-ref in CDVConnection.o
"_OBJC_CLASS_$_CDVCommandDelegateImpl", referenced from:
_OBJC_CLASS_$_MainCommandDelegate in MainViewController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
You will need to update both Cordova and your plugins.
Here is the news on Cordova moving to 3.6.3
http://cordova.apache.org/announcements/2014/09/22/cordova-361.html
Here is the same regarding the plugins that were updated
http://cordova.apache.org/news/2014/09/22/plugins-release.html
Then update your project
cordova platform update ios
However, I've also run into some issues but it was fixed by removing the platform and adding it again.. You can do that by:
cordova platform remove ios
cordova platform add ios
I had to uninstall cordova and reinstall cordova (version 3.6.3). Then I removed the iOS platform from my project folder and readded it. I also removed and re-added each cordova plugin.
It was a pain, but that fixed my compile issues for me.
Has anyone been able to integrate Firebase into an iOS project that already runs tokbox and parse.com?
When I include -ObjC per Firebase instructions, I get lots of apple mach-o linker errors (pasted below). If I do not include -objC, the project compiles without error, but then Firebase has runtime error (also pasted below). xcode 5.1.1, parse 1.2.20, tokbox 2.2.1, firebase 1.1.10.
I have seen apps with tokbox and firebase living happy together, it should be possible.
(1) errors when include '-ojbC'
Ld /Users/tmr/Library/Developer/Xcode/DerivedData/Call_Me-gnseubspfupoqccmstcxpnbpkvqn/Build/Products/Debug-iphoneos/Call\ Me.app/Call\ Me normal armv7
cd "/Users/tmr/Google Drive/software/xcode/Call Me"
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk -L/Users/tmr/Library/Developer/Xcode/DerivedData/Call_Me-gnseubspfupoqccmstcxpnbpkvqn/Build/Products/Debug-iphoneos -F/Users/tmr/Library/Developer/Xcode/DerivedData/Call_Me-gnseubspfupoqccmstcxpnbpkvqn/Build/Products/Debug-iphoneos -F/Users/tmr/Google\ Drive/software/xcode/Call\ Me -F/Users/tmr/Downloads/OpenTok-iOS-2.2.1 -F/Applications/Xcode.app/Contents/Developer/Library/Frameworks -F/Users/tmr/Downloads -filelist /Users/tmr/Library/Developer/Xcode/DerivedData/Call_Me-gnseubspfupoqccmstcxpnbpkvqn/Build/Intermediates/Call\ Me.build/Debug-iphoneos/Call\ Me.build/Objects-normal/armv7/Call\ Me.LinkFileList -dead_strip -ObjC -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=7.1 -framework Firebase -lc++ -licucore -framework XCTest -lstdc++.6.0.9 -lxml2 -lsqlite3 -framework GLKit -framework CoreMedia -framework CoreVideo -framework CoreTelephony -framework OpenTok -framework SystemConfiguration -framework StoreKit -framework Security -framework QuartzCore -framework MobileCoreServices -lz -framework CoreLocation -framework CoreGraphics -framework CFNetwork -framework AudioToolbox -framework UIKit -framework Parse -framework Foundation -Xlinker -dependency_info -Xlinker /Users/tmr/Library/Developer/Xcode/DerivedData/Call_Me-gnseubspfupoqccmstcxpnbpkvqn/Build/Intermediates/Call\ Me.build/Debug-iphoneos/Call\ Me.build/Objects-normal/armv7/Call\ Me_dependency_info.dat -o /Users/tmr/Library/Developer/Xcode/DerivedData/Call_Me-gnseubspfupoqccmstcxpnbpkvqn/Build/Products/Debug-iphoneos/Call\ Me.app/Call\ Me
ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Library/Frameworks/XCTest.framework/XCTest, missing required architecture armv7 in file /Applications/Xcode.app/Contents/Developer/Library/Frameworks/XCTest.framework/XCTest (2 slices)
Undefined symbols for architecture armv7:
"_FBTokenInformationTokenKey", referenced from:
-[PFFacebookTokenCachingStrategy accessToken] in Parse(PFFacebookTokenCachingStrategy.o)
-[PFFacebookTokenCachingStrategy setAccessToken:] in Parse(PFFacebookTokenCachingStrategy.o)
"_OBJC_CLASS_$_FBSessionTokenCachingStrategy", referenced from:
_OBJC_CLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)
"_SLServiceTypeTwitter", referenced from:
-[PF_Twitter getAccessTokenForReverseAuthAsync:localTwitterAccount:] in Parse(PF_Twitter.o)
-[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o)
"_OBJC_CLASS_$_FBSession", referenced from:
objc-class-ref in Parse(PFFacebookAuthenticationProvider.o)
"_ACAccountTypeIdentifierTwitter", referenced from:
-[PF_Twitter getLocalTwitterAccountAsync] in Parse(PF_Twitter.o)
"_FBTokenInformationExpirationDateKey", referenced from:
-[PFFacebookTokenCachingStrategy cacheTokenInformation:] in Parse(PFFacebookTokenCachingStrategy.o)
-[PFFacebookTokenCachingStrategy expirationDate] in Parse(PFFacebookTokenCachingStrategy.o)
-[PFFacebookTokenCachingStrategy setExpirationDate:] in Parse(PFFacebookTokenCachingStrategy.o)
"_OBJC_METACLASS_$_FBSessionTokenCachingStrategy", referenced from:
_OBJC_METACLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)
"_FBTokenInformationUserFBIDKey", referenced from:
-[PFFacebookTokenCachingStrategy facebookId] in Parse(PFFacebookTokenCachingStrategy.o)
-[PFFacebookTokenCachingStrategy setFacebookId:] in Parse(PFFacebookTokenCachingStrategy.o)
"_OBJC_CLASS_$_SLComposeViewController", referenced from:
objc-class-ref in Parse(PF_Twitter.o)
"_OBJC_CLASS_$_FBAppCall", referenced from:
objc-class-ref in Parse(PFFacebookAuthenticationProvider.o)
"_OBJC_CLASS_$_ACAccountStore", referenced from:
objc-class-ref in Parse(PF_Twitter.o)
"_OBJC_CLASS_$_SLRequest", referenced from:
objc-class-ref in Parse(PF_Twitter.o)
"_OBJC_CLASS_$_FBRequest", referenced from:
objc-class-ref in Parse(PFFacebookAuthenticationProvider.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
(2) run time error when do not include other linker '-objC'
2014-08-01 00:09:48.756 Call Me[5817:60b] -[FRepo youForgotToSetMinusObjCInTheOtherLinkerFlagsInYourXCodeProject]: unrecognized selector sent to instance 0x155831f0
for my ios project, the solutions was add two frameworks:
FacebookSDK
Social
integrating firebase with parse and tokbox worked after adding the two frameworks.
I can't speak for other SDKs, but for OpenTok to work properly,
Make sure you are using the latest version of all the SDK. For OpenTok, you should download from here: https://tokbox.com/opentok/libraries/client/ios/
Under build settings, make sure valid architectures is only armv7. remove arm64 and armv7s.
Leave Base SDK empty or set it to iOS 7.
I was wondering what I should do to fix these linker errors...
Ld ... normal armv7
cd ...
setenv IPHONEOS_DEPLOYMENT_TARGET 7.0
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -L...-esjhccmwalrxrdfeduounwwkhaef/Build/Products/Debug-iphoneos -F ...-esjhccmwalrxrdfeduounwwkhaef/Build/Products/Debug-iphoneos -filelist ...-esjhccmwalrxrdfeduounwwkhaef/Build/Intermediates/... -dead_strip -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=7.0 -framework AVFoundation -framework UIKit -framework Foundation -framework CoreGraphics -Xlinker -dependency_info -Xlinker ...
Undefined symbols for architecture armv7:
"_kCVPixelBufferPixelFormatTypeKey", referenced from:
-[MyAVController setupCapture] in AVController.o
"_CATransform3DIdentity", referenced from:
-[MyAVController setupCapture] in AVController.o
"_CMSampleBufferGetImageBuffer", referenced from:
-[MyAVController captureOutput:didOutputSampleBuffer:fromConnection:] in AVController.o
"_kCAGravityResizeAspectFill", referenced from:
-[MyAVController setupCapture] in AVController.o
"_CVPixelBufferLockBaseAddress", referenced from:
-[MyAVController captureOutput:didOutputSampleBuffer:fromConnection:] in AVController.o
"_CVPixelBufferGetWidth", referenced from:
-[MyAVController captureOutput:didOutputSampleBuffer:fromConnection:] in AVController.o
"_CVPixelBufferGetBytesPerRow", referenced from:
-[MyAVController captureOutput:didOutputSampleBuffer:fromConnection:] in AVController.o
"_CVPixelBufferGetBaseAddress", referenced from:
-[MyAVController captureOutput:didOutputSampleBuffer:fromConnection:] in AVController.o
"_CATransform3DRotate", referenced from:
-[MyAVController setupCapture] in AVController.o
"_OBJC_CLASS_$_CALayer", referenced from:
objc-class-ref in AVController.o
"_CVPixelBufferGetHeight", referenced from:
-[MyAVController captureOutput:didOutputSampleBuffer:fromConnection:] in AVController.o
"_CVPixelBufferUnlockBaseAddress", referenced from:
-[MyAVController captureOutput:didOutputSampleBuffer:fromConnection:] in AVController.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
I know I need to add some framework, but I can't figure out what.
If you need any additional info, I can provide it.
Thanks!
Looks like you're forgetting to import some frameworks into your project: namely the AVFoundation framework.
Seems like you didn't import frameworks
if you don't know how to do so
here is a step by step guide
Yous should add CoreVideo , CoreMedia frameworks and AVFoundation.
http://thinketg.com/xcode-4-tips-adding-frameworks-to-your-project/
I am trying to use address framework in my project. I have linked the frameworks AddressBookUI.framework and AddressBook.framework in my project. But still i am getting the below error while building the app.
Help me to figure out the issue please.
Ld "/Users/sathishkumar/Library/Developer/Xcode/DerivedData/Easy_Contacts-eafemguogncacmhgnbfsjtizjcbd/Build/Products/Debug-iphonesimulator/Easy Contacts.app/Easy Contacts" normal i386
cd "/Users/sathishkumar/projects/Easy Contacts"
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk -L/Users/sathishkumar/Library/Developer/Xcode/DerivedData/Easy_Contacts-eafemguogncacmhgnbfsjtizjcbd/Build/Products/Debug-iphonesimulator -F/Users/sathishkumar/Library/Developer/Xcode/DerivedData/Easy_Contacts-eafemguogncacmhgnbfsjtizjcbd/Build/Products/Debug-iphonesimulator -filelist "/Users/sathishkumar/Library/Developer/Xcode/DerivedData/Easy_Contacts-eafemguogncacmhgnbfsjtizjcbd/Build/Intermediates/Easy Contacts.build/Debug-iphonesimulator/Easy Contacts.build/Objects-normal/i386/Easy Contacts.LinkFileList" -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50100 -framework UIKit -framework Foundation -framework CoreGraphics -o "/Users/sathishkumar/Library/Developer/Xcode/DerivedData/Easy_Contacts-eafemguogncacmhgnbfsjtizjcbd/Build/Products/Debug-iphonesimulator/Easy Contacts.app/Easy Contacts"
Undefined symbols for architecture i386:
"_ABRecordCopyValue", referenced from:
-[ViewController displayPerson:] in ViewController.o
"_ABMultiValueGetCount", referenced from:
-[ViewController displayPerson:] in ViewController.o
"_ABMultiValueCopyValueAtIndex", referenced from:
-[ViewController displayPerson:] in ViewController.o
"_OBJC_CLASS_$_ABPeoplePickerNavigationController", referenced from:
objc-class-ref in ViewController.o
"_kABPersonFirstNameProperty", referenced from:
-[ViewController displayPerson:] in ViewController.o
"_kABPersonPhoneProperty", referenced from:
-[ViewController displayPerson:] in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Add <AddressBook/AddressBook.h> to the file, AddressBookUI is just that address book UI.
Did you import those frameworks into your .h files?