Iglistkit: macOS support follow-up work from #235

Created on 30 Nov 2016  路  9Comments  路  Source: Instagram/IGListKit

We added basic macOS support in #235.

Once it's merged, we need to do a few more things:

  • [x] Update changelog
  • [x] Add a test target, IGListKit-macOSTests and existing tests that apply
  • [x] Update .travis.yml to build and run the macOS targets on travis-ci
  • [x] Add an example project in Examples/Examples-macOS/
  • [x] Update README
  • Create a macro in IGListMacros.h for the following imports, so we don't have to copy-paste. Let's call it IGLK_TARGET_OS_IMPORTS.
#import <TargetConditionals.h>

#if TARGET_OS_EMBEDDED || TARGET_OS_SIMULATOR
    #import <UIKit/UIKit.h>
#else
    #import <Cocoa/Cocoa.h>
#endif
  • [x] The .podspec currently lists files manually which is cumbersome. Let's move common files to Source/Common/ so that spec.osx.source_files can become: 'Source/Common/*.{h,m,mm}'. We'll also need to do the same for Source/Internal/Common/.

EDIT:

Additional follow-ups for internal

  • [x] Run pod install everywhere
  • [x] Lower macOS target in podspec? (currently 10.11)
enhancement

Most helpful comment

@jessesquires I don't know if a macro would be the best solution for this case. When porting Keyframes to macOS I created a separate header called Compatibility and imported it everywhere instead of adding the #ifdefs to each file individually.

I can do the sample :)

All 9 comments

Let me know if you need help with the example project.

Thanks @insidegui !

Because of how our syncing system works, we'll have to setup the basic project internally and push it. After that, we can have contributors help.

@insidegui, just FYI #333 馃槃

@Sherlouk 2 things up for grabs here:

  1. The macro mentioned above. I had trouble getting this to work. My macro game is not strong. cc @rnystrom
  2. mac example, #333 (probably coordinate with @insidegui)

@jessesquires Cheers for the heads up!

Actually I think if I were to rebase correctly some of the changes from my branch are still valid against the original checklist -- or is that something you're still working on internally? (Referring to Common directory/Podspec update)

@jessesquires I don't know if a macro would be the best solution for this case. When porting Keyframes to macOS I created a separate header called Compatibility and imported it everywhere instead of adding the #ifdefs to each file individually.

I can do the sample :)

@jessesquires Just spent 5 minutes updating the work from my PR yesterday, the main changes are in this Podspec

Moving away from specifying per framework (for macOS at least) and setting the common files between all the frameworks as such.

Again apologies if this is being held up internally, didn't get a response to my query yesterday and it wasn't too much effort so happy to lose the work!

@Sherlouk -- Sorry about that -- yeah, we're still dealing with this internally. We have other syncing tasks that need to happen when we change the file structure like this. We'll get this into master here soon!

Moved common files in ad30e53507ad3c75a098054f4de49a5cd10f562d

Closing. One more task at #364

Was this page helpful?
0 / 5 - 0 ratings