How to build Mantle v2 for iOS 7.0? - ios

my project currently targets iOS 7.1 and up. I have built Mantle along with Carthage as described on the Mantle's GitHub site. But I get the following error when building my project:
ld: embedded dylibs/frameworks are only supported on iOS 8.0 and later
(#rpath/Mantle.framework/Mantle) for architecture arm64 clang: error:
linker command failed with exit code 1 (use -v to see invocation)
Does somebody know how I could build the Mantle.framework for iOS 7.1 (preferably with Carthage) ?

If you want to target iOS 7.x then you cannot use frameworks as frameworks are only supported from iOS 8.0 onwards. Since Carthage creates frameworks, you also won't be able to use Carthage.
If you still want to use Mantle, either include its files into your project manually or use Cocoapods to build it as a static library using one of the existing Cocoapods spec files for Mantle.

Related

Unable to build HERE SDK Premium for ios-arm64-simulator

Having trouble building HERE SDK for iOS (Premium 3.19) for an ios-arm64-simulator. The error produced by Xcode 13 on an M1 pro processor is:
ld: building for iOS Simulator, but linking in dylib built for iOS, file 'Pods/HEREMaps/framework/NMAKit.xcframework/ios-arm64/NMAKit.framework/NMAKit'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
After some research and testing it looks like HERE SDK's XCFramework folder as well as the Cocoapod configuration only include ios-arm64 and ios-x86_64-simulator. It looks like the podspec is attempting to fix this by overriding the target app's iOS simulator excluded architectures (adding excluded architecture "arm64"). This likely works fine in cases where only Cocoapod sourced libraries that include x86_64 are used in the target app. However, it's a problem when using libraries from other sources where there is no roll back option to x86_64 simulators (e.g. Swift Package Manager).
Is there a way to use lipo to generate ios-arm64-simulator from the two existing framework builds? Or is this something where ios-arm64-simulator needs to be built as another configuration from the HERE SDK source?
Let me tell you that we have already located this situation in the SDK and our team in charge of the SDK is working very hard to provide a solution to this problem in the next release of HERE SDK Premium.

Unable to build Xcode Project: clang error: linker command failed

I have a Unity project which I have successfully built for Android without issue. When trying to build for iOS I am encountering an issue once the project is in Xcode.
Unity compiles without any errors and creates an Xcode project.
Upon opening the Xcode project I have NO simulators available. I can get these simulators by selecting ios in the Supported Platforms section, at which point simulators become available - originally Supported Platforms is set to iphoneos. This seems extremely odd behaviour to me, and suggests something larger going wrong.
After getting a simulator to select I get the following error when trying to compile/run/build:
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The full error is available on Pastebin (too large to post directly on here):
https://pastebin.com/3fYR8fE3
I'm really at a loss on what I can do. I have tried a number of things, including:
Building from Unity as Debug and Release
Building from Unity with 'Symlink Unity Libraries' on and off
Building from Unity with .Net 3.5 and .Net 4.* flavours
Manually adding the libiconv.2.dylib file in the linked frameworks tab as the .tbd equivalent
Setting the target minimum version of iOS to 9.0 (negates the need for libiconv.2.dylib entirely)
I am using latest versions of everything:
Unity 2018.2.17f1
Xcode 10.1
It seems like you have the library il2cpp built for another architecture, have you tried to change your target's "Build Settings > Build Active Architectures Only" to "No"?
However I made some researches and it seems that Unity for iPhone doesn't deploy on simulator. It only works on device or in the Unity editor. Check this link out

How do I get FMDB on project target iOS 7.1 (below 8)?

I installed FMDB using pods because I need to access a local sqlite database. I liked the library, but unfortunately, if I put a deployment target under iOS 8, I get this error at build
ld: embedded dylibs/frameworks are only supported on iOS 8.0 and later (#rpath/FMDB.framework/FMDB) for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
There is a way to resolve this?
Carthage support for frameworks was added in 2.6. For now, you should be able to specify 2.5.2 2.5 in the Podfile and you should be able to Support iOS 7. I've posted an issue on github on this and we'll see if the Cocoapods configuration can be fixed.

Build successfully for iOS Device But Build Error for iOS Simulator (Get other linker flag error)

I have been facing this lingering issue. When I try to Build the project by selecting iOS device in my Xcode it builds the code with out any error but when I trying the same with iOS simulator it shows me the following error.
ld: library not found for -lPods-ClientService
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The issue is that you are trying to use a library that you created yourself or downloaded from a 3rd party with your product, and the linker either not find it, or it does not contain a valid slice for the architecture / platform that you are trying to link.
It is most likely that the library is just an arm library, without an intel slice.
If you are building it yourself, this may be because the library and your app are in two separate Xcode projects. If you integrate them into a single project, the build system should take care of making sure that the library gets built for the correct platform and architecture(s) when building your app.

xlslib build success in iOS 7 but failed in iOS 8. How can I do?

I have searched http://sourceforge.net/projects/xlslib/files here and download the library. I added the library into my xcode project like this
My xcode version is 6.4 and my project iOS Deployment Target is 8.0.
After I added it into the project without typing any code, I just built to see if it works.
But I failed and get these information:
ld: building for iOS Simulator, but linking against dylib built for MacOSX file '(MyProject Directory)/xlslib/libxls.3.dylib' for architecture x86_64
clang: error:
linker command failed with exit code 1 (use -v to see invocation)
When I changed iOS Deployment Target to 7.0, build the project by using iOS simulator with iOS version 7.1, it works. Is the library doesn't support iOS 8.0 and later ?
BTW, other link flag is already be empty, what should I do to solve this problem?
Any help would be appreciated.

Resources