[TIMOB-26185] Hyperloop: iOS - Support Carthage
GitHub Issue | n/a |
---|---|
Type | New Feature |
Priority | High |
Status | Closed |
Resolution | Won't Do |
Resolution Date | 2018-10-25T16:29:20.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Hyperloop 3.2.0 |
Components | iOS |
Labels | n/a |
Reporter | Hans Knöchel |
Assignee | Jan Vennemann |
Created | 2018-07-06T01:09:38.000+0000 |
Updated | 2018-10-25T16:29:20.000+0000 |
Description
There has been kind of a shift in deps-management on iOS lately. Some major devs are moving to Carthage to have more control over their deps and some new packaged are even not CocoaPods available so far, like [Flight-School/Money](https://github.com/Flight-School/Money).
We should consider supporting the Carthage build as an alternative to CocoaPods...and silently start thinking about the Apple Swift Package Manager as well... :-)
I haven't tested it yet, but managing dependencies with Carthage should work already. The great thing about Carthage is that you have to integrate the dependencies yourself. This means after Carhage has built your deps, you should be able to simply drop them into the correct folder in a Hyperloop enabled Titanium project (
[app/]platform/ios
) and, if needed, set Xcode flags viaappc.js
as well as any required build scripts. And that should be it.The only thing really useful addition here could be to trigger the Carthage build automatically, like we do with CocoaPods?
The big advantage of Carthage is that the developer has full control over how he wants to integrate a dependency into his project. Trying to automate any of that defeats the whole purpose of Carthage. The .framework packages built by Carthage can simply be dropped into
platform/ios
and Hyperloop will pick them up. Any additional build setting that may be required can be set via {{appc.js}.