Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cocoapods support #10

Closed
sorted-bits opened this issue May 21, 2015 · 16 comments
Closed

Cocoapods support #10

sorted-bits opened this issue May 21, 2015 · 16 comments

Comments

@sorted-bits
Copy link

I would love to see Cocoapods support for this.

@emaloney
Copy link
Owner

emaloney commented May 21, 2015

I have no objection to Cocoapods support.

I use Cocoapods quite a bit in my ObjC-based projects. However, I've also found I haven't needed it in a Swift-only, post-iOS 8 world where we can vend our own frameworks.

I'm unlikely to have time to add Cocoapods support in the short-term, and while I'll entertain pull requests, I'm not inclined to merge in Cocoapods support until I address Issue #11 by creating a script to automate the process of releasing new versions. I'll want to be sure that such a script integrates with Cocoapods so that the release process isn't complicated by the addition of support for another dependency manager.

@jlaws
Copy link

jlaws commented Jun 5, 2015

+1

6 similar comments
@mmarkov-appolica
Copy link

+1

@ralito
Copy link

ralito commented Jun 15, 2015

+1

@seedotlee
Copy link

+1

@archfear
Copy link

+1

@neil-wu
Copy link

neil-wu commented Jul 13, 2015

+1

@jwardle
Copy link

jwardle commented Jul 30, 2015

+1

@dhonig
Copy link

dhonig commented Sep 1, 2015

+1 Is it really that hard to get this into CocoaPods should be an afternoon and not more eh?

@emaloney
Copy link
Owner

emaloney commented Sep 1, 2015

It's not hard; I just don't need it myself, and given the rest of my workload, it's not a priority.

Pull requests will be considered.

@intere
Copy link

intere commented Oct 30, 2015

+1

@cday
Copy link

cday commented Nov 11, 2015

+1

1 similar comment
@tomasKa
Copy link

tomasKa commented Dec 14, 2015

+1

@emaloney
Copy link
Owner

I've been spending a bit of time working on this recently, and it turns out it's a pretty big job.

The underlying issue is that the ASL dependency is not exposed to Swift. When building in Xcode, we solve this problem with a bridging header, but if you try to build using Cocoapods, a bridging header can't be used to pull in a dependency for a framework.

Instead, you need to manually construct Swift module map files for each potential platform and architecture (see here for an example of what this looks like). However, once you do this, things become infinitely more complicated; Cocoapods only lets you specify settings by platform, so there's no way to specify a setting based on processor architecture.

Because supporting Cocoapods would require wholesale reworking of the existing build system, and because I've never been a big fan of the violence Cocoapods does to Xcode project files, I'm not going to be adding Cocoapods support.

Carthage works well for Swift frameworks, and I've already added support for the up-and-coming Swift Package Manager (which at the moment is only helpful on OS X since SPM can't build for other platforms yet).

Frankly, with the direction that Swift is going in, Cocoapods is not a good long-term option because it's tied to Xcode and can therefore never work on non-Apple platforms.

@jshier
Copy link

jshier commented Aug 23, 2016

@emaloney It appears that import asl is now works in Swift 3, so I think this decision could be reconsidered for the Swift 3 version of the library. However, ASL is now pretty much entirely deprecated for macOS 10.12 and iOS 10, so you may want to rearchitect for those platforms anyway.

@emaloney
Copy link
Owner

emaloney commented Mar 7, 2017

As discussed in another thread, I can now state definitively that we will never be adding Cocoapods support to CleanroomLogger.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests