IGListKit/IGListKit.podspec
Nate Stedman d50c5a6c42 Split IGListKit and IGListDiffKit (#1377)
Summary:
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1377

This splits the diffing-only components from `IGListKit` out into a separate library, `IGListDiffKit`, allowing them to be used independently of the rest of `IGListKit`. We've found that the diffing components of the library are useful independently of the rest of the `UICollectionView` infrastructure, and separating the libraries allows apps to take advantage of those components without paying the full binary size cost of `IGListKit`. The diffing components are available as a subspec in Cocoapods, and as an independent framework in Carthage and direct Xcode project import (i.e. Git submodules).

This is a breaking change, necessitating a major version bump, although it should have only minor impact for projects using the umbrella header `IGListKit.h`, as that header continues to import the diffing utilities. In particular, for a project using Cocoapods and importing `IGListKit.h`, there should be no code changes required.

Reviewed By: calimarkus

Differential Revision: D18114249

fbshipit-source-id: 363b5a427e32800bbc6e82f897230963b4167245
2025-12-10 17:18:04 +09:00

56 lines
1.7 KiB
Ruby

Pod::Spec.new do |s|
s.name = 'IGListKit'
s.version = '3.4.0'
s.summary = 'A data-driven UICollectionView framework.'
s.homepage = 'https://github.com/Instagram/IGListKit'
s.documentation_url = 'https://instagram.github.io/IGListKit'
s.description = 'A data-driven UICollectionView framework for building fast and flexible lists.'
s.license = { :type => 'MIT' }
s.authors = 'Instagram'
s.social_media_url = 'https://twitter.com/fbOpenSource'
s.source = {
:git => 'https://github.com/Instagram/IGListKit.git',
:tag => s.version.to_s,
:branch => 'stable'
}
s.header_mappings_dir = "Source"
s.subspec 'Diffing' do |ds|
ds.source_files = 'Source/IGListDiffKit/**/*.{h,m,mm}'
ds.private_header_files = 'Source/IGListDiffKit/Internal/*.h'
end
s.subspec 'Default' do |cs|
cs.dependency 'IGListKit/Diffing'
[cs.ios, cs.tvos].each do |os|
os.source_files = 'Source/IGListKit/**/*.{h,m,mm}'
os.private_header_files = ['Source/IGListKit/Internal/*.h']
end
cs.osx.source_files = 'Source/IGListKit/IGListKit.h'
end
s.default_subspec = 'Default'
s.requires_arc = true
s.ios.deployment_target = '8.0'
s.tvos.deployment_target = '9.0'
s.osx.deployment_target = '10.11'
s.ios.frameworks = 'UIKit'
s.tvos.frameworks = 'UIKit'
s.osx.frameworks = 'Cocoa'
s.library = 'c++'
s.pod_target_xcconfig = {
'CLANG_CXX_LANGUAGE_STANDARD' => 'c++11',
'CLANG_CXX_LIBRARY' => 'libc++',
# This allows the IGListDiffKit import path to work when compiling
# within IGListKit - header_mappings_dir above handles it for code
# depending on this pod, but not for compiling the pod itself.
'HEADER_SEARCH_PATHS' => '$(PODS_TARGET_SRCROOT)/Source',
}
end