How to remove the following Apple Mach-O-Linker Error with AssestsLibrary in iOS?

1.1k views Asked by At
Ld /Users/Admin/Library/Developer/Xcode/DerivedData/Radius-cxycjazfyueurigdymnvyxtqwulq/Build/Products/Debug-iphonesimulator/Radius.app/Radius normal x86_64
    cd /Users/Admin/Desktop/Radius/Radius
    export IPHONEOS_DEPLOYMENT_TARGET=8.1
    export 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 x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk -L/Users/Admin/Library/Developer/Xcode/DerivedData/Radius-cxycjazfyueurigdymnvyxtqwulq/Build/Products/Debug-iphonesimulator -L/Users/Admin/Desktop/Radius/Radius/Radius -F/Users/Admin/Library/Developer/Xcode/DerivedData/Radius-cxycjazfyueurigdymnvyxtqwulq/Build/Products/Debug-iphonesimulator -F/Users/Admin/Desktop/Radius/Radius/Radius -filelist /Users/Admin/Library/Developer/Xcode/DerivedData/Radius-cxycjazfyueurigdymnvyxtqwulq/Build/Intermediates/Radius.build/Debug-iphonesimulator/Radius.build/Objects-normal/x86_64/Radius.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=8.1 -framework FacebookSDK -framework AssetsLibrary -Xlinker -dependency_info -Xlinker /Users/Admin/Library/Developer/Xcode/DerivedData/Radius-cxycjazfyueurigdymnvyxtqwulq/Build/Intermediates/Radius.build/Debug-iphonesimulator/Radius.build/Objects-normal/x86_64/Radius_dependency_info.dat -o /Users/Admin/Library/Developer/Xcode/DerivedData/Radius-cxycjazfyueurigdymnvyxtqwulq/Build/Products/Debug-iphonesimulator/Radius.app/Radius

ld: warning: ignoring file /Users/Admin/Desktop/Radius/Radius/Radius/AssetsLibrary.framework/AssetsLibrary, missing required architecture x86_64 in file /Users/Admin/Desktop/Radius/Radius/Radius/AssetsLibrary.framework/AssetsLibrary (3 slices)
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_ALAssetsLibrary", referenced from:
      objc-class-ref in EditProfileViewController.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
3

There are 3 answers

0
Adhish On BEST ANSWER

I just removed the library and its references. Cleaned the project, again added the required libraries and checked all references and linking, Build and run the project.

It worked!

2
Rakii On

The "clang: error: linker command failed with exit code 1" usually occurs when you accidentally added(import) the implementation file(.m) in place of the header(.h) file.

Check and confirm if EditProfileViewController.m is not imported.

2
Jeremy Huddleston Sequoia On

The error indicates that /Users/Admin/Desktop/Radius/Radius/Radius/AssetsLibrary.framework/AssetsLibrary is missing an x86_64 simulator slice.

Assuming you built that framework yourself, update it with i386 and x86_64 simulator slices (build for i386 and x86_64 and then lipo the resulting slices into the universal framework).

If you got it from a 3rd party, contact them for a version of the framework that has all the appropriate slices.