2016-09-07 22:37:59 +00:00
|
|
|
// !$*UTF8*$!
|
|
|
|
|
{
|
|
|
|
|
archiveVersion = 1;
|
|
|
|
|
classes = {
|
|
|
|
|
};
|
2023-03-13 07:49:15 +00:00
|
|
|
objectVersion = 54;
|
2016-09-07 22:37:59 +00:00
|
|
|
objects = {
|
|
|
|
|
|
|
|
|
|
/* Begin PBXBuildFile section */
|
2021-09-01 02:22:18 +00:00
|
|
|
0A8928F926CDA521003FABD8 /* IGListUpdateTransactionBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B22E722502AAC30055DC2F /* IGListUpdateTransactionBuilder.m */; };
|
|
|
|
|
0A8928FA26CDA53B003FABD8 /* IGListUpdateTransactionBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E7D2502AAC40055DC2F /* IGListUpdateTransactionBuilder.h */; };
|
|
|
|
|
0A8928FB26CDA591003FABD8 /* IGListReloadTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E762502AAC30055DC2F /* IGListReloadTransaction.h */; };
|
|
|
|
|
0A8928FC26CDA5BD003FABD8 /* IGListReloadTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B22E7E2502AAC40055DC2F /* IGListReloadTransaction.m */; };
|
|
|
|
|
0A8928FD26CDA5E1003FABD8 /* IGListDataSourceChangeTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B22E792502AAC30055DC2F /* IGListDataSourceChangeTransaction.m */; };
|
|
|
|
|
0A8928FE26CDA5EA003FABD8 /* IGListDataSourceChangeTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E742502AAC30055DC2F /* IGListDataSourceChangeTransaction.h */; };
|
|
|
|
|
0A8928FF26CDA62C003FABD8 /* IGListBatchUpdateTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B22E712502AAC20055DC2F /* IGListBatchUpdateTransaction.m */; };
|
|
|
|
|
0A89290026CDA632003FABD8 /* IGListBatchUpdateTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E7B2502AAC40055DC2F /* IGListBatchUpdateTransaction.h */; };
|
|
|
|
|
0A89290126CDA666003FABD8 /* IGListItemUpdatesCollector.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E7C2502AAC40055DC2F /* IGListItemUpdatesCollector.h */; };
|
|
|
|
|
0A89290226CDA672003FABD8 /* IGListItemUpdatesCollector.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B22E752502AAC30055DC2F /* IGListItemUpdatesCollector.m */; };
|
2016-12-20 05:01:33 +00:00
|
|
|
0B3B93611E08E38C008390ED /* IGListBatchUpdateDataTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE51D870EDC007C7F66 /* IGListBatchUpdateDataTests.m */; };
|
Interactive Reordering
Summary:
I had a desire for interactive reordering in a personal project, so here's a first attempt at adding support in IGListKit.
I figured I might as well get a WIP PR up for comments before I continue further as there are a few aspects to interactive reordering that don't interplay perfectly with IGListKit.
As discussed in #291, I went after two prime use cases:
1. Moving items amongst a section
2. Rearranging whole sections
I also "disabled" moving items between sections by having those moves revert, to mimic interactive reordering cancellation as closely as possible.
You can see both in the Mixed Data example. Grid items can be moved within a section, while users can be moved to reorder whole sections. But trying to move a grid item out of a grid or a user item into a grid will auto-revert. The revert animation isn't as tight as it should be. It may be more desirable to disable the animation - though you lose the visual cue.
There is a also a new example, `ReorderableViewController`, that demonstrates 2 in its pure form (likely the most desired use case), where all sections are reorderable single rows.
Happy to take feedback -- this is my first experience working on IGListKit, so I would expect there to be gaps. (Ex. I haven't used `IGListStackedSectionController`, and its tests failed as I hadn't implemented reordering delegates for it. Those are simply stubbed out for now.)
Issue fixed: #291
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
- [x] Proper support in `IGListStackedSectionController`
Closes https://github.com/Instagram/IGListKit/pull/976
Differential Revision: D6674493
Pulled By: rnystrom
fbshipit-source-id: cd53c5fdc6fb59636edc4747c4bbd0f81a4610e5
2018-02-12 17:09:26 +00:00
|
|
|
13DF01731FA0FD400092A320 /* IGListTestAdapterReorderingDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DF01721FA0FD400092A320 /* IGListTestAdapterReorderingDataSource.m */; };
|
|
|
|
|
13DF01741FA0FD400092A320 /* IGListTestAdapterReorderingDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DF01721FA0FD400092A320 /* IGListTestAdapterReorderingDataSource.m */; };
|
|
|
|
|
13DF01771FA1000E0092A320 /* IGTestReorderableSection.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DF01761FA1000E0092A320 /* IGTestReorderableSection.m */; };
|
|
|
|
|
13DF01781FA1000E0092A320 /* IGTestReorderableSection.m in Sources */ = {isa = PBXBuildFile; fileRef = 13DF01761FA1000E0092A320 /* IGTestReorderableSection.m */; };
|
2019-06-12 05:25:14 +00:00
|
|
|
16B71CEB22B0A08400FE96ED /* IGTestInvalidateLayoutSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 16B71CE722B0A08300FE96ED /* IGTestInvalidateLayoutSectionController.m */; };
|
|
|
|
|
16B71CEC22B0A08400FE96ED /* IGTestInvalidateLayoutSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 16B71CE722B0A08300FE96ED /* IGTestInvalidateLayoutSectionController.m */; };
|
|
|
|
|
16B71CED22B0A08400FE96ED /* IGTestInvalidateLayoutDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 16B71CE822B0A08300FE96ED /* IGTestInvalidateLayoutDataSource.m */; };
|
|
|
|
|
16B71CEE22B0A08400FE96ED /* IGTestInvalidateLayoutDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 16B71CE822B0A08300FE96ED /* IGTestInvalidateLayoutDataSource.m */; };
|
|
|
|
|
16B71CEF22B0A08400FE96ED /* IGTestInvalidateLayoutObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 16B71CEA22B0A08300FE96ED /* IGTestInvalidateLayoutObject.m */; };
|
|
|
|
|
16B71CF022B0A08400FE96ED /* IGTestInvalidateLayoutObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 16B71CEA22B0A08300FE96ED /* IGTestInvalidateLayoutObject.m */; };
|
2016-10-15 01:46:16 +00:00
|
|
|
26271C8A1DAE94E40073E116 /* IGTestSingleNibItemDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 26271C891DAE94E40073E116 /* IGTestSingleNibItemDataSource.m */; };
|
|
|
|
|
26271C8C1DAE96740073E116 /* IGListSingleNibItemControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 26271C8B1DAE96740073E116 /* IGListSingleNibItemControllerTests.m */; };
|
2017-04-21 23:34:49 +00:00
|
|
|
290DF3771E9323E6009FE456 /* IGListDebuggerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 290DF3761E9323E6009FE456 /* IGListDebuggerTests.m */; };
|
2016-11-05 23:27:32 +00:00
|
|
|
2914BEE91DCD15F400C96401 /* IGTestNibSupplementaryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2904861C1DCD02140007F41D /* IGTestNibSupplementaryView.xib */; };
|
2016-11-18 02:48:07 +00:00
|
|
|
294AC6321DDE4C19002FCE5D /* IGListDiffResultTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 294AC6311DDE4C19002FCE5D /* IGListDiffResultTests.m */; };
|
2017-03-15 14:44:52 +00:00
|
|
|
298DD9CE1E3ADD1400F76F50 /* IGListBindingSectionControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DD9CD1E3ADD1400F76F50 /* IGListBindingSectionControllerTests.m */; };
|
|
|
|
|
298DD9CF1E3ADD1400F76F50 /* IGListBindingSectionControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DD9CD1E3ADD1400F76F50 /* IGListBindingSectionControllerTests.m */; };
|
|
|
|
|
298DDA001E3AE28000F76F50 /* IGTestDiffingObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DD9F91E3AE1AA00F76F50 /* IGTestDiffingObject.m */; };
|
|
|
|
|
298DDA011E3AE28000F76F50 /* IGTestDiffingObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DD9F91E3AE1AA00F76F50 /* IGTestDiffingObject.m */; };
|
|
|
|
|
298DDA051E3AE2B000F76F50 /* IGTestStringBindableCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DD9D91E3ADE3300F76F50 /* IGTestStringBindableCell.m */; };
|
|
|
|
|
298DDA061E3AE2B000F76F50 /* IGTestNumberBindableCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DD9E11E3ADE4300F76F50 /* IGTestNumberBindableCell.m */; };
|
|
|
|
|
298DDA071E3AE2B100F76F50 /* IGTestStringBindableCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DD9D91E3ADE3300F76F50 /* IGTestStringBindableCell.m */; };
|
|
|
|
|
298DDA081E3AE2B100F76F50 /* IGTestNumberBindableCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DD9E11E3ADE4300F76F50 /* IGTestNumberBindableCell.m */; };
|
|
|
|
|
298DDA091E3AE31D00F76F50 /* IGTestDiffingSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DD9D11E3ADDB400F76F50 /* IGTestDiffingSectionController.m */; };
|
|
|
|
|
298DDA0A1E3AE31E00F76F50 /* IGTestDiffingSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DD9D11E3ADDB400F76F50 /* IGTestDiffingSectionController.m */; };
|
|
|
|
|
298DDA131E3AE3F100F76F50 /* IGTestDiffingDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DDA0C1E3AE3ED00F76F50 /* IGTestDiffingDataSource.m */; };
|
|
|
|
|
298DDA141E3AE3F300F76F50 /* IGTestDiffingDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DDA0C1E3AE3ED00F76F50 /* IGTestDiffingDataSource.m */; };
|
2017-02-11 01:58:52 +00:00
|
|
|
298DDA241E3B15EE00F76F50 /* IGListCollectionViewLayoutTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DDA231E3B15EE00F76F50 /* IGListCollectionViewLayoutTests.m */; };
|
|
|
|
|
298DDA251E3B15EE00F76F50 /* IGListCollectionViewLayoutTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DDA231E3B15EE00F76F50 /* IGListCollectionViewLayoutTests.m */; };
|
|
|
|
|
298DDA381E3B168E00F76F50 /* IGLayoutTestItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DDA291E3B166100F76F50 /* IGLayoutTestItem.m */; };
|
|
|
|
|
298DDA391E3B168F00F76F50 /* IGLayoutTestItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DDA291E3B166100F76F50 /* IGLayoutTestItem.m */; };
|
|
|
|
|
298DDA3A1E3B16F600F76F50 /* IGLayoutTestDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DDA271E3B166100F76F50 /* IGLayoutTestDataSource.m */; };
|
|
|
|
|
298DDA3B1E3B16F800F76F50 /* IGLayoutTestDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DDA271E3B166100F76F50 /* IGLayoutTestDataSource.m */; };
|
|
|
|
|
298DDA3C1E3B170300F76F50 /* IGLayoutTestSection.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DDA2B1E3B166100F76F50 /* IGLayoutTestSection.m */; };
|
|
|
|
|
298DDA3D1E3B170400F76F50 /* IGLayoutTestSection.m in Sources */ = {isa = PBXBuildFile; fileRef = 298DDA2B1E3B166100F76F50 /* IGLayoutTestSection.m */; };
|
2017-08-31 19:35:22 +00:00
|
|
|
2995409E1F588C9400F647CF /* IGTestBindingWithoutDeselectionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2995409B1F588C8D00F647CF /* IGTestBindingWithoutDeselectionDelegate.m */; };
|
|
|
|
|
2995409F1F588C9500F647CF /* IGTestBindingWithoutDeselectionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2995409B1F588C8D00F647CF /* IGTestBindingWithoutDeselectionDelegate.m */; };
|
2016-11-18 19:09:26 +00:00
|
|
|
29C4748C1DDF45F400AE68CE /* IGListAdapterProxyTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 29C4748A1DDF45E700AE68CE /* IGListAdapterProxyTests.m */; };
|
|
|
|
|
29C4748D1DDF45F900AE68CE /* IGListAdapterProxyTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 29C4748A1DDF45E700AE68CE /* IGListAdapterProxyTests.m */; };
|
|
|
|
|
29C4748E1DDF460500AE68CE /* IGListAdapterStoryboardTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8240C7F11DC284C300B3AAE7 /* IGListAdapterStoryboardTests.m */; };
|
|
|
|
|
29C4748F1DDF460500AE68CE /* IGListDiffResultTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 294AC6311DDE4C19002FCE5D /* IGListDiffResultTests.m */; };
|
|
|
|
|
29C474901DDF460500AE68CE /* IGListSectionMapTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 829D7BA81DD1816400549816 /* IGListSectionMapTests.m */; };
|
2016-11-20 00:01:35 +00:00
|
|
|
29C5792E1DE0DA89003A149B /* IGTestNibSupplementaryView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2904861F1DCD02750007F41D /* IGTestNibSupplementaryView.m */; };
|
|
|
|
|
29C5792F1DE0DA8A003A149B /* IGListTestAdapterStoryboardDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 8240C7FA1DC2F6CF00B3AAE7 /* IGListTestAdapterStoryboardDataSource.m */; };
|
|
|
|
|
29C579301DE0DA8A003A149B /* IGListTestStoryboardSection.m in Sources */ = {isa = PBXBuildFile; fileRef = 8240C7F71DC2F3FB00B3AAE7 /* IGListTestStoryboardSection.m */; };
|
|
|
|
|
29C579311DE0DA8A003A149B /* IGTestNibSupplementaryView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2904861F1DCD02750007F41D /* IGTestNibSupplementaryView.m */; };
|
|
|
|
|
29C579321DE0DA8A003A149B /* IGTestStoryboardSupplementarySource.m in Sources */ = {isa = PBXBuildFile; fileRef = 8240C7F41DC2D99300B3AAE7 /* IGTestStoryboardSupplementarySource.m */; };
|
|
|
|
|
29C579331DE0DA8A003A149B /* IGTestStoryboardSupplementaryView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8240C7EF1DC272CA00B3AAE7 /* IGTestStoryboardSupplementaryView.m */; };
|
2017-04-19 19:42:31 +00:00
|
|
|
29DA5CA31EA7C72400113926 /* IGListGenericSectionControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 29DA5CA21EA7C72400113926 /* IGListGenericSectionControllerTests.m */; };
|
2017-04-20 21:35:26 +00:00
|
|
|
29DA5CA71EA7D37000113926 /* IGListTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 29DA5CA61EA7D37000113926 /* IGListTestCase.m */; };
|
|
|
|
|
29DA5CA81EA7D37000113926 /* IGListTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 29DA5CA61EA7D37000113926 /* IGListTestCase.m */; };
|
2016-10-16 23:30:18 +00:00
|
|
|
29EA6C491DB43A8000957A88 /* IGTestNibCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 294369B01DB1B7AE0025F6E7 /* IGTestNibCell.xib */; };
|
2019-09-16 19:26:31 +00:00
|
|
|
401B5E63230111EC004099D5 /* IGTestNibCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 294369B01DB1B7AE0025F6E7 /* IGTestNibCell.xib */; };
|
|
|
|
|
401B5E64230111F3004099D5 /* IGTestNibSupplementaryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2904861C1DCD02140007F41D /* IGTestNibSupplementaryView.xib */; };
|
|
|
|
|
401B5E65230111F7004099D5 /* IGTestStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 821BC4C21DB8CAE900172ED0 /* IGTestStoryboard.storyboard */; };
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E6C2502AAB20055DC2F /* IGListTransitionData.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B22E662502AAB10055DC2F /* IGListTransitionData.m */; };
|
Improve SwiftPM support (#1546)
Summary:
This diff imports and refines the PR made by cntrump on GitHub.
The PR introduces the following:
* Sample apps now use SPM instead of CocoaPods to import IGListKit.
* Adds Mac Catalyst as an example target.
* Adds C++ flags to the CocoaPods specs.
* Fixes a script issue that was discovered when regenerating the symlinks.
The PR originally aimed to remove the need for symlinked references to the IGListKit and IGListDiffKit source files, but in testing, I couldn't get it working. It's possible SPM being too strict [on where the headers can be placed to be discovered](https://forums.swift.org/t/how-do-i-specify-the-headers-directory-for-a-objc-target-in-swift-package-managers-package-swift/58531/3).
Additionally, another issue was that the original PR changed all of the `#import` statements to the the modular `import` statements, which is fine for the sample apps, but ended up breaking compatibility for any apps that had modules disabled.
## Changes in this pull request
Improve SwiftPM support:
Build module `IGListDiffKit` and `IGListKit` as Objective-C++.
module `IGListDiffKit`:
- Source/IGListDiffKit
- module defined in `Source/IGListDiffKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListKit`:
- depend on `IGListDiffKit`, use `import IGListDiffKit;`
- Source/IGListKit
- module defined in `Source/IGListKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListSwiftKit`:
- depend on `IGListKit`, use `import IGListKit`
- Source/IGListSwiftKit
Deleted `spm/` and `scripts/generate_spm_sources_layout.sh`, it is unnecessary.
Updated `.podspec`, add `'OTHER_CFLAGS' => '-fmodules'` and `'OTHER_CPLUSPLUSFLAGS' => '-fcxx-modules'`.
Add missing swift files for `IGListSwiftKit` in `IGListKit.xcodeproj`
### How to use
Replace `#import <IGListDiffKit/IGListDiffKit.h>` with `import IGListDiffKit;`, because `IGListDiffKit.h` isn't exist in `modulemap/`, Or create a symbol link by `ln -sf ../IGListDiffKit.h` for support it ?
### Examples
Use SwiftPM for building examples.
### Checklist
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [ ] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1546
Test Plan: Test PR showing running tests: https://github.com/TimOliver/IGListKit/actions/runs/4339956050/jobs/7578047058
Reviewed By: lorixx
Differential Revision: D33592395
Pulled By: TimOliver
fbshipit-source-id: 8f7b1873f2b1c6a80908bb55b123e31bea13bb0c
2023-03-07 07:29:41 +00:00
|
|
|
57B22E6F2502AAB20055DC2F /* IGListTransitionData.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E692502AAB10055DC2F /* IGListTransitionData.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E7F2502AAC40055DC2F /* IGListBatchUpdateTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B22E712502AAC20055DC2F /* IGListBatchUpdateTransaction.m */; };
|
|
|
|
|
57B22E802502AAC40055DC2F /* IGListUpdateTransactionBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B22E722502AAC30055DC2F /* IGListUpdateTransactionBuilder.m */; };
|
|
|
|
|
57B22E812502AAC40055DC2F /* IGListUpdateTransactable.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E732502AAC30055DC2F /* IGListUpdateTransactable.h */; };
|
|
|
|
|
57B22E822502AAC40055DC2F /* IGListDataSourceChangeTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E742502AAC30055DC2F /* IGListDataSourceChangeTransaction.h */; };
|
|
|
|
|
57B22E832502AAC40055DC2F /* IGListItemUpdatesCollector.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B22E752502AAC30055DC2F /* IGListItemUpdatesCollector.m */; };
|
|
|
|
|
57B22E842502AAC40055DC2F /* IGListReloadTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E762502AAC30055DC2F /* IGListReloadTransaction.h */; };
|
|
|
|
|
57B22E872502AAC40055DC2F /* IGListDataSourceChangeTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B22E792502AAC30055DC2F /* IGListDataSourceChangeTransaction.m */; };
|
|
|
|
|
57B22E892502AAC40055DC2F /* IGListBatchUpdateTransaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E7B2502AAC40055DC2F /* IGListBatchUpdateTransaction.h */; };
|
|
|
|
|
57B22E8A2502AAC40055DC2F /* IGListItemUpdatesCollector.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E7C2502AAC40055DC2F /* IGListItemUpdatesCollector.h */; };
|
|
|
|
|
57B22E8B2502AAC40055DC2F /* IGListUpdateTransactionBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E7D2502AAC40055DC2F /* IGListUpdateTransactionBuilder.h */; };
|
|
|
|
|
57B22E8C2502AAC40055DC2F /* IGListReloadTransaction.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B22E7E2502AAC40055DC2F /* IGListReloadTransaction.m */; };
|
2017-12-18 20:17:48 +00:00
|
|
|
6A9EB3611F841E5D0070C572 /* IGTestSingleWithoutDeselectionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A9EB3601F841E5D0070C572 /* IGTestSingleWithoutDeselectionDelegate.m */; };
|
|
|
|
|
6A9EB3621F841E5D0070C572 /* IGTestSingleWithoutDeselectionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6A9EB3601F841E5D0070C572 /* IGTestSingleWithoutDeselectionDelegate.m */; };
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CEEE2361511100B49FAE /* IGListReloadDataUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEC72361510F00B49FAE /* IGListReloadDataUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CEEF2361511100B49FAE /* IGListReloadDataUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEC72361510F00B49FAE /* IGListReloadDataUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CEF12361511100B49FAE /* IGListScrollDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEC82361510F00B49FAE /* IGListScrollDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CEF22361511100B49FAE /* IGListScrollDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEC82361510F00B49FAE /* IGListScrollDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CEF42361511100B49FAE /* IGListWorkingRangeDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEC92361510F00B49FAE /* IGListWorkingRangeDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CEF52361511100B49FAE /* IGListWorkingRangeDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEC92361510F00B49FAE /* IGListWorkingRangeDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CEF72361511100B49FAE /* IGListAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CECA2361510F00B49FAE /* IGListAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CEF82361511100B49FAE /* IGListAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CECA2361510F00B49FAE /* IGListAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CEFA2361511100B49FAE /* IGListDisplayDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CECB2361510F00B49FAE /* IGListDisplayDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CEFB2361511100B49FAE /* IGListDisplayDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CECB2361510F00B49FAE /* IGListDisplayDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CEFD2361511100B49FAE /* IGListCollectionViewDelegateLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CECC2361510F00B49FAE /* IGListCollectionViewDelegateLayout.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CEFE2361511100B49FAE /* IGListCollectionViewDelegateLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CECC2361510F00B49FAE /* IGListCollectionViewDelegateLayout.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF002361511100B49FAE /* IGListCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CECD2361510F00B49FAE /* IGListCollectionView.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF012361511100B49FAE /* IGListCollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CECD2361510F00B49FAE /* IGListCollectionView.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF032361511100B49FAE /* IGListGenericSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CECE2361510F00B49FAE /* IGListGenericSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF042361511100B49FAE /* IGListGenericSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CECE2361510F00B49FAE /* IGListGenericSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF062361511100B49FAE /* IGListBatchContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CECF2361510F00B49FAE /* IGListBatchContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF072361511100B49FAE /* IGListBatchContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CECF2361510F00B49FAE /* IGListBatchContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF092361511100B49FAE /* IGListBindingSectionControllerDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED02361510F00B49FAE /* IGListBindingSectionControllerDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF0A2361511100B49FAE /* IGListBindingSectionControllerDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED02361510F00B49FAE /* IGListBindingSectionControllerDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF0C2361511100B49FAE /* IGListCollectionContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED12361510F00B49FAE /* IGListCollectionContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF0D2361511100B49FAE /* IGListCollectionContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED12361510F00B49FAE /* IGListCollectionContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF0F2361511100B49FAE /* IGListAdapterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED22361511000B49FAE /* IGListAdapterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF102361511100B49FAE /* IGListAdapterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED22361511000B49FAE /* IGListAdapterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF122361511100B49FAE /* IGListGenericSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CED32361511000B49FAE /* IGListGenericSectionController.m */; };
|
|
|
|
|
7A02CF132361511100B49FAE /* IGListGenericSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CED32361511000B49FAE /* IGListGenericSectionController.m */; };
|
|
|
|
|
7A02CF152361511100B49FAE /* IGListCollectionViewLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED42361511000B49FAE /* IGListCollectionViewLayout.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF162361511100B49FAE /* IGListCollectionViewLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED42361511000B49FAE /* IGListCollectionViewLayout.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF182361511100B49FAE /* IGListAdapterMoveDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED52361511000B49FAE /* IGListAdapterMoveDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF192361511100B49FAE /* IGListAdapterMoveDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED52361511000B49FAE /* IGListAdapterMoveDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF1B2361511100B49FAE /* IGListSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED62361511000B49FAE /* IGListSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF1C2361511100B49FAE /* IGListSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED62361511000B49FAE /* IGListSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF1E2361511100B49FAE /* IGListKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED72361511000B49FAE /* IGListKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF1F2361511100B49FAE /* IGListKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED72361511000B49FAE /* IGListKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF212361511100B49FAE /* IGListTransitionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED82361511000B49FAE /* IGListTransitionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF222361511100B49FAE /* IGListTransitionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED82361511000B49FAE /* IGListTransitionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF242361511100B49FAE /* IGListAdapterUpdateListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED92361511000B49FAE /* IGListAdapterUpdateListener.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF252361511100B49FAE /* IGListAdapterUpdateListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED92361511000B49FAE /* IGListAdapterUpdateListener.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF272361511100B49FAE /* IGListBindable.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEDA2361511000B49FAE /* IGListBindable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF282361511100B49FAE /* IGListBindable.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEDA2361511000B49FAE /* IGListBindable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF2A2361511100B49FAE /* IGListReloadDataUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEDB2361511000B49FAE /* IGListReloadDataUpdater.m */; };
|
|
|
|
|
7A02CF2B2361511100B49FAE /* IGListReloadDataUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEDB2361511000B49FAE /* IGListReloadDataUpdater.m */; };
|
|
|
|
|
7A02CF2D2361511100B49FAE /* IGListBindingSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEDC2361511000B49FAE /* IGListBindingSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF2E2361511100B49FAE /* IGListBindingSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEDC2361511000B49FAE /* IGListBindingSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF302361511100B49FAE /* IGListUpdatingDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEDD2361511000B49FAE /* IGListUpdatingDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF312361511100B49FAE /* IGListUpdatingDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEDD2361511000B49FAE /* IGListUpdatingDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF332361511100B49FAE /* IGListAdapterUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEDE2361511000B49FAE /* IGListAdapterUpdater.m */; };
|
|
|
|
|
7A02CF342361511100B49FAE /* IGListAdapterUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEDE2361511000B49FAE /* IGListAdapterUpdater.m */; };
|
|
|
|
|
7A02CF362361511100B49FAE /* IGListAdapterDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEDF2361511000B49FAE /* IGListAdapterDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF372361511100B49FAE /* IGListAdapterDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEDF2361511000B49FAE /* IGListAdapterDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF392361511100B49FAE /* IGListCollectionViewLayout.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEE02361511000B49FAE /* IGListCollectionViewLayout.mm */; };
|
|
|
|
|
7A02CF3A2361511100B49FAE /* IGListCollectionViewLayout.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEE02361511000B49FAE /* IGListCollectionViewLayout.mm */; };
|
|
|
|
|
7A02CF3C2361511100B49FAE /* IGListCollectionViewLayoutCompatible.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE12361511000B49FAE /* IGListCollectionViewLayoutCompatible.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF3D2361511100B49FAE /* IGListCollectionViewLayoutCompatible.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE12361511000B49FAE /* IGListCollectionViewLayoutCompatible.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF3F2361511100B49FAE /* IGListAdapterUpdaterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE22361511000B49FAE /* IGListAdapterUpdaterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF402361511100B49FAE /* IGListAdapterUpdaterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE22361511000B49FAE /* IGListAdapterUpdaterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF422361511100B49FAE /* IGListSingleSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE32361511000B49FAE /* IGListSingleSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF432361511100B49FAE /* IGListSingleSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE32361511000B49FAE /* IGListSingleSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF452361511100B49FAE /* IGListAdapterPerformanceDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE42361511000B49FAE /* IGListAdapterPerformanceDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF462361511100B49FAE /* IGListAdapterPerformanceDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE42361511000B49FAE /* IGListAdapterPerformanceDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF482361511100B49FAE /* IGListSingleSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEE52361511000B49FAE /* IGListSingleSectionController.m */; };
|
|
|
|
|
7A02CF492361511100B49FAE /* IGListSingleSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEE52361511000B49FAE /* IGListSingleSectionController.m */; };
|
|
|
|
|
7A02CF4B2361511100B49FAE /* IGListSupplementaryViewSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE62361511000B49FAE /* IGListSupplementaryViewSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF4C2361511100B49FAE /* IGListSupplementaryViewSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE62361511000B49FAE /* IGListSupplementaryViewSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF4E2361511100B49FAE /* IGListCollectionScrollingTraits.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE72361511000B49FAE /* IGListCollectionScrollingTraits.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF4F2361511100B49FAE /* IGListCollectionScrollingTraits.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE72361511000B49FAE /* IGListCollectionScrollingTraits.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF512361511100B49FAE /* IGListAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEE82361511000B49FAE /* IGListAdapter.m */; };
|
|
|
|
|
7A02CF522361511100B49FAE /* IGListAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEE82361511000B49FAE /* IGListAdapter.m */; };
|
|
|
|
|
7A02CF542361511100B49FAE /* IGListBindingSectionControllerSelectionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE92361511000B49FAE /* IGListBindingSectionControllerSelectionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF552361511100B49FAE /* IGListBindingSectionControllerSelectionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEE92361511000B49FAE /* IGListBindingSectionControllerSelectionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF572361511100B49FAE /* IGListBindingSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEEA2361511100B49FAE /* IGListBindingSectionController.m */; };
|
|
|
|
|
7A02CF582361511100B49FAE /* IGListBindingSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEEA2361511100B49FAE /* IGListBindingSectionController.m */; };
|
|
|
|
|
7A02CF5A2361511100B49FAE /* IGListAdapterUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEEB2361511100B49FAE /* IGListAdapterUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF5B2361511100B49FAE /* IGListAdapterUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CEEB2361511100B49FAE /* IGListAdapterUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02CF5D2361511100B49FAE /* IGListSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEEC2361511100B49FAE /* IGListSectionController.m */; };
|
|
|
|
|
7A02CF5E2361511100B49FAE /* IGListSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEEC2361511100B49FAE /* IGListSectionController.m */; };
|
|
|
|
|
7A02CF602361511100B49FAE /* IGListCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEED2361511100B49FAE /* IGListCollectionView.m */; };
|
|
|
|
|
7A02CF612361511100B49FAE /* IGListCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CEED2361511100B49FAE /* IGListCollectionView.m */; };
|
|
|
|
|
7A02CF902361513600B49FAE /* IGListDisplayHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF642361513300B49FAE /* IGListDisplayHandler.h */; };
|
|
|
|
|
7A02CF912361513600B49FAE /* IGListDisplayHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF642361513300B49FAE /* IGListDisplayHandler.h */; };
|
|
|
|
|
7A02CF932361513600B49FAE /* IGListAdapter+DebugDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF652361513300B49FAE /* IGListAdapter+DebugDescription.m */; };
|
|
|
|
|
7A02CF942361513600B49FAE /* IGListAdapter+DebugDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF652361513300B49FAE /* IGListAdapter+DebugDescription.m */; };
|
|
|
|
|
7A02CF962361513600B49FAE /* IGListAdapterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF662361513400B49FAE /* IGListAdapterInternal.h */; };
|
|
|
|
|
7A02CF972361513600B49FAE /* IGListAdapterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF662361513400B49FAE /* IGListAdapterInternal.h */; };
|
|
|
|
|
7A02CF992361513600B49FAE /* IGListBindingSectionController+DebugDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF672361513400B49FAE /* IGListBindingSectionController+DebugDescription.h */; };
|
|
|
|
|
7A02CF9A2361513600B49FAE /* IGListBindingSectionController+DebugDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF672361513400B49FAE /* IGListBindingSectionController+DebugDescription.h */; };
|
|
|
|
|
7A02CF9C2361513600B49FAE /* IGListCollectionViewLayoutInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF682361513400B49FAE /* IGListCollectionViewLayoutInternal.h */; };
|
|
|
|
|
7A02CF9D2361513600B49FAE /* IGListCollectionViewLayoutInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF682361513400B49FAE /* IGListCollectionViewLayoutInternal.h */; };
|
|
|
|
|
7A02CFA22361513600B49FAE /* UIScrollView+IGListKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF6A2361513400B49FAE /* UIScrollView+IGListKit.h */; };
|
|
|
|
|
7A02CFA32361513600B49FAE /* UIScrollView+IGListKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF6A2361513400B49FAE /* UIScrollView+IGListKit.h */; };
|
|
|
|
|
7A02CFA52361513600B49FAE /* UICollectionView+IGListBatchUpdateData.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF6B2361513400B49FAE /* UICollectionView+IGListBatchUpdateData.m */; };
|
|
|
|
|
7A02CFA62361513600B49FAE /* UICollectionView+IGListBatchUpdateData.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF6B2361513400B49FAE /* UICollectionView+IGListBatchUpdateData.m */; };
|
|
|
|
|
7A02CFA82361513600B49FAE /* UICollectionViewLayout+InteractiveReordering.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF6C2361513400B49FAE /* UICollectionViewLayout+InteractiveReordering.h */; };
|
|
|
|
|
7A02CFA92361513600B49FAE /* UICollectionViewLayout+InteractiveReordering.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF6C2361513400B49FAE /* UICollectionViewLayout+InteractiveReordering.h */; };
|
|
|
|
|
7A02CFAB2361513600B49FAE /* IGListReloadIndexPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF6D2361513400B49FAE /* IGListReloadIndexPath.m */; };
|
|
|
|
|
7A02CFAC2361513600B49FAE /* IGListReloadIndexPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF6D2361513400B49FAE /* IGListReloadIndexPath.m */; };
|
|
|
|
|
7A02CFAE2361513600B49FAE /* UICollectionViewLayout+InteractiveReordering.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF6E2361513400B49FAE /* UICollectionViewLayout+InteractiveReordering.m */; };
|
|
|
|
|
7A02CFAF2361513600B49FAE /* UICollectionViewLayout+InteractiveReordering.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF6E2361513400B49FAE /* UICollectionViewLayout+InteractiveReordering.m */; };
|
|
|
|
|
7A02CFB12361513600B49FAE /* UIScrollView+IGListKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF6F2361513400B49FAE /* UIScrollView+IGListKit.m */; };
|
|
|
|
|
7A02CFB22361513600B49FAE /* UIScrollView+IGListKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF6F2361513400B49FAE /* UIScrollView+IGListKit.m */; };
|
|
|
|
|
7A02CFB42361513600B49FAE /* IGListAdapterUpdaterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF702361513400B49FAE /* IGListAdapterUpdaterInternal.h */; };
|
|
|
|
|
7A02CFB52361513600B49FAE /* IGListAdapterUpdaterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF702361513400B49FAE /* IGListAdapterUpdaterInternal.h */; };
|
|
|
|
|
7A02CFB72361513600B49FAE /* IGListSectionMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF712361513400B49FAE /* IGListSectionMap.h */; };
|
|
|
|
|
7A02CFB82361513600B49FAE /* IGListSectionMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF712361513400B49FAE /* IGListSectionMap.h */; };
|
|
|
|
|
7A02CFBA2361513600B49FAE /* IGListAdapterProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF722361513400B49FAE /* IGListAdapterProxy.m */; };
|
|
|
|
|
7A02CFBB2361513600B49FAE /* IGListAdapterProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF722361513400B49FAE /* IGListAdapterProxy.m */; };
|
|
|
|
|
7A02CFBD2361513600B49FAE /* IGListAdapterUpdater+DebugDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF732361513400B49FAE /* IGListAdapterUpdater+DebugDescription.m */; };
|
|
|
|
|
7A02CFBE2361513600B49FAE /* IGListAdapterUpdater+DebugDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF732361513400B49FAE /* IGListAdapterUpdater+DebugDescription.m */; };
|
|
|
|
|
7A02CFC02361513600B49FAE /* IGListAdapter+UICollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF742361513400B49FAE /* IGListAdapter+UICollectionView.h */; };
|
|
|
|
|
7A02CFC12361513600B49FAE /* IGListAdapter+UICollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF742361513400B49FAE /* IGListAdapter+UICollectionView.h */; };
|
|
|
|
|
7A02CFC32361513600B49FAE /* UICollectionView+DebugDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF752361513400B49FAE /* UICollectionView+DebugDescription.m */; };
|
|
|
|
|
7A02CFC42361513600B49FAE /* UICollectionView+DebugDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF752361513400B49FAE /* UICollectionView+DebugDescription.m */; };
|
|
|
|
|
7A02CFC62361513600B49FAE /* IGListSectionMap.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF762361513400B49FAE /* IGListSectionMap.m */; };
|
|
|
|
|
7A02CFC72361513600B49FAE /* IGListSectionMap.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF762361513400B49FAE /* IGListSectionMap.m */; };
|
|
|
|
|
7A02CFC92361513600B49FAE /* UICollectionView+IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF772361513400B49FAE /* UICollectionView+IGListBatchUpdateData.h */; };
|
|
|
|
|
7A02CFCA2361513600B49FAE /* UICollectionView+IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF772361513400B49FAE /* UICollectionView+IGListBatchUpdateData.h */; };
|
|
|
|
|
7A02CFCC2361513600B49FAE /* IGListBatchUpdateState.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF782361513400B49FAE /* IGListBatchUpdateState.h */; };
|
|
|
|
|
7A02CFCD2361513600B49FAE /* IGListBatchUpdateState.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF782361513400B49FAE /* IGListBatchUpdateState.h */; };
|
|
|
|
|
7A02CFCF2361513600B49FAE /* IGListDebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF792361513400B49FAE /* IGListDebugger.h */; };
|
|
|
|
|
7A02CFD02361513600B49FAE /* IGListDebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF792361513400B49FAE /* IGListDebugger.h */; };
|
|
|
|
|
7A02CFD82361513600B49FAE /* IGListBatchUpdateData+DebugDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF7C2361513400B49FAE /* IGListBatchUpdateData+DebugDescription.m */; };
|
|
|
|
|
7A02CFD92361513600B49FAE /* IGListBatchUpdateData+DebugDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF7C2361513400B49FAE /* IGListBatchUpdateData+DebugDescription.m */; };
|
|
|
|
|
7A02CFDB2361513600B49FAE /* IGListAdapterProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF7D2361513400B49FAE /* IGListAdapterProxy.h */; };
|
|
|
|
|
7A02CFDC2361513600B49FAE /* IGListAdapterProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF7D2361513400B49FAE /* IGListAdapterProxy.h */; };
|
|
|
|
|
7A02CFDE2361513600B49FAE /* IGListAdapterUpdater+DebugDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF7E2361513500B49FAE /* IGListAdapterUpdater+DebugDescription.h */; };
|
|
|
|
|
7A02CFDF2361513600B49FAE /* IGListAdapterUpdater+DebugDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF7E2361513500B49FAE /* IGListAdapterUpdater+DebugDescription.h */; };
|
|
|
|
|
7A02CFE12361513600B49FAE /* IGListAdapter+DebugDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF7F2361513500B49FAE /* IGListAdapter+DebugDescription.h */; };
|
|
|
|
|
7A02CFE22361513600B49FAE /* IGListAdapter+DebugDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF7F2361513500B49FAE /* IGListAdapter+DebugDescription.h */; };
|
|
|
|
|
7A02CFE42361513600B49FAE /* IGListDisplayHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF802361513500B49FAE /* IGListDisplayHandler.m */; };
|
|
|
|
|
7A02CFE52361513600B49FAE /* IGListDisplayHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF802361513500B49FAE /* IGListDisplayHandler.m */; };
|
|
|
|
|
7A02CFE72361513600B49FAE /* IGListArrayUtilsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF812361513500B49FAE /* IGListArrayUtilsInternal.h */; };
|
|
|
|
|
7A02CFE82361513600B49FAE /* IGListArrayUtilsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF812361513500B49FAE /* IGListArrayUtilsInternal.h */; };
|
|
|
|
|
7A02CFED2361513600B49FAE /* IGListDebuggingUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF832361513500B49FAE /* IGListDebuggingUtilities.h */; };
|
|
|
|
|
7A02CFEE2361513600B49FAE /* IGListDebuggingUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF832361513500B49FAE /* IGListDebuggingUtilities.h */; };
|
|
|
|
|
7A02CFF02361513600B49FAE /* IGListBindingSectionController+DebugDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF842361513500B49FAE /* IGListBindingSectionController+DebugDescription.m */; };
|
|
|
|
|
7A02CFF12361513600B49FAE /* IGListBindingSectionController+DebugDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF842361513500B49FAE /* IGListBindingSectionController+DebugDescription.m */; };
|
|
|
|
|
7A02CFF32361513600B49FAE /* IGListAdapter+UICollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF852361513500B49FAE /* IGListAdapter+UICollectionView.m */; };
|
|
|
|
|
7A02CFF42361513600B49FAE /* IGListAdapter+UICollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF852361513500B49FAE /* IGListAdapter+UICollectionView.m */; };
|
|
|
|
|
7A02CFF62361513600B49FAE /* IGListSectionMap+DebugDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF862361513500B49FAE /* IGListSectionMap+DebugDescription.h */; };
|
|
|
|
|
7A02CFF72361513600B49FAE /* IGListSectionMap+DebugDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF862361513500B49FAE /* IGListSectionMap+DebugDescription.h */; };
|
|
|
|
|
7A02CFF92361513600B49FAE /* IGListWorkingRangeHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF872361513500B49FAE /* IGListWorkingRangeHandler.mm */; };
|
|
|
|
|
7A02CFFA2361513600B49FAE /* IGListWorkingRangeHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF872361513500B49FAE /* IGListWorkingRangeHandler.mm */; };
|
|
|
|
|
7A02CFFC2361513600B49FAE /* IGListReloadIndexPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF882361513500B49FAE /* IGListReloadIndexPath.h */; };
|
|
|
|
|
7A02CFFD2361513600B49FAE /* IGListReloadIndexPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF882361513500B49FAE /* IGListReloadIndexPath.h */; };
|
|
|
|
|
7A02CFFF2361513600B49FAE /* IGListDebugger.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF892361513500B49FAE /* IGListDebugger.m */; };
|
|
|
|
|
7A02D0002361513600B49FAE /* IGListDebugger.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF892361513500B49FAE /* IGListDebugger.m */; };
|
|
|
|
|
7A02D0022361513600B49FAE /* IGListSectionControllerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF8A2361513500B49FAE /* IGListSectionControllerInternal.h */; };
|
|
|
|
|
7A02D0032361513600B49FAE /* IGListSectionControllerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF8A2361513500B49FAE /* IGListSectionControllerInternal.h */; };
|
|
|
|
|
7A02D0052361513600B49FAE /* IGListDebuggingUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF8B2361513500B49FAE /* IGListDebuggingUtilities.m */; };
|
|
|
|
|
7A02D0062361513600B49FAE /* IGListDebuggingUtilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF8B2361513500B49FAE /* IGListDebuggingUtilities.m */; };
|
|
|
|
|
7A02D0082361513600B49FAE /* IGListBatchUpdateData+DebugDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF8C2361513500B49FAE /* IGListBatchUpdateData+DebugDescription.h */; };
|
|
|
|
|
7A02D0092361513600B49FAE /* IGListBatchUpdateData+DebugDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF8C2361513500B49FAE /* IGListBatchUpdateData+DebugDescription.h */; };
|
|
|
|
|
7A02D00B2361513600B49FAE /* IGListSectionMap+DebugDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF8D2361513600B49FAE /* IGListSectionMap+DebugDescription.m */; };
|
|
|
|
|
7A02D00C2361513600B49FAE /* IGListSectionMap+DebugDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02CF8D2361513600B49FAE /* IGListSectionMap+DebugDescription.m */; };
|
|
|
|
|
7A02D00E2361513600B49FAE /* IGListWorkingRangeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF8E2361513600B49FAE /* IGListWorkingRangeHandler.h */; };
|
|
|
|
|
7A02D00F2361513600B49FAE /* IGListWorkingRangeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF8E2361513600B49FAE /* IGListWorkingRangeHandler.h */; };
|
|
|
|
|
7A02D0112361513600B49FAE /* UICollectionView+DebugDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF8F2361513600B49FAE /* UICollectionView+DebugDescription.h */; };
|
|
|
|
|
7A02D0122361513600B49FAE /* UICollectionView+DebugDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CF8F2361513600B49FAE /* UICollectionView+DebugDescription.h */; };
|
|
|
|
|
7A02D05B2361529F00B49FAE /* IGListDiff.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0402361529E00B49FAE /* IGListDiff.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D05C2361529F00B49FAE /* IGListDiff.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0402361529E00B49FAE /* IGListDiff.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D05D2361529F00B49FAE /* IGListDiff.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0402361529E00B49FAE /* IGListDiff.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D05E2361529F00B49FAE /* NSNumber+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0412361529E00B49FAE /* NSNumber+IGListDiffable.m */; };
|
|
|
|
|
7A02D05F2361529F00B49FAE /* NSNumber+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0412361529E00B49FAE /* NSNumber+IGListDiffable.m */; };
|
|
|
|
|
7A02D0602361529F00B49FAE /* NSNumber+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0412361529E00B49FAE /* NSNumber+IGListDiffable.m */; };
|
|
|
|
|
7A02D0612361529F00B49FAE /* NSString+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0422361529E00B49FAE /* NSString+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0622361529F00B49FAE /* NSString+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0422361529E00B49FAE /* NSString+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0632361529F00B49FAE /* NSString+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0422361529E00B49FAE /* NSString+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0642361529F00B49FAE /* IGListIndexPathResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0432361529E00B49FAE /* IGListIndexPathResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0652361529F00B49FAE /* IGListIndexPathResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0432361529E00B49FAE /* IGListIndexPathResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0662361529F00B49FAE /* IGListIndexPathResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0432361529E00B49FAE /* IGListIndexPathResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0672361529F00B49FAE /* IGListDiffKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0442361529E00B49FAE /* IGListDiffKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0682361529F00B49FAE /* IGListDiffKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0442361529E00B49FAE /* IGListDiffKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0692361529F00B49FAE /* IGListDiffKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0442361529E00B49FAE /* IGListDiffKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D06A2361529F00B49FAE /* IGListExperiments.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0452361529E00B49FAE /* IGListExperiments.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D06B2361529F00B49FAE /* IGListExperiments.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0452361529E00B49FAE /* IGListExperiments.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D06C2361529F00B49FAE /* IGListExperiments.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0452361529E00B49FAE /* IGListExperiments.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D06D2361529F00B49FAE /* NSString+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0462361529E00B49FAE /* NSString+IGListDiffable.m */; };
|
|
|
|
|
7A02D06E2361529F00B49FAE /* NSString+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0462361529E00B49FAE /* NSString+IGListDiffable.m */; };
|
|
|
|
|
7A02D06F2361529F00B49FAE /* NSString+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0462361529E00B49FAE /* NSString+IGListDiffable.m */; };
|
|
|
|
|
7A02D0702361529F00B49FAE /* IGListCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0472361529E00B49FAE /* IGListCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0712361529F00B49FAE /* IGListCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0472361529E00B49FAE /* IGListCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0722361529F00B49FAE /* IGListCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0472361529E00B49FAE /* IGListCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0732361529F00B49FAE /* NSNumber+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0482361529E00B49FAE /* NSNumber+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0742361529F00B49FAE /* NSNumber+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0482361529E00B49FAE /* NSNumber+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0752361529F00B49FAE /* NSNumber+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0482361529E00B49FAE /* NSNumber+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0762361529F00B49FAE /* IGListIndexSetResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04A2361529E00B49FAE /* IGListIndexSetResultInternal.h */; };
|
|
|
|
|
7A02D0772361529F00B49FAE /* IGListIndexSetResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04A2361529E00B49FAE /* IGListIndexSetResultInternal.h */; };
|
|
|
|
|
7A02D0782361529F00B49FAE /* IGListIndexSetResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04A2361529E00B49FAE /* IGListIndexSetResultInternal.h */; };
|
|
|
|
|
7A02D0792361529F00B49FAE /* IGListIndexPathResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04B2361529E00B49FAE /* IGListIndexPathResultInternal.h */; };
|
|
|
|
|
7A02D07A2361529F00B49FAE /* IGListIndexPathResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04B2361529E00B49FAE /* IGListIndexPathResultInternal.h */; };
|
|
|
|
|
7A02D07B2361529F00B49FAE /* IGListIndexPathResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04B2361529E00B49FAE /* IGListIndexPathResultInternal.h */; };
|
|
|
|
|
7A02D07C2361529F00B49FAE /* IGListMoveIndexInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04C2361529E00B49FAE /* IGListMoveIndexInternal.h */; };
|
|
|
|
|
7A02D07D2361529F00B49FAE /* IGListMoveIndexInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04C2361529E00B49FAE /* IGListMoveIndexInternal.h */; };
|
|
|
|
|
7A02D07E2361529F00B49FAE /* IGListMoveIndexInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04C2361529E00B49FAE /* IGListMoveIndexInternal.h */; };
|
|
|
|
|
7A02D07F2361529F00B49FAE /* IGListMoveIndexPathInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04D2361529E00B49FAE /* IGListMoveIndexPathInternal.h */; };
|
|
|
|
|
7A02D0802361529F00B49FAE /* IGListMoveIndexPathInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04D2361529E00B49FAE /* IGListMoveIndexPathInternal.h */; };
|
|
|
|
|
7A02D0812361529F00B49FAE /* IGListMoveIndexPathInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04D2361529E00B49FAE /* IGListMoveIndexPathInternal.h */; };
|
|
|
|
|
7A02D0822361529F00B49FAE /* IGListMoveIndexPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04E2361529E00B49FAE /* IGListMoveIndexPath.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0832361529F00B49FAE /* IGListMoveIndexPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04E2361529E00B49FAE /* IGListMoveIndexPath.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0842361529F00B49FAE /* IGListMoveIndexPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D04E2361529E00B49FAE /* IGListMoveIndexPath.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0852361529F00B49FAE /* IGListDiff.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D04F2361529E00B49FAE /* IGListDiff.mm */; };
|
|
|
|
|
7A02D0862361529F00B49FAE /* IGListDiff.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D04F2361529E00B49FAE /* IGListDiff.mm */; };
|
|
|
|
|
7A02D0872361529F00B49FAE /* IGListDiff.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D04F2361529E00B49FAE /* IGListDiff.mm */; };
|
|
|
|
|
7A02D0882361529F00B49FAE /* IGListAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0502361529E00B49FAE /* IGListAssert.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0892361529F00B49FAE /* IGListAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0502361529E00B49FAE /* IGListAssert.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D08A2361529F00B49FAE /* IGListAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0502361529E00B49FAE /* IGListAssert.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D08B2361529F00B49FAE /* IGListIndexPathResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0512361529E00B49FAE /* IGListIndexPathResult.m */; };
|
|
|
|
|
7A02D08C2361529F00B49FAE /* IGListIndexPathResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0512361529E00B49FAE /* IGListIndexPathResult.m */; };
|
|
|
|
|
7A02D08D2361529F00B49FAE /* IGListIndexPathResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0512361529E00B49FAE /* IGListIndexPathResult.m */; };
|
|
|
|
|
7A02D08E2361529F00B49FAE /* IGListIndexSetResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0522361529E00B49FAE /* IGListIndexSetResult.m */; };
|
|
|
|
|
7A02D08F2361529F00B49FAE /* IGListIndexSetResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0522361529E00B49FAE /* IGListIndexSetResult.m */; };
|
|
|
|
|
7A02D0902361529F00B49FAE /* IGListIndexSetResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0522361529E00B49FAE /* IGListIndexSetResult.m */; };
|
|
|
|
|
7A02D0912361529F00B49FAE /* IGListMoveIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0532361529E00B49FAE /* IGListMoveIndex.m */; };
|
|
|
|
|
7A02D0922361529F00B49FAE /* IGListMoveIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0532361529E00B49FAE /* IGListMoveIndex.m */; };
|
|
|
|
|
7A02D0932361529F00B49FAE /* IGListMoveIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0532361529E00B49FAE /* IGListMoveIndex.m */; };
|
|
|
|
|
7A02D0942361529F00B49FAE /* IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0542361529E00B49FAE /* IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0952361529F00B49FAE /* IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0542361529E00B49FAE /* IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0962361529F00B49FAE /* IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0542361529E00B49FAE /* IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0972361529F00B49FAE /* IGListMoveIndexPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0552361529E00B49FAE /* IGListMoveIndexPath.m */; };
|
|
|
|
|
7A02D0982361529F00B49FAE /* IGListMoveIndexPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0552361529E00B49FAE /* IGListMoveIndexPath.m */; };
|
|
|
|
|
7A02D0992361529F00B49FAE /* IGListMoveIndexPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0552361529E00B49FAE /* IGListMoveIndexPath.m */; };
|
|
|
|
|
7A02D09A2361529F00B49FAE /* IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0562361529E00B49FAE /* IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D09B2361529F00B49FAE /* IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0562361529E00B49FAE /* IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D09C2361529F00B49FAE /* IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0562361529E00B49FAE /* IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D09D2361529F00B49FAE /* IGListBatchUpdateData.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0572361529E00B49FAE /* IGListBatchUpdateData.mm */; };
|
|
|
|
|
7A02D09E2361529F00B49FAE /* IGListBatchUpdateData.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0572361529E00B49FAE /* IGListBatchUpdateData.mm */; };
|
|
|
|
|
7A02D09F2361529F00B49FAE /* IGListBatchUpdateData.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7A02D0572361529E00B49FAE /* IGListBatchUpdateData.mm */; };
|
|
|
|
|
7A02D0A02361529F00B49FAE /* IGListMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0582361529E00B49FAE /* IGListMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0A12361529F00B49FAE /* IGListMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0582361529E00B49FAE /* IGListMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0A22361529F00B49FAE /* IGListMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0582361529E00B49FAE /* IGListMacros.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0A32361529F00B49FAE /* IGListMoveIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0592361529E00B49FAE /* IGListMoveIndex.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0A42361529F00B49FAE /* IGListMoveIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0592361529E00B49FAE /* IGListMoveIndex.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0A52361529F00B49FAE /* IGListMoveIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D0592361529E00B49FAE /* IGListMoveIndex.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0A62361529F00B49FAE /* IGListIndexSetResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D05A2361529F00B49FAE /* IGListIndexSetResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0A72361529F00B49FAE /* IGListIndexSetResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D05A2361529F00B49FAE /* IGListIndexSetResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0A82361529F00B49FAE /* IGListIndexSetResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02D05A2361529F00B49FAE /* IGListIndexSetResult.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A02D0A9236152F500B49FAE /* IGListDiffKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A02D0382361526600B49FAE /* IGListDiffKit.framework */; };
|
|
|
|
|
7A02D0AA2361530800B49FAE /* IGListDiffKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A02D02B2361525800B49FAE /* IGListDiffKit.framework */; };
|
|
|
|
|
7A02D0AB2361530E00B49FAE /* IGListDiffKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7A02D01D2361520200B49FAE /* IGListDiffKit.framework */; };
|
|
|
|
|
7A02D0C023615CE500B49FAE /* IGListKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A02CED72361511000B49FAE /* IGListKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9B23A8A42000E5A13D /* IGListSwiftKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A92EA9923A8A42000E5A13D /* IGListSwiftKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A92EAA023A8A43D00E5A13D /* IGListCollectionContext+Refinements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A92EA9F23A8A43D00E5A13D /* IGListCollectionContext+Refinements.swift */; };
|
|
|
|
|
7A92EAB023A8A50C00E5A13D /* IGListSwiftKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A92EA9923A8A42000E5A13D /* IGListSwiftKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
7A92EAB123A8A50C00E5A13D /* IGListCollectionContext+Refinements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7A92EA9F23A8A43D00E5A13D /* IGListCollectionContext+Refinements.swift */; };
|
2020-09-08 16:06:16 +00:00
|
|
|
7A92EAB423A8A5FA00E5A13D /* IGListAdapterUpdaterHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AD6864A23A89E7F009000DE /* IGListAdapterUpdaterHelpers.h */; };
|
|
|
|
|
7A92EAB523A8A5FF00E5A13D /* IGListAdapterUpdaterHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AD6864923A89E7F009000DE /* IGListAdapterUpdaterHelpers.m */; };
|
2019-12-17 21:05:00 +00:00
|
|
|
7AD6864B23A89E7F009000DE /* IGListAdapterUpdaterHelpers.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AD6864923A89E7F009000DE /* IGListAdapterUpdaterHelpers.m */; };
|
2020-09-08 16:06:16 +00:00
|
|
|
7AD6864C23A89E7F009000DE /* IGListAdapterUpdaterHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AD6864A23A89E7F009000DE /* IGListAdapterUpdaterHelpers.h */; };
|
2021-01-26 15:32:41 +00:00
|
|
|
7AEA8E5D25BF715C00971591 /* IGListSingleSectionController+Refinements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AEA8E5C25BF715C00971591 /* IGListSingleSectionController+Refinements.swift */; };
|
|
|
|
|
7AEA8E5E25BF715C00971591 /* IGListSingleSectionController+Refinements.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7AEA8E5C25BF715C00971591 /* IGListSingleSectionController+Refinements.swift */; };
|
2016-10-25 22:17:45 +00:00
|
|
|
821BC4C01DB8C9D500172ED0 /* IGListSingleStoryboardItemControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 821BC4BE1DB8C95300172ED0 /* IGListSingleStoryboardItemControllerTests.m */; };
|
|
|
|
|
821BC4C41DB8CEF800172ED0 /* IGTestStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 821BC4C21DB8CAE900172ED0 /* IGTestStoryboard.storyboard */; };
|
2016-11-01 17:56:06 +00:00
|
|
|
821BC4CB1DB8D60100172ED0 /* IGTestStoryboardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 821BC4C81DB8D5B200172ED0 /* IGTestStoryboardViewController.m */; };
|
2016-10-25 22:17:45 +00:00
|
|
|
821BC4D01DB8D90900172ED0 /* IGTestStoryboardCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 821BC4CD1DB8D8C500172ED0 /* IGTestStoryboardCell.m */; };
|
|
|
|
|
821BC4D31DB981AB00172ED0 /* IGTestSingleStoryboardItemDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 821BC4D21DB981AB00172ED0 /* IGTestSingleStoryboardItemDataSource.m */; };
|
2016-11-01 17:56:06 +00:00
|
|
|
8240C7F01DC272CA00B3AAE7 /* IGTestStoryboardSupplementaryView.m in Sources */ = {isa = PBXBuildFile; fileRef = 8240C7EF1DC272CA00B3AAE7 /* IGTestStoryboardSupplementaryView.m */; };
|
|
|
|
|
8240C7F21DC284C300B3AAE7 /* IGListAdapterStoryboardTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 8240C7F11DC284C300B3AAE7 /* IGListAdapterStoryboardTests.m */; };
|
|
|
|
|
8240C7F51DC2D99300B3AAE7 /* IGTestStoryboardSupplementarySource.m in Sources */ = {isa = PBXBuildFile; fileRef = 8240C7F41DC2D99300B3AAE7 /* IGTestStoryboardSupplementarySource.m */; };
|
|
|
|
|
8240C7F81DC2F3FB00B3AAE7 /* IGListTestStoryboardSection.m in Sources */ = {isa = PBXBuildFile; fileRef = 8240C7F71DC2F3FB00B3AAE7 /* IGListTestStoryboardSection.m */; };
|
|
|
|
|
8240C7FB1DC2F6CF00B3AAE7 /* IGListTestAdapterStoryboardDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 8240C7FA1DC2F6CF00B3AAE7 /* IGListTestAdapterStoryboardDataSource.m */; };
|
2016-11-22 14:38:27 +00:00
|
|
|
8285404C1DE40C6E00118B94 /* IGListTestHorizontalSection.m in Sources */ = {isa = PBXBuildFile; fileRef = 8285404B1DE40C6E00118B94 /* IGListTestHorizontalSection.m */; };
|
|
|
|
|
8285404D1DE40C6E00118B94 /* IGListTestHorizontalSection.m in Sources */ = {isa = PBXBuildFile; fileRef = 8285404B1DE40C6E00118B94 /* IGListTestHorizontalSection.m */; };
|
|
|
|
|
828540501DE40D2D00118B94 /* IGListTestAdapterHorizontalDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 8285404F1DE40D2D00118B94 /* IGListTestAdapterHorizontalDataSource.m */; };
|
|
|
|
|
828540511DE40D2D00118B94 /* IGListTestAdapterHorizontalDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 8285404F1DE40D2D00118B94 /* IGListTestAdapterHorizontalDataSource.m */; };
|
2017-03-15 16:25:03 +00:00
|
|
|
82914C5B1E6E2DEC0066C2F8 /* IGListTestContainerSizeSection.m in Sources */ = {isa = PBXBuildFile; fileRef = 82914C5A1E6E2DEC0066C2F8 /* IGListTestContainerSizeSection.m */; };
|
|
|
|
|
82914C5C1E6E2DEC0066C2F8 /* IGListTestContainerSizeSection.m in Sources */ = {isa = PBXBuildFile; fileRef = 82914C5A1E6E2DEC0066C2F8 /* IGListTestContainerSizeSection.m */; };
|
2016-11-08 14:18:29 +00:00
|
|
|
829D7BAA1DD1819000549816 /* IGListSectionMapTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 829D7BA81DD1816400549816 /* IGListSectionMapTests.m */; };
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F071D870EDC007C7F66 /* IGListAdapterE2ETests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE21D870EDC007C7F66 /* IGListAdapterE2ETests.m */; };
|
|
|
|
|
88144F081D870EDC007C7F66 /* IGListAdapterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE31D870EDC007C7F66 /* IGListAdapterTests.m */; };
|
|
|
|
|
88144F091D870EDC007C7F66 /* IGListAdapterUpdaterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE41D870EDC007C7F66 /* IGListAdapterUpdaterTests.m */; };
|
|
|
|
|
88144F0A1D870EDC007C7F66 /* IGListBatchUpdateDataTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE51D870EDC007C7F66 /* IGListBatchUpdateDataTests.m */; };
|
|
|
|
|
88144F0B1D870EDC007C7F66 /* IGListDiffSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE61D870EDC007C7F66 /* IGListDiffSwiftTests.swift */; };
|
|
|
|
|
88144F0C1D870EDC007C7F66 /* IGListDiffTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE81D870EDC007C7F66 /* IGListDiffTests.m */; };
|
|
|
|
|
88144F0D1D870EDC007C7F66 /* IGListDisplayHandlerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE91D870EDC007C7F66 /* IGListDisplayHandlerTests.m */; };
|
2016-10-28 14:31:37 +00:00
|
|
|
88144F101D870EDC007C7F66 /* IGListSingleSectionControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EED1D870EDC007C7F66 /* IGListSingleSectionControllerTests.m */; };
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F121D870EDC007C7F66 /* IGListWorkingRangeHandlerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EEF1D870EDC007C7F66 /* IGListWorkingRangeHandlerTests.m */; };
|
|
|
|
|
88144F131D870EDC007C7F66 /* IGListTestAdapterDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EF21D870EDC007C7F66 /* IGListTestAdapterDataSource.m */; };
|
|
|
|
|
88144F141D870EDC007C7F66 /* IGListTestOffsettingLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EF41D870EDC007C7F66 /* IGListTestOffsettingLayout.m */; };
|
|
|
|
|
88144F151D870EDC007C7F66 /* IGListTestSection.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EF61D870EDC007C7F66 /* IGListTestSection.m */; };
|
|
|
|
|
88144F161D870EDC007C7F66 /* IGListTestUICollectionViewDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EF81D870EDC007C7F66 /* IGListTestUICollectionViewDataSource.m */; };
|
|
|
|
|
88144F171D870EDC007C7F66 /* IGTestCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EFA1D870EDC007C7F66 /* IGTestCell.m */; };
|
|
|
|
|
88144F181D870EDC007C7F66 /* IGTestDelegateController.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EFC1D870EDC007C7F66 /* IGTestDelegateController.m */; };
|
|
|
|
|
88144F191D870EDC007C7F66 /* IGTestDelegateDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EFE1D870EDC007C7F66 /* IGTestDelegateDataSource.m */; };
|
|
|
|
|
88144F1A1D870EDC007C7F66 /* IGTestObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144F001D870EDC007C7F66 /* IGTestObject.m */; };
|
|
|
|
|
88144F1B1D870EDC007C7F66 /* IGTestSingleItemDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144F021D870EDC007C7F66 /* IGTestSingleItemDataSource.m */; };
|
|
|
|
|
88144F1D1D870EDC007C7F66 /* IGTestSupplementarySource.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144F061D870EDC007C7F66 /* IGTestSupplementarySource.m */; };
|
2016-12-14 07:01:21 +00:00
|
|
|
882BC1321E0118CB0083B311 /* IGTestObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144F001D870EDC007C7F66 /* IGTestObject.m */; };
|
2023-04-20 21:26:11 +00:00
|
|
|
883797082022304E00B94676 /* BuildFile in Headers */ = {isa = PBXBuildFile; };
|
2018-02-02 21:14:16 +00:00
|
|
|
88379728202236AB00B94676 /* IGListAdapterUpdateTester.m in Sources */ = {isa = PBXBuildFile; fileRef = 294CDE621F995DD7002CF6E4 /* IGListAdapterUpdateTester.m */; };
|
|
|
|
|
88379729202236AC00B94676 /* IGListAdapterUpdateTester.m in Sources */ = {isa = PBXBuildFile; fileRef = 294CDE621F995DD7002CF6E4 /* IGListAdapterUpdateTester.m */; };
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1DD1DC51A0D009CE2B4 /* IGListKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 885FE1D41DC51A0D009CE2B4 /* IGListKit.framework */; };
|
|
|
|
|
885FE22B1DC51B76009CE2B4 /* IGListAdapterE2ETests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE21D870EDC007C7F66 /* IGListAdapterE2ETests.m */; };
|
|
|
|
|
885FE22C1DC51B76009CE2B4 /* IGListAdapterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE31D870EDC007C7F66 /* IGListAdapterTests.m */; };
|
|
|
|
|
885FE22D1DC51B76009CE2B4 /* IGListAdapterUpdaterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE41D870EDC007C7F66 /* IGListAdapterUpdaterTests.m */; };
|
|
|
|
|
885FE22E1DC51B76009CE2B4 /* IGListBatchUpdateDataTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE51D870EDC007C7F66 /* IGListBatchUpdateDataTests.m */; };
|
|
|
|
|
885FE22F1DC51B76009CE2B4 /* IGListDiffSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE61D870EDC007C7F66 /* IGListDiffSwiftTests.swift */; };
|
|
|
|
|
885FE2301DC51B76009CE2B4 /* IGListDiffTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE81D870EDC007C7F66 /* IGListDiffTests.m */; };
|
|
|
|
|
885FE2311DC51B76009CE2B4 /* IGListDisplayHandlerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE91D870EDC007C7F66 /* IGListDisplayHandlerTests.m */; };
|
|
|
|
|
885FE2331DC51B76009CE2B4 /* IGListSingleSectionControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EED1D870EDC007C7F66 /* IGListSingleSectionControllerTests.m */; };
|
|
|
|
|
885FE2341DC51B76009CE2B4 /* IGListSingleNibItemControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 26271C8B1DAE96740073E116 /* IGListSingleNibItemControllerTests.m */; };
|
|
|
|
|
885FE2351DC51B76009CE2B4 /* IGListSingleStoryboardItemControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 821BC4BE1DB8C95300172ED0 /* IGListSingleStoryboardItemControllerTests.m */; };
|
|
|
|
|
885FE2371DC51B76009CE2B4 /* IGListWorkingRangeHandlerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EEF1D870EDC007C7F66 /* IGListWorkingRangeHandlerTests.m */; };
|
|
|
|
|
885FE2381DC51B86009CE2B4 /* IGListTestAdapterDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EF21D870EDC007C7F66 /* IGListTestAdapterDataSource.m */; };
|
|
|
|
|
885FE2391DC51B86009CE2B4 /* IGListTestOffsettingLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EF41D870EDC007C7F66 /* IGListTestOffsettingLayout.m */; };
|
|
|
|
|
885FE23A1DC51B86009CE2B4 /* IGListTestSection.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EF61D870EDC007C7F66 /* IGListTestSection.m */; };
|
|
|
|
|
885FE23B1DC51B86009CE2B4 /* IGListTestUICollectionViewDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EF81D870EDC007C7F66 /* IGListTestUICollectionViewDataSource.m */; };
|
|
|
|
|
885FE23C1DC51B86009CE2B4 /* IGTestCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EFA1D870EDC007C7F66 /* IGTestCell.m */; };
|
|
|
|
|
885FE23D1DC51B86009CE2B4 /* IGTestDelegateController.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EFC1D870EDC007C7F66 /* IGTestDelegateController.m */; };
|
|
|
|
|
885FE23E1DC51B86009CE2B4 /* IGTestDelegateDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EFE1D870EDC007C7F66 /* IGTestDelegateDataSource.m */; };
|
|
|
|
|
885FE23F1DC51B86009CE2B4 /* IGTestObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144F001D870EDC007C7F66 /* IGTestObject.m */; };
|
|
|
|
|
885FE2401DC51B86009CE2B4 /* IGTestSingleItemDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144F021D870EDC007C7F66 /* IGTestSingleItemDataSource.m */; };
|
|
|
|
|
885FE2411DC51B86009CE2B4 /* IGTestSingleNibItemDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 26271C891DAE94E40073E116 /* IGTestSingleNibItemDataSource.m */; };
|
|
|
|
|
885FE2421DC51B86009CE2B4 /* IGTestSingleStoryboardItemDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 821BC4D21DB981AB00172ED0 /* IGTestSingleStoryboardItemDataSource.m */; };
|
2016-11-05 23:27:32 +00:00
|
|
|
885FE2431DC51B86009CE2B4 /* IGTestStoryboardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 821BC4C81DB8D5B200172ED0 /* IGTestStoryboardViewController.m */; };
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE2451DC51B86009CE2B4 /* IGTestStoryboardCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 821BC4CD1DB8D8C500172ED0 /* IGTestStoryboardCell.m */; };
|
|
|
|
|
885FE2461DC51B86009CE2B4 /* IGTestSupplementarySource.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144F061D870EDC007C7F66 /* IGTestSupplementarySource.m */; };
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B401D870D7F009E01F7 /* IGListKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 887D0B361D870D7E009E01F7 /* IGListKit.framework */; };
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF89811E010E6A00B1B9B4 /* IGListKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD3152AC1DE227FA00AC9D2C /* IGListKit.framework */; };
|
|
|
|
|
88DF89881E010F5C00B1B9B4 /* IGListDiffResultTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 294AC6311DDE4C19002FCE5D /* IGListDiffResultTests.m */; };
|
|
|
|
|
88DF89891E010F6500B1B9B4 /* IGListDiffSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE61D870EDC007C7F66 /* IGListDiffSwiftTests.swift */; };
|
|
|
|
|
88DF898A1E010F7000B1B9B4 /* IGListDiffTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 88144EE81D870EDC007C7F66 /* IGListDiffTests.m */; };
|
Improve SwiftPM support (#1546)
Summary:
This diff imports and refines the PR made by cntrump on GitHub.
The PR introduces the following:
* Sample apps now use SPM instead of CocoaPods to import IGListKit.
* Adds Mac Catalyst as an example target.
* Adds C++ flags to the CocoaPods specs.
* Fixes a script issue that was discovered when regenerating the symlinks.
The PR originally aimed to remove the need for symlinked references to the IGListKit and IGListDiffKit source files, but in testing, I couldn't get it working. It's possible SPM being too strict [on where the headers can be placed to be discovered](https://forums.swift.org/t/how-do-i-specify-the-headers-directory-for-a-objc-target-in-swift-package-managers-package-swift/58531/3).
Additionally, another issue was that the original PR changed all of the `#import` statements to the the modular `import` statements, which is fine for the sample apps, but ended up breaking compatibility for any apps that had modules disabled.
## Changes in this pull request
Improve SwiftPM support:
Build module `IGListDiffKit` and `IGListKit` as Objective-C++.
module `IGListDiffKit`:
- Source/IGListDiffKit
- module defined in `Source/IGListDiffKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListKit`:
- depend on `IGListDiffKit`, use `import IGListDiffKit;`
- Source/IGListKit
- module defined in `Source/IGListKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListSwiftKit`:
- depend on `IGListKit`, use `import IGListKit`
- Source/IGListSwiftKit
Deleted `spm/` and `scripts/generate_spm_sources_layout.sh`, it is unnecessary.
Updated `.podspec`, add `'OTHER_CFLAGS' => '-fmodules'` and `'OTHER_CPLUSPLUSFLAGS' => '-fcxx-modules'`.
Add missing swift files for `IGListSwiftKit` in `IGListKit.xcodeproj`
### How to use
Replace `#import <IGListDiffKit/IGListDiffKit.h>` with `import IGListDiffKit;`, because `IGListDiffKit.h` isn't exist in `modulemap/`, Or create a symbol link by `ln -sf ../IGListDiffKit.h` for support it ?
### Examples
Use SwiftPM for building examples.
### Checklist
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [ ] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1546
Test Plan: Test PR showing running tests: https://github.com/TimOliver/IGListKit/actions/runs/4339956050/jobs/7578047058
Reviewed By: lorixx
Differential Revision: D33592395
Pulled By: TimOliver
fbshipit-source-id: 8f7b1873f2b1c6a80908bb55b123e31bea13bb0c
2023-03-07 07:29:41 +00:00
|
|
|
BA4A65242760278F00FA5750 /* ListValueSectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA4A65222760278F00FA5750 /* ListValueSectionController.swift */; };
|
|
|
|
|
BA4A65252760278F00FA5750 /* ListValueSectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA4A65222760278F00FA5750 /* ListValueSectionController.swift */; };
|
|
|
|
|
BA4A65262760278F00FA5750 /* ListIdentifiable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA4A65232760278F00FA5750 /* ListIdentifiable.swift */; };
|
|
|
|
|
BA4A65272760278F00FA5750 /* ListIdentifiable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BA4A65232760278F00FA5750 /* ListIdentifiable.swift */; };
|
|
|
|
|
E03DEA83255C9AAC00ACCAFC /* IGListTransitionData.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B22E692502AAB10055DC2F /* IGListTransitionData.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
2021-08-16 20:35:51 +00:00
|
|
|
E03DEA8F255C9AB200ACCAFC /* IGListTransitionData.m in Sources */ = {isa = PBXBuildFile; fileRef = 57B22E662502AAB10055DC2F /* IGListTransitionData.m */; };
|
2018-05-14 21:46:43 +00:00
|
|
|
E56B7B3420A9D7100071010C /* IGListCollectionScrollingTraitsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E56B7B3320A9D7100071010C /* IGListCollectionScrollingTraitsTests.m */; };
|
|
|
|
|
E56B7B3520A9D7100071010C /* IGListCollectionScrollingTraitsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E56B7B3320A9D7100071010C /* IGListCollectionScrollingTraitsTests.m */; };
|
2017-12-18 16:33:24 +00:00
|
|
|
E8D312E01FC472A60009FA2F /* IGListContentInsetTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E8D312DF1FC472A60009FA2F /* IGListContentInsetTests.m */; };
|
2023-03-22 02:12:01 +00:00
|
|
|
F1855A4C29BC565600558D18 /* IGListDiffDescriptionStringTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F1855A4B29BC565600558D18 /* IGListDiffDescriptionStringTests.m */; };
|
|
|
|
|
F1855A4D29BC565600558D18 /* IGListDiffDescriptionStringTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F1855A4B29BC565600558D18 /* IGListDiffDescriptionStringTests.m */; };
|
|
|
|
|
F1855A4E29BC565600558D18 /* IGListDiffDescriptionStringTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F1855A4B29BC565600558D18 /* IGListDiffDescriptionStringTests.m */; };
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC75C29EFBB9400DC3B9A /* IGListCollectionViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F18CC75B29EFBB9400DC3B9A /* IGListCollectionViewTests.m */; };
|
|
|
|
|
F18CC75D29EFBB9400DC3B9A /* IGListCollectionViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F18CC75B29EFBB9400DC3B9A /* IGListCollectionViewTests.m */; };
|
|
|
|
|
F18CC75F29EFBBB300DC3B9A /* IGListBindingSingleSectionControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F18CC75E29EFBBB300DC3B9A /* IGListBindingSingleSectionControllerTests.m */; };
|
|
|
|
|
F18CC76029EFBBB300DC3B9A /* IGListBindingSingleSectionControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F18CC75E29EFBBB300DC3B9A /* IGListBindingSingleSectionControllerTests.m */; };
|
|
|
|
|
F18CC76329EFBBE200DC3B9A /* IGTestBindingSingleItemDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = F18CC76129EFBBE200DC3B9A /* IGTestBindingSingleItemDataSource.m */; };
|
|
|
|
|
F18CC76429EFBBE200DC3B9A /* IGTestBindingSingleItemDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = F18CC76129EFBBE200DC3B9A /* IGTestBindingSingleItemDataSource.m */; };
|
|
|
|
|
F18CC76629EFBC3800DC3B9A /* IGListReloadDataUpdaterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F18CC76529EFBC3800DC3B9A /* IGListReloadDataUpdaterTests.m */; };
|
|
|
|
|
F18CC76729EFBC3800DC3B9A /* IGListReloadDataUpdaterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F18CC76529EFBC3800DC3B9A /* IGListReloadDataUpdaterTests.m */; };
|
|
|
|
|
F18CC76A29EFBD0300DC3B9A /* IGListBindingSingleSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = F18CC76829EFBD0300DC3B9A /* IGListBindingSingleSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
F18CC76B29EFBD0300DC3B9A /* IGListBindingSingleSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = F18CC76829EFBD0300DC3B9A /* IGListBindingSingleSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
|
|
|
|
F18CC76C29EFBD0300DC3B9A /* IGListBindingSingleSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = F18CC76929EFBD0300DC3B9A /* IGListBindingSingleSectionController.m */; };
|
|
|
|
|
F18CC76D29EFBD0300DC3B9A /* IGListBindingSingleSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = F18CC76929EFBD0300DC3B9A /* IGListBindingSingleSectionController.m */; };
|
2023-04-18 03:41:49 +00:00
|
|
|
F1E6302329EA43080060B4D6 /* IGListSectionControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F1E6302229EA43080060B4D6 /* IGListSectionControllerTests.m */; };
|
|
|
|
|
F1E6302429EA43080060B4D6 /* IGListSectionControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F1E6302229EA43080060B4D6 /* IGListSectionControllerTests.m */; };
|
|
|
|
|
F1ED68B329E9B3B9003744F8 /* IGListInteractiveMovingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F1ED68AE29E9B3B9003744F8 /* IGListInteractiveMovingTests.m */; };
|
|
|
|
|
F1ED68B529E9B3B9003744F8 /* IGListDebugDescriptionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F1ED68AF29E9B3B9003744F8 /* IGListDebugDescriptionTests.m */; };
|
|
|
|
|
F1ED68B729E9B3B9003744F8 /* IGListTransactionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F1ED68B029E9B3B9003744F8 /* IGListTransactionTests.m */; };
|
|
|
|
|
F1ED68B929E9B3B9003744F8 /* IGListSingleSectionControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F1ED68B129E9B3B9003744F8 /* IGListSingleSectionControllerTests.m */; };
|
|
|
|
|
F1ED68BA29E9B404003744F8 /* IGListInteractiveMovingTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F1ED68AE29E9B3B9003744F8 /* IGListInteractiveMovingTests.m */; };
|
|
|
|
|
F1ED68BB29E9B40A003744F8 /* IGListGenericSectionControllerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 29DA5CA21EA7C72400113926 /* IGListGenericSectionControllerTests.m */; };
|
|
|
|
|
F1ED68BC29E9B411003744F8 /* IGListDebuggerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 290DF3761E9323E6009FE456 /* IGListDebuggerTests.m */; };
|
|
|
|
|
F1ED68BD29E9B415003744F8 /* IGListDebugDescriptionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F1ED68AF29E9B3B9003744F8 /* IGListDebugDescriptionTests.m */; };
|
|
|
|
|
F1ED68BE29E9B41A003744F8 /* IGListContentInsetTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E8D312DF1FC472A60009FA2F /* IGListContentInsetTests.m */; };
|
|
|
|
|
F1ED68BF29E9B443003744F8 /* IGListTransactionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F1ED68B029E9B3B9003744F8 /* IGListTransactionTests.m */; };
|
2016-09-07 22:37:59 +00:00
|
|
|
/* End PBXBuildFile section */
|
|
|
|
|
|
|
|
|
|
/* Begin PBXContainerItemProxy section */
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0B22361546300B49FAE /* PBXContainerItemProxy */ = {
|
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
|
containerPortal = 887D0B2D1D870D7E009E01F7 /* Project object */;
|
|
|
|
|
proxyType = 1;
|
|
|
|
|
remoteGlobalIDString = 7A02D01C2361520200B49FAE;
|
|
|
|
|
remoteInfo = IGListDiffKit;
|
|
|
|
|
};
|
|
|
|
|
7A02D0BC23615B8B00B49FAE /* PBXContainerItemProxy */ = {
|
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
|
containerPortal = 887D0B2D1D870D7E009E01F7 /* Project object */;
|
|
|
|
|
proxyType = 1;
|
|
|
|
|
remoteGlobalIDString = 7A02D02A2361525800B49FAE;
|
|
|
|
|
remoteInfo = "IGListDiffKit-tvOS";
|
|
|
|
|
};
|
|
|
|
|
7A02D0BE23615B9000B49FAE /* PBXContainerItemProxy */ = {
|
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
|
containerPortal = 887D0B2D1D870D7E009E01F7 /* Project object */;
|
|
|
|
|
proxyType = 1;
|
|
|
|
|
remoteGlobalIDString = 7A02D0372361526600B49FAE;
|
|
|
|
|
remoteInfo = "IGListDiffKit-macOS";
|
|
|
|
|
};
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EAA123A8A4E700E5A13D /* PBXContainerItemProxy */ = {
|
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
|
containerPortal = 887D0B2D1D870D7E009E01F7 /* Project object */;
|
|
|
|
|
proxyType = 1;
|
|
|
|
|
remoteGlobalIDString = 887D0B351D870D7E009E01F7;
|
|
|
|
|
remoteInfo = IGListKit;
|
|
|
|
|
};
|
|
|
|
|
7A92EAB223A8A53F00E5A13D /* PBXContainerItemProxy */ = {
|
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
|
containerPortal = 887D0B2D1D870D7E009E01F7 /* Project object */;
|
|
|
|
|
proxyType = 1;
|
|
|
|
|
remoteGlobalIDString = 885FE1D31DC51A0D009CE2B4;
|
|
|
|
|
remoteInfo = "IGListKit-tvOS";
|
|
|
|
|
};
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1DE1DC51A0D009CE2B4 /* PBXContainerItemProxy */ = {
|
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
|
containerPortal = 887D0B2D1D870D7E009E01F7 /* Project object */;
|
|
|
|
|
proxyType = 1;
|
|
|
|
|
remoteGlobalIDString = 885FE1D31DC51A0D009CE2B4;
|
|
|
|
|
remoteInfo = "IGListKit-tvOS";
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B411D870D7F009E01F7 /* PBXContainerItemProxy */ = {
|
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
|
containerPortal = 887D0B2D1D870D7E009E01F7 /* Project object */;
|
|
|
|
|
proxyType = 1;
|
|
|
|
|
remoteGlobalIDString = 887D0B351D870D7E009E01F7;
|
|
|
|
|
remoteInfo = IGListKit;
|
|
|
|
|
};
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF89821E010E6A00B1B9B4 /* PBXContainerItemProxy */ = {
|
|
|
|
|
isa = PBXContainerItemProxy;
|
|
|
|
|
containerPortal = 887D0B2D1D870D7E009E01F7 /* Project object */;
|
|
|
|
|
proxyType = 1;
|
|
|
|
|
remoteGlobalIDString = DD3152661DE227FA00AC9D2C;
|
|
|
|
|
remoteInfo = "IGListKit-macOS";
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
/* End PBXContainerItemProxy section */
|
|
|
|
|
|
|
|
|
|
/* Begin PBXFileReference section */
|
Interactive Reordering
Summary:
I had a desire for interactive reordering in a personal project, so here's a first attempt at adding support in IGListKit.
I figured I might as well get a WIP PR up for comments before I continue further as there are a few aspects to interactive reordering that don't interplay perfectly with IGListKit.
As discussed in #291, I went after two prime use cases:
1. Moving items amongst a section
2. Rearranging whole sections
I also "disabled" moving items between sections by having those moves revert, to mimic interactive reordering cancellation as closely as possible.
You can see both in the Mixed Data example. Grid items can be moved within a section, while users can be moved to reorder whole sections. But trying to move a grid item out of a grid or a user item into a grid will auto-revert. The revert animation isn't as tight as it should be. It may be more desirable to disable the animation - though you lose the visual cue.
There is a also a new example, `ReorderableViewController`, that demonstrates 2 in its pure form (likely the most desired use case), where all sections are reorderable single rows.
Happy to take feedback -- this is my first experience working on IGListKit, so I would expect there to be gaps. (Ex. I haven't used `IGListStackedSectionController`, and its tests failed as I hadn't implemented reordering delegates for it. Those are simply stubbed out for now.)
Issue fixed: #291
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
- [x] Proper support in `IGListStackedSectionController`
Closes https://github.com/Instagram/IGListKit/pull/976
Differential Revision: D6674493
Pulled By: rnystrom
fbshipit-source-id: cd53c5fdc6fb59636edc4747c4bbd0f81a4610e5
2018-02-12 17:09:26 +00:00
|
|
|
13DF01711FA0FD400092A320 /* IGListTestAdapterReorderingDataSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IGListTestAdapterReorderingDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
13DF01721FA0FD400092A320 /* IGListTestAdapterReorderingDataSource.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IGListTestAdapterReorderingDataSource.m; sourceTree = "<group>"; };
|
|
|
|
|
13DF01751FA1000E0092A320 /* IGTestReorderableSection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IGTestReorderableSection.h; sourceTree = "<group>"; };
|
|
|
|
|
13DF01761FA1000E0092A320 /* IGTestReorderableSection.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IGTestReorderableSection.m; sourceTree = "<group>"; };
|
2019-06-12 05:25:14 +00:00
|
|
|
16B71CE522B0A08300FE96ED /* IGTestInvalidateLayoutDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestInvalidateLayoutDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
16B71CE622B0A08300FE96ED /* IGTestInvalidateLayoutSectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestInvalidateLayoutSectionController.h; sourceTree = "<group>"; };
|
|
|
|
|
16B71CE722B0A08300FE96ED /* IGTestInvalidateLayoutSectionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestInvalidateLayoutSectionController.m; sourceTree = "<group>"; };
|
|
|
|
|
16B71CE822B0A08300FE96ED /* IGTestInvalidateLayoutDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestInvalidateLayoutDataSource.m; sourceTree = "<group>"; };
|
|
|
|
|
16B71CE922B0A08300FE96ED /* IGTestInvalidateLayoutObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestInvalidateLayoutObject.h; sourceTree = "<group>"; };
|
|
|
|
|
16B71CEA22B0A08300FE96ED /* IGTestInvalidateLayoutObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestInvalidateLayoutObject.m; sourceTree = "<group>"; };
|
2016-10-15 01:46:16 +00:00
|
|
|
26271C881DAE94E40073E116 /* IGTestSingleNibItemDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestSingleNibItemDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
26271C891DAE94E40073E116 /* IGTestSingleNibItemDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestSingleNibItemDataSource.m; sourceTree = "<group>"; };
|
|
|
|
|
26271C8B1DAE96740073E116 /* IGListSingleNibItemControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListSingleNibItemControllerTests.m; sourceTree = "<group>"; };
|
2016-11-05 23:27:32 +00:00
|
|
|
2904861C1DCD02140007F41D /* IGTestNibSupplementaryView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IGTestNibSupplementaryView.xib; sourceTree = "<group>"; };
|
|
|
|
|
2904861E1DCD02750007F41D /* IGTestNibSupplementaryView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestNibSupplementaryView.h; sourceTree = "<group>"; };
|
|
|
|
|
2904861F1DCD02750007F41D /* IGTestNibSupplementaryView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestNibSupplementaryView.m; sourceTree = "<group>"; };
|
2017-04-21 23:34:49 +00:00
|
|
|
290DF3761E9323E6009FE456 /* IGListDebuggerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListDebuggerTests.m; sourceTree = "<group>"; };
|
2016-10-15 01:46:16 +00:00
|
|
|
294369B01DB1B7AE0025F6E7 /* IGTestNibCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = IGTestNibCell.xib; sourceTree = "<group>"; };
|
2016-11-18 02:48:07 +00:00
|
|
|
294AC6311DDE4C19002FCE5D /* IGListDiffResultTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListDiffResultTests.m; sourceTree = "<group>"; };
|
2017-10-20 15:41:01 +00:00
|
|
|
294CDE611F995DD7002CF6E4 /* IGListAdapterUpdateTester.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdateTester.h; sourceTree = "<group>"; };
|
|
|
|
|
294CDE621F995DD7002CF6E4 /* IGListAdapterUpdateTester.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterUpdateTester.m; sourceTree = "<group>"; };
|
2017-03-15 14:44:52 +00:00
|
|
|
298DD9CD1E3ADD1400F76F50 /* IGListBindingSectionControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListBindingSectionControllerTests.m; sourceTree = "<group>"; };
|
|
|
|
|
298DD9D01E3ADDB400F76F50 /* IGTestDiffingSectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestDiffingSectionController.h; sourceTree = "<group>"; };
|
|
|
|
|
298DD9D11E3ADDB400F76F50 /* IGTestDiffingSectionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestDiffingSectionController.m; sourceTree = "<group>"; };
|
|
|
|
|
298DD9D81E3ADE3300F76F50 /* IGTestStringBindableCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestStringBindableCell.h; sourceTree = "<group>"; };
|
|
|
|
|
298DD9D91E3ADE3300F76F50 /* IGTestStringBindableCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestStringBindableCell.m; sourceTree = "<group>"; };
|
|
|
|
|
298DD9E01E3ADE4300F76F50 /* IGTestNumberBindableCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestNumberBindableCell.h; sourceTree = "<group>"; };
|
|
|
|
|
298DD9E11E3ADE4300F76F50 /* IGTestNumberBindableCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestNumberBindableCell.m; sourceTree = "<group>"; };
|
|
|
|
|
298DD9F81E3AE1AA00F76F50 /* IGTestDiffingObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestDiffingObject.h; sourceTree = "<group>"; };
|
|
|
|
|
298DD9F91E3AE1AA00F76F50 /* IGTestDiffingObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestDiffingObject.m; sourceTree = "<group>"; };
|
|
|
|
|
298DDA0B1E3AE3ED00F76F50 /* IGTestDiffingDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestDiffingDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
298DDA0C1E3AE3ED00F76F50 /* IGTestDiffingDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestDiffingDataSource.m; sourceTree = "<group>"; };
|
2017-02-11 01:58:52 +00:00
|
|
|
298DDA231E3B15EE00F76F50 /* IGListCollectionViewLayoutTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListCollectionViewLayoutTests.m; sourceTree = "<group>"; };
|
|
|
|
|
298DDA261E3B166100F76F50 /* IGLayoutTestDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGLayoutTestDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
298DDA271E3B166100F76F50 /* IGLayoutTestDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGLayoutTestDataSource.m; sourceTree = "<group>"; };
|
|
|
|
|
298DDA281E3B166100F76F50 /* IGLayoutTestItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGLayoutTestItem.h; sourceTree = "<group>"; };
|
|
|
|
|
298DDA291E3B166100F76F50 /* IGLayoutTestItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGLayoutTestItem.m; sourceTree = "<group>"; };
|
|
|
|
|
298DDA2A1E3B166100F76F50 /* IGLayoutTestSection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGLayoutTestSection.h; sourceTree = "<group>"; };
|
|
|
|
|
298DDA2B1E3B166100F76F50 /* IGLayoutTestSection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGLayoutTestSection.m; sourceTree = "<group>"; };
|
2017-08-31 19:35:22 +00:00
|
|
|
2995409A1F588C8D00F647CF /* IGTestBindingWithoutDeselectionDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestBindingWithoutDeselectionDelegate.h; sourceTree = "<group>"; };
|
|
|
|
|
2995409B1F588C8D00F647CF /* IGTestBindingWithoutDeselectionDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestBindingWithoutDeselectionDelegate.m; sourceTree = "<group>"; };
|
2016-11-18 19:09:26 +00:00
|
|
|
29C4748A1DDF45E700AE68CE /* IGListAdapterProxyTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterProxyTests.m; sourceTree = "<group>"; };
|
2017-04-19 19:42:31 +00:00
|
|
|
29DA5CA21EA7C72400113926 /* IGListGenericSectionControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListGenericSectionControllerTests.m; sourceTree = "<group>"; };
|
2017-04-20 21:35:26 +00:00
|
|
|
29DA5CA61EA7D37000113926 /* IGListTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListTestCase.m; sourceTree = "<group>"; };
|
|
|
|
|
29DA5CA91EA7D39B00113926 /* IGListTestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTestCase.h; sourceTree = "<group>"; };
|
|
|
|
|
29DA5CAA1EA7D3FF00113926 /* IGListTestHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTestHelpers.h; sourceTree = "<group>"; };
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E662502AAB10055DC2F /* IGListTransitionData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListTransitionData.m; sourceTree = "<group>"; };
|
|
|
|
|
57B22E692502AAB10055DC2F /* IGListTransitionData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTransitionData.h; sourceTree = "<group>"; };
|
|
|
|
|
57B22E712502AAC20055DC2F /* IGListBatchUpdateTransaction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListBatchUpdateTransaction.m; sourceTree = "<group>"; };
|
|
|
|
|
57B22E722502AAC30055DC2F /* IGListUpdateTransactionBuilder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListUpdateTransactionBuilder.m; sourceTree = "<group>"; };
|
|
|
|
|
57B22E732502AAC30055DC2F /* IGListUpdateTransactable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListUpdateTransactable.h; sourceTree = "<group>"; };
|
|
|
|
|
57B22E742502AAC30055DC2F /* IGListDataSourceChangeTransaction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListDataSourceChangeTransaction.h; sourceTree = "<group>"; };
|
|
|
|
|
57B22E752502AAC30055DC2F /* IGListItemUpdatesCollector.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListItemUpdatesCollector.m; sourceTree = "<group>"; };
|
|
|
|
|
57B22E762502AAC30055DC2F /* IGListReloadTransaction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListReloadTransaction.h; sourceTree = "<group>"; };
|
|
|
|
|
57B22E792502AAC30055DC2F /* IGListDataSourceChangeTransaction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListDataSourceChangeTransaction.m; sourceTree = "<group>"; };
|
|
|
|
|
57B22E7B2502AAC40055DC2F /* IGListBatchUpdateTransaction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdateTransaction.h; sourceTree = "<group>"; };
|
|
|
|
|
57B22E7C2502AAC40055DC2F /* IGListItemUpdatesCollector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListItemUpdatesCollector.h; sourceTree = "<group>"; };
|
|
|
|
|
57B22E7D2502AAC40055DC2F /* IGListUpdateTransactionBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListUpdateTransactionBuilder.h; sourceTree = "<group>"; };
|
|
|
|
|
57B22E7E2502AAC40055DC2F /* IGListReloadTransaction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListReloadTransaction.m; sourceTree = "<group>"; };
|
2017-12-18 20:17:48 +00:00
|
|
|
6A9EB35F1F841E5D0070C572 /* IGTestSingleWithoutDeselectionDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IGTestSingleWithoutDeselectionDelegate.h; sourceTree = "<group>"; };
|
|
|
|
|
6A9EB3601F841E5D0070C572 /* IGTestSingleWithoutDeselectionDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IGTestSingleWithoutDeselectionDelegate.m; sourceTree = "<group>"; };
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CEC72361510F00B49FAE /* IGListReloadDataUpdater.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListReloadDataUpdater.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEC82361510F00B49FAE /* IGListScrollDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListScrollDelegate.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEC92361510F00B49FAE /* IGListWorkingRangeDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListWorkingRangeDelegate.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CECA2361510F00B49FAE /* IGListAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAdapter.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CECB2361510F00B49FAE /* IGListDisplayDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListDisplayDelegate.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CECC2361510F00B49FAE /* IGListCollectionViewDelegateLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListCollectionViewDelegateLayout.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CECD2361510F00B49FAE /* IGListCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListCollectionView.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CECE2361510F00B49FAE /* IGListGenericSectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListGenericSectionController.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CECF2361510F00B49FAE /* IGListBatchContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListBatchContext.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CED02361510F00B49FAE /* IGListBindingSectionControllerDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionControllerDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CED12361510F00B49FAE /* IGListCollectionContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListCollectionContext.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CED22361511000B49FAE /* IGListAdapterDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAdapterDelegate.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CED32361511000B49FAE /* IGListGenericSectionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListGenericSectionController.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CED42361511000B49FAE /* IGListCollectionViewLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListCollectionViewLayout.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CED52361511000B49FAE /* IGListAdapterMoveDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAdapterMoveDelegate.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CED62361511000B49FAE /* IGListSectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListSectionController.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CED72361511000B49FAE /* IGListKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListKit.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CED82361511000B49FAE /* IGListTransitionDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTransitionDelegate.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CED92361511000B49FAE /* IGListAdapterUpdateListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdateListener.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEDA2361511000B49FAE /* IGListBindable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListBindable.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEDB2361511000B49FAE /* IGListReloadDataUpdater.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListReloadDataUpdater.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEDC2361511000B49FAE /* IGListBindingSectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionController.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEDD2361511000B49FAE /* IGListUpdatingDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListUpdatingDelegate.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEDE2361511000B49FAE /* IGListAdapterUpdater.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterUpdater.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEDF2361511000B49FAE /* IGListAdapterDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAdapterDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEE02361511000B49FAE /* IGListCollectionViewLayout.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = IGListCollectionViewLayout.mm; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEE12361511000B49FAE /* IGListCollectionViewLayoutCompatible.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListCollectionViewLayoutCompatible.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEE22361511000B49FAE /* IGListAdapterUpdaterDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterDelegate.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEE32361511000B49FAE /* IGListSingleSectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListSingleSectionController.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEE42361511000B49FAE /* IGListAdapterPerformanceDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAdapterPerformanceDelegate.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEE52361511000B49FAE /* IGListSingleSectionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListSingleSectionController.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEE62361511000B49FAE /* IGListSupplementaryViewSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListSupplementaryViewSource.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEE72361511000B49FAE /* IGListCollectionScrollingTraits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListCollectionScrollingTraits.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEE82361511000B49FAE /* IGListAdapter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListAdapter.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEE92361511000B49FAE /* IGListBindingSectionControllerSelectionDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionControllerSelectionDelegate.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEEA2361511100B49FAE /* IGListBindingSectionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListBindingSectionController.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEEB2361511100B49FAE /* IGListAdapterUpdater.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdater.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEEC2361511100B49FAE /* IGListSectionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListSectionController.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CEED2361511100B49FAE /* IGListCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListCollectionView.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF642361513300B49FAE /* IGListDisplayHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListDisplayHandler.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF652361513300B49FAE /* IGListAdapter+DebugDescription.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "IGListAdapter+DebugDescription.m"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF662361513400B49FAE /* IGListAdapterInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAdapterInternal.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF672361513400B49FAE /* IGListBindingSectionController+DebugDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "IGListBindingSectionController+DebugDescription.h"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF682361513400B49FAE /* IGListCollectionViewLayoutInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListCollectionViewLayoutInternal.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF6A2361513400B49FAE /* UIScrollView+IGListKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+IGListKit.h"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF6B2361513400B49FAE /* UICollectionView+IGListBatchUpdateData.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UICollectionView+IGListBatchUpdateData.m"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF6C2361513400B49FAE /* UICollectionViewLayout+InteractiveReordering.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UICollectionViewLayout+InteractiveReordering.h"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF6D2361513400B49FAE /* IGListReloadIndexPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListReloadIndexPath.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF6E2361513400B49FAE /* UICollectionViewLayout+InteractiveReordering.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UICollectionViewLayout+InteractiveReordering.m"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF6F2361513400B49FAE /* UIScrollView+IGListKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+IGListKit.m"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF702361513400B49FAE /* IGListAdapterUpdaterInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterInternal.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF712361513400B49FAE /* IGListSectionMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListSectionMap.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF722361513400B49FAE /* IGListAdapterProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterProxy.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF732361513400B49FAE /* IGListAdapterUpdater+DebugDescription.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "IGListAdapterUpdater+DebugDescription.m"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF742361513400B49FAE /* IGListAdapter+UICollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "IGListAdapter+UICollectionView.h"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF752361513400B49FAE /* UICollectionView+DebugDescription.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UICollectionView+DebugDescription.m"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF762361513400B49FAE /* IGListSectionMap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListSectionMap.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF772361513400B49FAE /* UICollectionView+IGListBatchUpdateData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UICollectionView+IGListBatchUpdateData.h"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF782361513400B49FAE /* IGListBatchUpdateState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdateState.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF792361513400B49FAE /* IGListDebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListDebugger.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF7C2361513400B49FAE /* IGListBatchUpdateData+DebugDescription.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "IGListBatchUpdateData+DebugDescription.m"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF7D2361513400B49FAE /* IGListAdapterProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAdapterProxy.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF7E2361513500B49FAE /* IGListAdapterUpdater+DebugDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "IGListAdapterUpdater+DebugDescription.h"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF7F2361513500B49FAE /* IGListAdapter+DebugDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "IGListAdapter+DebugDescription.h"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF802361513500B49FAE /* IGListDisplayHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListDisplayHandler.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF812361513500B49FAE /* IGListArrayUtilsInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListArrayUtilsInternal.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF832361513500B49FAE /* IGListDebuggingUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListDebuggingUtilities.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF842361513500B49FAE /* IGListBindingSectionController+DebugDescription.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "IGListBindingSectionController+DebugDescription.m"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF852361513500B49FAE /* IGListAdapter+UICollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "IGListAdapter+UICollectionView.m"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF862361513500B49FAE /* IGListSectionMap+DebugDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "IGListSectionMap+DebugDescription.h"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF872361513500B49FAE /* IGListWorkingRangeHandler.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = IGListWorkingRangeHandler.mm; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF882361513500B49FAE /* IGListReloadIndexPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListReloadIndexPath.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF892361513500B49FAE /* IGListDebugger.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListDebugger.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF8A2361513500B49FAE /* IGListSectionControllerInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListSectionControllerInternal.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF8B2361513500B49FAE /* IGListDebuggingUtilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListDebuggingUtilities.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF8C2361513500B49FAE /* IGListBatchUpdateData+DebugDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "IGListBatchUpdateData+DebugDescription.h"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF8D2361513600B49FAE /* IGListSectionMap+DebugDescription.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "IGListSectionMap+DebugDescription.m"; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF8E2361513600B49FAE /* IGListWorkingRangeHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListWorkingRangeHandler.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02CF8F2361513600B49FAE /* UICollectionView+DebugDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UICollectionView+DebugDescription.h"; sourceTree = "<group>"; };
|
|
|
|
|
7A02D01D2361520200B49FAE /* IGListDiffKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IGListDiffKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
|
|
|
7A02D02B2361525800B49FAE /* IGListDiffKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IGListDiffKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
|
|
|
7A02D0382361526600B49FAE /* IGListDiffKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IGListDiffKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
|
|
|
7A02D0402361529E00B49FAE /* IGListDiff.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListDiff.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0412361529E00B49FAE /* NSNumber+IGListDiffable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSNumber+IGListDiffable.m"; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0422361529E00B49FAE /* NSString+IGListDiffable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+IGListDiffable.h"; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0432361529E00B49FAE /* IGListIndexPathResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListIndexPathResult.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0442361529E00B49FAE /* IGListDiffKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListDiffKit.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0452361529E00B49FAE /* IGListExperiments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListExperiments.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0462361529E00B49FAE /* NSString+IGListDiffable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+IGListDiffable.m"; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0472361529E00B49FAE /* IGListCompatibility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListCompatibility.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0482361529E00B49FAE /* NSNumber+IGListDiffable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSNumber+IGListDiffable.h"; sourceTree = "<group>"; };
|
|
|
|
|
7A02D04A2361529E00B49FAE /* IGListIndexSetResultInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListIndexSetResultInternal.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D04B2361529E00B49FAE /* IGListIndexPathResultInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListIndexPathResultInternal.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D04C2361529E00B49FAE /* IGListMoveIndexInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexInternal.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D04D2361529E00B49FAE /* IGListMoveIndexPathInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexPathInternal.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D04E2361529E00B49FAE /* IGListMoveIndexPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexPath.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D04F2361529E00B49FAE /* IGListDiff.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = IGListDiff.mm; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0502361529E00B49FAE /* IGListAssert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAssert.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0512361529E00B49FAE /* IGListIndexPathResult.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListIndexPathResult.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0522361529E00B49FAE /* IGListIndexSetResult.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListIndexSetResult.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0532361529E00B49FAE /* IGListMoveIndex.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListMoveIndex.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0542361529E00B49FAE /* IGListBatchUpdateData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdateData.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0552361529E00B49FAE /* IGListMoveIndexPath.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListMoveIndexPath.m; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0562361529E00B49FAE /* IGListDiffable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListDiffable.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0572361529E00B49FAE /* IGListBatchUpdateData.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = IGListBatchUpdateData.mm; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0582361529E00B49FAE /* IGListMacros.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListMacros.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0592361529E00B49FAE /* IGListMoveIndex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndex.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D05A2361529F00B49FAE /* IGListIndexSetResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListIndexSetResult.h; sourceTree = "<group>"; };
|
|
|
|
|
7A02D0AC236153CE00B49FAE /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9723A8A42000E5A13D /* IGListSwiftKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IGListSwiftKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
|
|
|
7A92EA9923A8A42000E5A13D /* IGListSwiftKit.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = IGListSwiftKit.h; sourceTree = "<group>"; };
|
|
|
|
|
7A92EA9F23A8A43D00E5A13D /* IGListCollectionContext+Refinements.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "IGListCollectionContext+Refinements.swift"; path = "Source/IGListSwiftKit/IGListCollectionContext+Refinements.swift"; sourceTree = SOURCE_ROOT; };
|
|
|
|
|
7A92EAA823A8A50100E5A13D /* IGListSwiftKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IGListSwiftKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
2019-12-17 21:05:00 +00:00
|
|
|
7AD6864923A89E7F009000DE /* IGListAdapterUpdaterHelpers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterUpdaterHelpers.m; sourceTree = "<group>"; };
|
|
|
|
|
7AD6864A23A89E7F009000DE /* IGListAdapterUpdaterHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterHelpers.h; sourceTree = "<group>"; };
|
2021-01-26 15:32:41 +00:00
|
|
|
7AEA8E5C25BF715C00971591 /* IGListSingleSectionController+Refinements.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "IGListSingleSectionController+Refinements.swift"; sourceTree = "<group>"; };
|
2016-10-25 22:17:45 +00:00
|
|
|
821BC4BE1DB8C95300172ED0 /* IGListSingleStoryboardItemControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListSingleStoryboardItemControllerTests.m; sourceTree = "<group>"; };
|
|
|
|
|
821BC4C21DB8CAE900172ED0 /* IGTestStoryboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = IGTestStoryboard.storyboard; sourceTree = "<group>"; };
|
2016-11-01 17:56:06 +00:00
|
|
|
821BC4C71DB8D5B200172ED0 /* IGTestStoryboardViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestStoryboardViewController.h; sourceTree = "<group>"; };
|
|
|
|
|
821BC4C81DB8D5B200172ED0 /* IGTestStoryboardViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestStoryboardViewController.m; sourceTree = "<group>"; };
|
2016-10-25 22:17:45 +00:00
|
|
|
821BC4CC1DB8D8C500172ED0 /* IGTestStoryboardCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestStoryboardCell.h; sourceTree = "<group>"; };
|
|
|
|
|
821BC4CD1DB8D8C500172ED0 /* IGTestStoryboardCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestStoryboardCell.m; sourceTree = "<group>"; };
|
|
|
|
|
821BC4D11DB9816E00172ED0 /* IGTestSingleStoryboardItemDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestSingleStoryboardItemDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
821BC4D21DB981AB00172ED0 /* IGTestSingleStoryboardItemDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestSingleStoryboardItemDataSource.m; sourceTree = "<group>"; };
|
2016-11-01 17:56:06 +00:00
|
|
|
8240C7EE1DC272CA00B3AAE7 /* IGTestStoryboardSupplementaryView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestStoryboardSupplementaryView.h; sourceTree = "<group>"; };
|
|
|
|
|
8240C7EF1DC272CA00B3AAE7 /* IGTestStoryboardSupplementaryView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestStoryboardSupplementaryView.m; sourceTree = "<group>"; };
|
2018-02-02 21:14:16 +00:00
|
|
|
8240C7F11DC284C300B3AAE7 /* IGListAdapterStoryboardTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterStoryboardTests.m; sourceTree = "<group>"; };
|
2016-11-01 17:56:06 +00:00
|
|
|
8240C7F31DC2D99300B3AAE7 /* IGTestStoryboardSupplementarySource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestStoryboardSupplementarySource.h; sourceTree = "<group>"; };
|
|
|
|
|
8240C7F41DC2D99300B3AAE7 /* IGTestStoryboardSupplementarySource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestStoryboardSupplementarySource.m; sourceTree = "<group>"; };
|
|
|
|
|
8240C7F61DC2F3FB00B3AAE7 /* IGListTestStoryboardSection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTestStoryboardSection.h; sourceTree = "<group>"; };
|
|
|
|
|
8240C7F71DC2F3FB00B3AAE7 /* IGListTestStoryboardSection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListTestStoryboardSection.m; sourceTree = "<group>"; };
|
|
|
|
|
8240C7F91DC2F6CF00B3AAE7 /* IGListTestAdapterStoryboardDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTestAdapterStoryboardDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
8240C7FA1DC2F6CF00B3AAE7 /* IGListTestAdapterStoryboardDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListTestAdapterStoryboardDataSource.m; sourceTree = "<group>"; };
|
2016-11-22 14:38:27 +00:00
|
|
|
8285404A1DE40C6E00118B94 /* IGListTestHorizontalSection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTestHorizontalSection.h; sourceTree = "<group>"; };
|
|
|
|
|
8285404B1DE40C6E00118B94 /* IGListTestHorizontalSection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListTestHorizontalSection.m; sourceTree = "<group>"; };
|
|
|
|
|
8285404E1DE40D2D00118B94 /* IGListTestAdapterHorizontalDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTestAdapterHorizontalDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
8285404F1DE40D2D00118B94 /* IGListTestAdapterHorizontalDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListTestAdapterHorizontalDataSource.m; sourceTree = "<group>"; };
|
2017-03-15 16:25:03 +00:00
|
|
|
82914C591E6E2DEC0066C2F8 /* IGListTestContainerSizeSection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTestContainerSizeSection.h; sourceTree = "<group>"; };
|
|
|
|
|
82914C5A1E6E2DEC0066C2F8 /* IGListTestContainerSizeSection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListTestContainerSizeSection.m; sourceTree = "<group>"; };
|
2016-11-08 14:18:29 +00:00
|
|
|
829D7BA81DD1816400549816 /* IGListSectionMapTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListSectionMapTests.m; sourceTree = "<group>"; };
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EE21D870EDC007C7F66 /* IGListAdapterE2ETests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterE2ETests.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EE31D870EDC007C7F66 /* IGListAdapterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterTests.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EE41D870EDC007C7F66 /* IGListAdapterUpdaterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterUpdaterTests.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EE51D870EDC007C7F66 /* IGListBatchUpdateDataTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListBatchUpdateDataTests.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EE61D870EDC007C7F66 /* IGListDiffSwiftTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IGListDiffSwiftTests.swift; sourceTree = "<group>"; };
|
|
|
|
|
88144EE81D870EDC007C7F66 /* IGListDiffTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListDiffTests.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EE91D870EDC007C7F66 /* IGListDisplayHandlerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListDisplayHandlerTests.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EEB1D870EDC007C7F66 /* IGListKitTests-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "IGListKitTests-Bridging-Header.h"; sourceTree = "<group>"; };
|
2016-10-28 14:31:37 +00:00
|
|
|
88144EED1D870EDC007C7F66 /* IGListSingleSectionControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListSingleSectionControllerTests.m; sourceTree = "<group>"; };
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EEF1D870EDC007C7F66 /* IGListWorkingRangeHandlerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListWorkingRangeHandlerTests.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EF11D870EDC007C7F66 /* IGListTestAdapterDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTestAdapterDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
88144EF21D870EDC007C7F66 /* IGListTestAdapterDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListTestAdapterDataSource.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EF31D870EDC007C7F66 /* IGListTestOffsettingLayout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTestOffsettingLayout.h; sourceTree = "<group>"; };
|
|
|
|
|
88144EF41D870EDC007C7F66 /* IGListTestOffsettingLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListTestOffsettingLayout.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EF51D870EDC007C7F66 /* IGListTestSection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTestSection.h; sourceTree = "<group>"; };
|
|
|
|
|
88144EF61D870EDC007C7F66 /* IGListTestSection.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListTestSection.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EF71D870EDC007C7F66 /* IGListTestUICollectionViewDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListTestUICollectionViewDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
88144EF81D870EDC007C7F66 /* IGListTestUICollectionViewDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListTestUICollectionViewDataSource.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EF91D870EDC007C7F66 /* IGTestCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestCell.h; sourceTree = "<group>"; };
|
|
|
|
|
88144EFA1D870EDC007C7F66 /* IGTestCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestCell.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EFB1D870EDC007C7F66 /* IGTestDelegateController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestDelegateController.h; sourceTree = "<group>"; };
|
|
|
|
|
88144EFC1D870EDC007C7F66 /* IGTestDelegateController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestDelegateController.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EFD1D870EDC007C7F66 /* IGTestDelegateDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestDelegateDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
88144EFE1D870EDC007C7F66 /* IGTestDelegateDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestDelegateDataSource.m; sourceTree = "<group>"; };
|
|
|
|
|
88144EFF1D870EDC007C7F66 /* IGTestObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestObject.h; sourceTree = "<group>"; };
|
|
|
|
|
88144F001D870EDC007C7F66 /* IGTestObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestObject.m; sourceTree = "<group>"; };
|
|
|
|
|
88144F011D870EDC007C7F66 /* IGTestSingleItemDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestSingleItemDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
88144F021D870EDC007C7F66 /* IGTestSingleItemDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestSingleItemDataSource.m; sourceTree = "<group>"; };
|
|
|
|
|
88144F051D870EDC007C7F66 /* IGTestSupplementarySource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestSupplementarySource.h; sourceTree = "<group>"; };
|
|
|
|
|
88144F061D870EDC007C7F66 /* IGTestSupplementarySource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestSupplementarySource.m; sourceTree = "<group>"; };
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1D41DC51A0D009CE2B4 /* IGListKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IGListKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
|
|
|
885FE1DC1DC51A0D009CE2B4 /* IGListKit-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "IGListKit-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B361D870D7E009E01F7 /* IGListKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IGListKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
|
|
|
887D0B3F1D870D7F009E01F7 /* IGListKitTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = IGListKitTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
|
|
|
887D0B571D870E1E009E01F7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF897C1E010E6A00B1B9B4 /* IGListKit-macOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "IGListKit-macOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
|
Improve SwiftPM support (#1546)
Summary:
This diff imports and refines the PR made by cntrump on GitHub.
The PR introduces the following:
* Sample apps now use SPM instead of CocoaPods to import IGListKit.
* Adds Mac Catalyst as an example target.
* Adds C++ flags to the CocoaPods specs.
* Fixes a script issue that was discovered when regenerating the symlinks.
The PR originally aimed to remove the need for symlinked references to the IGListKit and IGListDiffKit source files, but in testing, I couldn't get it working. It's possible SPM being too strict [on where the headers can be placed to be discovered](https://forums.swift.org/t/how-do-i-specify-the-headers-directory-for-a-objc-target-in-swift-package-managers-package-swift/58531/3).
Additionally, another issue was that the original PR changed all of the `#import` statements to the the modular `import` statements, which is fine for the sample apps, but ended up breaking compatibility for any apps that had modules disabled.
## Changes in this pull request
Improve SwiftPM support:
Build module `IGListDiffKit` and `IGListKit` as Objective-C++.
module `IGListDiffKit`:
- Source/IGListDiffKit
- module defined in `Source/IGListDiffKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListKit`:
- depend on `IGListDiffKit`, use `import IGListDiffKit;`
- Source/IGListKit
- module defined in `Source/IGListKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListSwiftKit`:
- depend on `IGListKit`, use `import IGListKit`
- Source/IGListSwiftKit
Deleted `spm/` and `scripts/generate_spm_sources_layout.sh`, it is unnecessary.
Updated `.podspec`, add `'OTHER_CFLAGS' => '-fmodules'` and `'OTHER_CPLUSPLUSFLAGS' => '-fcxx-modules'`.
Add missing swift files for `IGListSwiftKit` in `IGListKit.xcodeproj`
### How to use
Replace `#import <IGListDiffKit/IGListDiffKit.h>` with `import IGListDiffKit;`, because `IGListDiffKit.h` isn't exist in `modulemap/`, Or create a symbol link by `ln -sf ../IGListDiffKit.h` for support it ?
### Examples
Use SwiftPM for building examples.
### Checklist
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [ ] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1546
Test Plan: Test PR showing running tests: https://github.com/TimOliver/IGListKit/actions/runs/4339956050/jobs/7578047058
Reviewed By: lorixx
Differential Revision: D33592395
Pulled By: TimOliver
fbshipit-source-id: 8f7b1873f2b1c6a80908bb55b123e31bea13bb0c
2023-03-07 07:29:41 +00:00
|
|
|
BA4A65222760278F00FA5750 /* ListValueSectionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListValueSectionController.swift; sourceTree = "<group>"; };
|
|
|
|
|
BA4A65232760278F00FA5750 /* ListIdentifiable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ListIdentifiable.swift; sourceTree = "<group>"; };
|
2016-12-14 04:31:41 +00:00
|
|
|
DD3152AC1DE227FA00AC9D2C /* IGListKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = IGListKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
2018-05-14 21:46:43 +00:00
|
|
|
E56B7B3320A9D7100071010C /* IGListCollectionScrollingTraitsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListCollectionScrollingTraitsTests.m; sourceTree = "<group>"; };
|
2017-12-18 16:33:24 +00:00
|
|
|
E8D312DF1FC472A60009FA2F /* IGListContentInsetTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IGListContentInsetTests.m; sourceTree = "<group>"; };
|
2023-03-22 02:12:01 +00:00
|
|
|
F1855A4B29BC565600558D18 /* IGListDiffDescriptionStringTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListDiffDescriptionStringTests.m; sourceTree = "<group>"; };
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC75B29EFBB9400DC3B9A /* IGListCollectionViewTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListCollectionViewTests.m; sourceTree = "<group>"; };
|
|
|
|
|
F18CC75E29EFBBB300DC3B9A /* IGListBindingSingleSectionControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListBindingSingleSectionControllerTests.m; sourceTree = "<group>"; };
|
|
|
|
|
F18CC76129EFBBE200DC3B9A /* IGTestBindingSingleItemDataSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGTestBindingSingleItemDataSource.m; sourceTree = "<group>"; };
|
|
|
|
|
F18CC76229EFBBE200DC3B9A /* IGTestBindingSingleItemDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGTestBindingSingleItemDataSource.h; sourceTree = "<group>"; };
|
|
|
|
|
F18CC76529EFBC3800DC3B9A /* IGListReloadDataUpdaterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListReloadDataUpdaterTests.m; sourceTree = "<group>"; };
|
|
|
|
|
F18CC76829EFBD0300DC3B9A /* IGListBindingSingleSectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListBindingSingleSectionController.h; sourceTree = "<group>"; };
|
|
|
|
|
F18CC76929EFBD0300DC3B9A /* IGListBindingSingleSectionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListBindingSingleSectionController.m; sourceTree = "<group>"; };
|
2023-04-18 03:41:49 +00:00
|
|
|
F1E6302229EA43080060B4D6 /* IGListSectionControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListSectionControllerTests.m; sourceTree = "<group>"; };
|
|
|
|
|
F1ED68AE29E9B3B9003744F8 /* IGListInteractiveMovingTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListInteractiveMovingTests.m; sourceTree = "<group>"; };
|
|
|
|
|
F1ED68AF29E9B3B9003744F8 /* IGListDebugDescriptionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListDebugDescriptionTests.m; sourceTree = "<group>"; };
|
|
|
|
|
F1ED68B029E9B3B9003744F8 /* IGListTransactionTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListTransactionTests.m; sourceTree = "<group>"; };
|
|
|
|
|
F1ED68B129E9B3B9003744F8 /* IGListSingleSectionControllerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListSingleSectionControllerTests.m; sourceTree = "<group>"; };
|
2016-09-07 22:37:59 +00:00
|
|
|
/* End PBXFileReference section */
|
|
|
|
|
|
|
|
|
|
/* Begin PBXFrameworksBuildPhase section */
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D01A2361520200B49FAE /* Frameworks */ = {
|
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
7A02D0282361525800B49FAE /* Frameworks */ = {
|
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
7A02D0352361526600B49FAE /* Frameworks */ = {
|
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9423A8A42000E5A13D /* Frameworks */ = {
|
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
7A92EAA523A8A50100E5A13D /* Frameworks */ = {
|
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1D01DC51A0D009CE2B4 /* Frameworks */ = {
|
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0AA2361530800B49FAE /* IGListDiffKit.framework in Frameworks */,
|
2016-10-29 21:39:18 +00:00
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
885FE1D91DC51A0D009CE2B4 /* Frameworks */ = {
|
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
885FE1DD1DC51A0D009CE2B4 /* IGListKit.framework in Frameworks */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B321D870D7E009E01F7 /* Frameworks */ = {
|
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0AB2361530E00B49FAE /* IGListDiffKit.framework in Frameworks */,
|
2016-09-07 22:37:59 +00:00
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
887D0B3C1D870D7F009E01F7 /* Frameworks */ = {
|
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
887D0B401D870D7F009E01F7 /* IGListKit.framework in Frameworks */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF89791E010E6A00B1B9B4 /* Frameworks */ = {
|
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
88DF89811E010E6A00B1B9B4 /* IGListKit.framework in Frameworks */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-12-14 04:31:41 +00:00
|
|
|
DD31527B1DE227FA00AC9D2C /* Frameworks */ = {
|
|
|
|
|
isa = PBXFrameworksBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0A9236152F500B49FAE /* IGListDiffKit.framework in Frameworks */,
|
2016-12-14 04:31:41 +00:00
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
/* End PBXFrameworksBuildPhase section */
|
|
|
|
|
|
|
|
|
|
/* Begin PBXGroup section */
|
2016-12-20 05:01:33 +00:00
|
|
|
0B3B927E1E08D7F5008390ED /* Source */ = {
|
2016-10-15 01:46:16 +00:00
|
|
|
isa = PBXGroup;
|
|
|
|
|
children = (
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0252361522600B49FAE /* IGListDiffKit */,
|
|
|
|
|
7A02CEC6236150C400B49FAE /* IGListKit */,
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9823A8A42000E5A13D /* IGListSwiftKit */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0AC236153CE00B49FAE /* Info.plist */,
|
2016-10-15 01:46:16 +00:00
|
|
|
);
|
2016-12-20 05:01:33 +00:00
|
|
|
path = Source;
|
2016-10-15 01:46:16 +00:00
|
|
|
sourceTree = "<group>";
|
|
|
|
|
};
|
2016-12-20 05:01:33 +00:00
|
|
|
294369AF1DB1B7AE0025F6E7 /* Assets */ = {
|
|
|
|
|
isa = PBXGroup;
|
|
|
|
|
children = (
|
|
|
|
|
294369B01DB1B7AE0025F6E7 /* IGTestNibCell.xib */,
|
|
|
|
|
2904861C1DCD02140007F41D /* IGTestNibSupplementaryView.xib */,
|
|
|
|
|
821BC4C21DB8CAE900172ED0 /* IGTestStoryboard.storyboard */,
|
|
|
|
|
);
|
|
|
|
|
path = Assets;
|
|
|
|
|
sourceTree = "<group>";
|
|
|
|
|
};
|
2023-04-20 21:26:11 +00:00
|
|
|
71895B31CD710912A4752CB2 /* Pods */ = {
|
|
|
|
|
isa = PBXGroup;
|
|
|
|
|
children = (
|
|
|
|
|
);
|
|
|
|
|
path = Pods;
|
|
|
|
|
sourceTree = "<group>";
|
|
|
|
|
};
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CEC6236150C400B49FAE /* IGListKit */ = {
|
|
|
|
|
isa = PBXGroup;
|
|
|
|
|
children = (
|
|
|
|
|
7A02CF632361511700B49FAE /* Internal */,
|
|
|
|
|
7A02CECA2361510F00B49FAE /* IGListAdapter.h */,
|
|
|
|
|
7A02CEE82361511000B49FAE /* IGListAdapter.m */,
|
|
|
|
|
7A02CEDF2361511000B49FAE /* IGListAdapterDataSource.h */,
|
|
|
|
|
7A02CED22361511000B49FAE /* IGListAdapterDelegate.h */,
|
|
|
|
|
7A02CED52361511000B49FAE /* IGListAdapterMoveDelegate.h */,
|
|
|
|
|
7A02CEE42361511000B49FAE /* IGListAdapterPerformanceDelegate.h */,
|
|
|
|
|
7A02CED92361511000B49FAE /* IGListAdapterUpdateListener.h */,
|
|
|
|
|
7A02CEEB2361511100B49FAE /* IGListAdapterUpdater.h */,
|
|
|
|
|
7A02CEDE2361511000B49FAE /* IGListAdapterUpdater.m */,
|
|
|
|
|
7A02CEE22361511000B49FAE /* IGListAdapterUpdaterDelegate.h */,
|
|
|
|
|
7A02CECF2361510F00B49FAE /* IGListBatchContext.h */,
|
|
|
|
|
7A02CEDA2361511000B49FAE /* IGListBindable.h */,
|
|
|
|
|
7A02CEDC2361511000B49FAE /* IGListBindingSectionController.h */,
|
|
|
|
|
7A02CEEA2361511100B49FAE /* IGListBindingSectionController.m */,
|
|
|
|
|
7A02CED02361510F00B49FAE /* IGListBindingSectionControllerDataSource.h */,
|
|
|
|
|
7A02CEE92361511000B49FAE /* IGListBindingSectionControllerSelectionDelegate.h */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC76829EFBD0300DC3B9A /* IGListBindingSingleSectionController.h */,
|
|
|
|
|
F18CC76929EFBD0300DC3B9A /* IGListBindingSingleSectionController.m */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CED12361510F00B49FAE /* IGListCollectionContext.h */,
|
|
|
|
|
7A02CEE72361511000B49FAE /* IGListCollectionScrollingTraits.h */,
|
|
|
|
|
7A02CECD2361510F00B49FAE /* IGListCollectionView.h */,
|
|
|
|
|
7A02CEED2361511100B49FAE /* IGListCollectionView.m */,
|
|
|
|
|
7A02CECC2361510F00B49FAE /* IGListCollectionViewDelegateLayout.h */,
|
|
|
|
|
7A02CED42361511000B49FAE /* IGListCollectionViewLayout.h */,
|
|
|
|
|
7A02CEE02361511000B49FAE /* IGListCollectionViewLayout.mm */,
|
|
|
|
|
7A02CEE12361511000B49FAE /* IGListCollectionViewLayoutCompatible.h */,
|
|
|
|
|
7A02CECB2361510F00B49FAE /* IGListDisplayDelegate.h */,
|
|
|
|
|
7A02CECE2361510F00B49FAE /* IGListGenericSectionController.h */,
|
|
|
|
|
7A02CED32361511000B49FAE /* IGListGenericSectionController.m */,
|
|
|
|
|
7A02CED72361511000B49FAE /* IGListKit.h */,
|
|
|
|
|
7A02CEC72361510F00B49FAE /* IGListReloadDataUpdater.h */,
|
|
|
|
|
7A02CEDB2361511000B49FAE /* IGListReloadDataUpdater.m */,
|
|
|
|
|
7A02CEC82361510F00B49FAE /* IGListScrollDelegate.h */,
|
|
|
|
|
7A02CED62361511000B49FAE /* IGListSectionController.h */,
|
|
|
|
|
7A02CEEC2361511100B49FAE /* IGListSectionController.m */,
|
|
|
|
|
7A02CEE32361511000B49FAE /* IGListSingleSectionController.h */,
|
|
|
|
|
7A02CEE52361511000B49FAE /* IGListSingleSectionController.m */,
|
|
|
|
|
7A02CEE62361511000B49FAE /* IGListSupplementaryViewSource.h */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E692502AAB10055DC2F /* IGListTransitionData.h */,
|
|
|
|
|
57B22E662502AAB10055DC2F /* IGListTransitionData.m */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CED82361511000B49FAE /* IGListTransitionDelegate.h */,
|
|
|
|
|
7A02CEDD2361511000B49FAE /* IGListUpdatingDelegate.h */,
|
|
|
|
|
7A02CEC92361510F00B49FAE /* IGListWorkingRangeDelegate.h */,
|
|
|
|
|
);
|
|
|
|
|
path = IGListKit;
|
|
|
|
|
sourceTree = "<group>";
|
|
|
|
|
};
|
|
|
|
|
7A02CF632361511700B49FAE /* Internal */ = {
|
|
|
|
|
isa = PBXGroup;
|
|
|
|
|
children = (
|
|
|
|
|
7A02CF7F2361513500B49FAE /* IGListAdapter+DebugDescription.h */,
|
|
|
|
|
7A02CF652361513300B49FAE /* IGListAdapter+DebugDescription.m */,
|
|
|
|
|
7A02CF742361513400B49FAE /* IGListAdapter+UICollectionView.h */,
|
|
|
|
|
7A02CF852361513500B49FAE /* IGListAdapter+UICollectionView.m */,
|
|
|
|
|
7A02CF662361513400B49FAE /* IGListAdapterInternal.h */,
|
|
|
|
|
7A02CF7D2361513400B49FAE /* IGListAdapterProxy.h */,
|
|
|
|
|
7A02CF722361513400B49FAE /* IGListAdapterProxy.m */,
|
|
|
|
|
7A02CF7E2361513500B49FAE /* IGListAdapterUpdater+DebugDescription.h */,
|
|
|
|
|
7A02CF732361513400B49FAE /* IGListAdapterUpdater+DebugDescription.m */,
|
2019-12-17 21:05:00 +00:00
|
|
|
7AD6864A23A89E7F009000DE /* IGListAdapterUpdaterHelpers.h */,
|
|
|
|
|
7AD6864923A89E7F009000DE /* IGListAdapterUpdaterHelpers.m */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF702361513400B49FAE /* IGListAdapterUpdaterInternal.h */,
|
|
|
|
|
7A02CF812361513500B49FAE /* IGListArrayUtilsInternal.h */,
|
|
|
|
|
7A02CF8C2361513500B49FAE /* IGListBatchUpdateData+DebugDescription.h */,
|
|
|
|
|
7A02CF7C2361513400B49FAE /* IGListBatchUpdateData+DebugDescription.m */,
|
|
|
|
|
7A02CF782361513400B49FAE /* IGListBatchUpdateState.h */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E7B2502AAC40055DC2F /* IGListBatchUpdateTransaction.h */,
|
|
|
|
|
57B22E712502AAC20055DC2F /* IGListBatchUpdateTransaction.m */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF672361513400B49FAE /* IGListBindingSectionController+DebugDescription.h */,
|
|
|
|
|
7A02CF842361513500B49FAE /* IGListBindingSectionController+DebugDescription.m */,
|
|
|
|
|
7A02CF682361513400B49FAE /* IGListCollectionViewLayoutInternal.h */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E742502AAC30055DC2F /* IGListDataSourceChangeTransaction.h */,
|
|
|
|
|
57B22E792502AAC30055DC2F /* IGListDataSourceChangeTransaction.m */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF792361513400B49FAE /* IGListDebugger.h */,
|
|
|
|
|
7A02CF892361513500B49FAE /* IGListDebugger.m */,
|
|
|
|
|
7A02CF832361513500B49FAE /* IGListDebuggingUtilities.h */,
|
|
|
|
|
7A02CF8B2361513500B49FAE /* IGListDebuggingUtilities.m */,
|
|
|
|
|
7A02CF642361513300B49FAE /* IGListDisplayHandler.h */,
|
|
|
|
|
7A02CF802361513500B49FAE /* IGListDisplayHandler.m */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E7C2502AAC40055DC2F /* IGListItemUpdatesCollector.h */,
|
|
|
|
|
57B22E752502AAC30055DC2F /* IGListItemUpdatesCollector.m */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF882361513500B49FAE /* IGListReloadIndexPath.h */,
|
|
|
|
|
7A02CF6D2361513400B49FAE /* IGListReloadIndexPath.m */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E762502AAC30055DC2F /* IGListReloadTransaction.h */,
|
|
|
|
|
57B22E7E2502AAC40055DC2F /* IGListReloadTransaction.m */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF8A2361513500B49FAE /* IGListSectionControllerInternal.h */,
|
|
|
|
|
7A02CF712361513400B49FAE /* IGListSectionMap.h */,
|
|
|
|
|
7A02CF762361513400B49FAE /* IGListSectionMap.m */,
|
|
|
|
|
7A02CF862361513500B49FAE /* IGListSectionMap+DebugDescription.h */,
|
|
|
|
|
7A02CF8D2361513600B49FAE /* IGListSectionMap+DebugDescription.m */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E732502AAC30055DC2F /* IGListUpdateTransactable.h */,
|
|
|
|
|
57B22E7D2502AAC40055DC2F /* IGListUpdateTransactionBuilder.h */,
|
|
|
|
|
57B22E722502AAC30055DC2F /* IGListUpdateTransactionBuilder.m */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF8E2361513600B49FAE /* IGListWorkingRangeHandler.h */,
|
|
|
|
|
7A02CF872361513500B49FAE /* IGListWorkingRangeHandler.mm */,
|
|
|
|
|
7A02CF8F2361513600B49FAE /* UICollectionView+DebugDescription.h */,
|
|
|
|
|
7A02CF752361513400B49FAE /* UICollectionView+DebugDescription.m */,
|
|
|
|
|
7A02CF772361513400B49FAE /* UICollectionView+IGListBatchUpdateData.h */,
|
|
|
|
|
7A02CF6B2361513400B49FAE /* UICollectionView+IGListBatchUpdateData.m */,
|
|
|
|
|
7A02CF6C2361513400B49FAE /* UICollectionViewLayout+InteractiveReordering.h */,
|
|
|
|
|
7A02CF6E2361513400B49FAE /* UICollectionViewLayout+InteractiveReordering.m */,
|
|
|
|
|
7A02CF6A2361513400B49FAE /* UIScrollView+IGListKit.h */,
|
|
|
|
|
7A02CF6F2361513400B49FAE /* UIScrollView+IGListKit.m */,
|
|
|
|
|
);
|
|
|
|
|
path = Internal;
|
|
|
|
|
sourceTree = "<group>";
|
|
|
|
|
};
|
|
|
|
|
7A02D0252361522600B49FAE /* IGListDiffKit */ = {
|
|
|
|
|
isa = PBXGroup;
|
|
|
|
|
children = (
|
|
|
|
|
7A02D0492361529E00B49FAE /* Internal */,
|
|
|
|
|
7A02D0502361529E00B49FAE /* IGListAssert.h */,
|
|
|
|
|
7A02D0542361529E00B49FAE /* IGListBatchUpdateData.h */,
|
|
|
|
|
7A02D0572361529E00B49FAE /* IGListBatchUpdateData.mm */,
|
|
|
|
|
7A02D0472361529E00B49FAE /* IGListCompatibility.h */,
|
|
|
|
|
7A02D0402361529E00B49FAE /* IGListDiff.h */,
|
|
|
|
|
7A02D04F2361529E00B49FAE /* IGListDiff.mm */,
|
|
|
|
|
7A02D0562361529E00B49FAE /* IGListDiffable.h */,
|
|
|
|
|
7A02D0442361529E00B49FAE /* IGListDiffKit.h */,
|
|
|
|
|
7A02D0452361529E00B49FAE /* IGListExperiments.h */,
|
|
|
|
|
7A02D0432361529E00B49FAE /* IGListIndexPathResult.h */,
|
|
|
|
|
7A02D0512361529E00B49FAE /* IGListIndexPathResult.m */,
|
|
|
|
|
7A02D05A2361529F00B49FAE /* IGListIndexSetResult.h */,
|
|
|
|
|
7A02D0522361529E00B49FAE /* IGListIndexSetResult.m */,
|
|
|
|
|
7A02D0582361529E00B49FAE /* IGListMacros.h */,
|
|
|
|
|
7A02D0592361529E00B49FAE /* IGListMoveIndex.h */,
|
|
|
|
|
7A02D0532361529E00B49FAE /* IGListMoveIndex.m */,
|
|
|
|
|
7A02D04E2361529E00B49FAE /* IGListMoveIndexPath.h */,
|
|
|
|
|
7A02D0552361529E00B49FAE /* IGListMoveIndexPath.m */,
|
|
|
|
|
7A02D0482361529E00B49FAE /* NSNumber+IGListDiffable.h */,
|
|
|
|
|
7A02D0412361529E00B49FAE /* NSNumber+IGListDiffable.m */,
|
|
|
|
|
7A02D0422361529E00B49FAE /* NSString+IGListDiffable.h */,
|
|
|
|
|
7A02D0462361529E00B49FAE /* NSString+IGListDiffable.m */,
|
|
|
|
|
);
|
|
|
|
|
path = IGListDiffKit;
|
|
|
|
|
sourceTree = "<group>";
|
|
|
|
|
};
|
|
|
|
|
7A02D0492361529E00B49FAE /* Internal */ = {
|
|
|
|
|
isa = PBXGroup;
|
|
|
|
|
children = (
|
|
|
|
|
7A02D04A2361529E00B49FAE /* IGListIndexSetResultInternal.h */,
|
|
|
|
|
7A02D04B2361529E00B49FAE /* IGListIndexPathResultInternal.h */,
|
|
|
|
|
7A02D04C2361529E00B49FAE /* IGListMoveIndexInternal.h */,
|
|
|
|
|
7A02D04D2361529E00B49FAE /* IGListMoveIndexPathInternal.h */,
|
|
|
|
|
);
|
|
|
|
|
path = Internal;
|
|
|
|
|
sourceTree = "<group>";
|
|
|
|
|
};
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9823A8A42000E5A13D /* IGListSwiftKit */ = {
|
|
|
|
|
isa = PBXGroup;
|
|
|
|
|
children = (
|
|
|
|
|
7A92EA9923A8A42000E5A13D /* IGListSwiftKit.h */,
|
Improve SwiftPM support (#1546)
Summary:
This diff imports and refines the PR made by cntrump on GitHub.
The PR introduces the following:
* Sample apps now use SPM instead of CocoaPods to import IGListKit.
* Adds Mac Catalyst as an example target.
* Adds C++ flags to the CocoaPods specs.
* Fixes a script issue that was discovered when regenerating the symlinks.
The PR originally aimed to remove the need for symlinked references to the IGListKit and IGListDiffKit source files, but in testing, I couldn't get it working. It's possible SPM being too strict [on where the headers can be placed to be discovered](https://forums.swift.org/t/how-do-i-specify-the-headers-directory-for-a-objc-target-in-swift-package-managers-package-swift/58531/3).
Additionally, another issue was that the original PR changed all of the `#import` statements to the the modular `import` statements, which is fine for the sample apps, but ended up breaking compatibility for any apps that had modules disabled.
## Changes in this pull request
Improve SwiftPM support:
Build module `IGListDiffKit` and `IGListKit` as Objective-C++.
module `IGListDiffKit`:
- Source/IGListDiffKit
- module defined in `Source/IGListDiffKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListKit`:
- depend on `IGListDiffKit`, use `import IGListDiffKit;`
- Source/IGListKit
- module defined in `Source/IGListKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListSwiftKit`:
- depend on `IGListKit`, use `import IGListKit`
- Source/IGListSwiftKit
Deleted `spm/` and `scripts/generate_spm_sources_layout.sh`, it is unnecessary.
Updated `.podspec`, add `'OTHER_CFLAGS' => '-fmodules'` and `'OTHER_CPLUSPLUSFLAGS' => '-fcxx-modules'`.
Add missing swift files for `IGListSwiftKit` in `IGListKit.xcodeproj`
### How to use
Replace `#import <IGListDiffKit/IGListDiffKit.h>` with `import IGListDiffKit;`, because `IGListDiffKit.h` isn't exist in `modulemap/`, Or create a symbol link by `ln -sf ../IGListDiffKit.h` for support it ?
### Examples
Use SwiftPM for building examples.
### Checklist
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [ ] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1546
Test Plan: Test PR showing running tests: https://github.com/TimOliver/IGListKit/actions/runs/4339956050/jobs/7578047058
Reviewed By: lorixx
Differential Revision: D33592395
Pulled By: TimOliver
fbshipit-source-id: 8f7b1873f2b1c6a80908bb55b123e31bea13bb0c
2023-03-07 07:29:41 +00:00
|
|
|
BA4A65232760278F00FA5750 /* ListIdentifiable.swift */,
|
|
|
|
|
BA4A65222760278F00FA5750 /* ListValueSectionController.swift */,
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9F23A8A43D00E5A13D /* IGListCollectionContext+Refinements.swift */,
|
2021-01-26 15:32:41 +00:00
|
|
|
7AEA8E5C25BF715C00971591 /* IGListSingleSectionController+Refinements.swift */,
|
2019-12-19 16:11:46 +00:00
|
|
|
);
|
|
|
|
|
path = IGListSwiftKit;
|
|
|
|
|
sourceTree = "<group>";
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EF01D870EDC007C7F66 /* Objects */ = {
|
|
|
|
|
isa = PBXGroup;
|
|
|
|
|
children = (
|
2017-02-11 01:58:52 +00:00
|
|
|
298DDA261E3B166100F76F50 /* IGLayoutTestDataSource.h */,
|
|
|
|
|
298DDA271E3B166100F76F50 /* IGLayoutTestDataSource.m */,
|
|
|
|
|
298DDA281E3B166100F76F50 /* IGLayoutTestItem.h */,
|
|
|
|
|
298DDA291E3B166100F76F50 /* IGLayoutTestItem.m */,
|
|
|
|
|
298DDA2A1E3B166100F76F50 /* IGLayoutTestSection.h */,
|
|
|
|
|
298DDA2B1E3B166100F76F50 /* IGLayoutTestSection.m */,
|
2017-12-18 20:17:48 +00:00
|
|
|
294CDE611F995DD7002CF6E4 /* IGListAdapterUpdateTester.h */,
|
|
|
|
|
294CDE621F995DD7002CF6E4 /* IGListAdapterUpdateTester.m */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EF11D870EDC007C7F66 /* IGListTestAdapterDataSource.h */,
|
|
|
|
|
88144EF21D870EDC007C7F66 /* IGListTestAdapterDataSource.m */,
|
2016-11-22 14:38:27 +00:00
|
|
|
8285404E1DE40D2D00118B94 /* IGListTestAdapterHorizontalDataSource.h */,
|
|
|
|
|
8285404F1DE40D2D00118B94 /* IGListTestAdapterHorizontalDataSource.m */,
|
Interactive Reordering
Summary:
I had a desire for interactive reordering in a personal project, so here's a first attempt at adding support in IGListKit.
I figured I might as well get a WIP PR up for comments before I continue further as there are a few aspects to interactive reordering that don't interplay perfectly with IGListKit.
As discussed in #291, I went after two prime use cases:
1. Moving items amongst a section
2. Rearranging whole sections
I also "disabled" moving items between sections by having those moves revert, to mimic interactive reordering cancellation as closely as possible.
You can see both in the Mixed Data example. Grid items can be moved within a section, while users can be moved to reorder whole sections. But trying to move a grid item out of a grid or a user item into a grid will auto-revert. The revert animation isn't as tight as it should be. It may be more desirable to disable the animation - though you lose the visual cue.
There is a also a new example, `ReorderableViewController`, that demonstrates 2 in its pure form (likely the most desired use case), where all sections are reorderable single rows.
Happy to take feedback -- this is my first experience working on IGListKit, so I would expect there to be gaps. (Ex. I haven't used `IGListStackedSectionController`, and its tests failed as I hadn't implemented reordering delegates for it. Those are simply stubbed out for now.)
Issue fixed: #291
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
- [x] Proper support in `IGListStackedSectionController`
Closes https://github.com/Instagram/IGListKit/pull/976
Differential Revision: D6674493
Pulled By: rnystrom
fbshipit-source-id: cd53c5fdc6fb59636edc4747c4bbd0f81a4610e5
2018-02-12 17:09:26 +00:00
|
|
|
13DF01711FA0FD400092A320 /* IGListTestAdapterReorderingDataSource.h */,
|
|
|
|
|
13DF01721FA0FD400092A320 /* IGListTestAdapterReorderingDataSource.m */,
|
2016-11-01 17:56:06 +00:00
|
|
|
8240C7F91DC2F6CF00B3AAE7 /* IGListTestAdapterStoryboardDataSource.h */,
|
|
|
|
|
8240C7FA1DC2F6CF00B3AAE7 /* IGListTestAdapterStoryboardDataSource.m */,
|
2017-04-20 21:35:26 +00:00
|
|
|
82914C591E6E2DEC0066C2F8 /* IGListTestContainerSizeSection.h */,
|
|
|
|
|
82914C5A1E6E2DEC0066C2F8 /* IGListTestContainerSizeSection.m */,
|
2016-12-06 01:38:56 +00:00
|
|
|
8285404A1DE40C6E00118B94 /* IGListTestHorizontalSection.h */,
|
|
|
|
|
8285404B1DE40C6E00118B94 /* IGListTestHorizontalSection.m */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EF31D870EDC007C7F66 /* IGListTestOffsettingLayout.h */,
|
|
|
|
|
88144EF41D870EDC007C7F66 /* IGListTestOffsettingLayout.m */,
|
|
|
|
|
88144EF51D870EDC007C7F66 /* IGListTestSection.h */,
|
|
|
|
|
88144EF61D870EDC007C7F66 /* IGListTestSection.m */,
|
2016-11-01 17:56:06 +00:00
|
|
|
8240C7F61DC2F3FB00B3AAE7 /* IGListTestStoryboardSection.h */,
|
|
|
|
|
8240C7F71DC2F3FB00B3AAE7 /* IGListTestStoryboardSection.m */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EF71D870EDC007C7F66 /* IGListTestUICollectionViewDataSource.h */,
|
|
|
|
|
88144EF81D870EDC007C7F66 /* IGListTestUICollectionViewDataSource.m */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC76229EFBBE200DC3B9A /* IGTestBindingSingleItemDataSource.h */,
|
|
|
|
|
F18CC76129EFBBE200DC3B9A /* IGTestBindingSingleItemDataSource.m */,
|
2017-12-18 20:17:48 +00:00
|
|
|
2995409A1F588C8D00F647CF /* IGTestBindingWithoutDeselectionDelegate.h */,
|
|
|
|
|
2995409B1F588C8D00F647CF /* IGTestBindingWithoutDeselectionDelegate.m */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EF91D870EDC007C7F66 /* IGTestCell.h */,
|
|
|
|
|
88144EFA1D870EDC007C7F66 /* IGTestCell.m */,
|
|
|
|
|
88144EFB1D870EDC007C7F66 /* IGTestDelegateController.h */,
|
|
|
|
|
88144EFC1D870EDC007C7F66 /* IGTestDelegateController.m */,
|
|
|
|
|
88144EFD1D870EDC007C7F66 /* IGTestDelegateDataSource.h */,
|
|
|
|
|
88144EFE1D870EDC007C7F66 /* IGTestDelegateDataSource.m */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DDA0B1E3AE3ED00F76F50 /* IGTestDiffingDataSource.h */,
|
|
|
|
|
298DDA0C1E3AE3ED00F76F50 /* IGTestDiffingDataSource.m */,
|
|
|
|
|
298DD9F81E3AE1AA00F76F50 /* IGTestDiffingObject.h */,
|
|
|
|
|
298DD9F91E3AE1AA00F76F50 /* IGTestDiffingObject.m */,
|
|
|
|
|
298DD9D01E3ADDB400F76F50 /* IGTestDiffingSectionController.h */,
|
|
|
|
|
298DD9D11E3ADDB400F76F50 /* IGTestDiffingSectionController.m */,
|
2019-06-12 05:25:14 +00:00
|
|
|
16B71CE522B0A08300FE96ED /* IGTestInvalidateLayoutDataSource.h */,
|
|
|
|
|
16B71CE822B0A08300FE96ED /* IGTestInvalidateLayoutDataSource.m */,
|
|
|
|
|
16B71CE922B0A08300FE96ED /* IGTestInvalidateLayoutObject.h */,
|
|
|
|
|
16B71CEA22B0A08300FE96ED /* IGTestInvalidateLayoutObject.m */,
|
|
|
|
|
16B71CE622B0A08300FE96ED /* IGTestInvalidateLayoutSectionController.h */,
|
|
|
|
|
16B71CE722B0A08300FE96ED /* IGTestInvalidateLayoutSectionController.m */,
|
2016-11-05 23:27:32 +00:00
|
|
|
2904861E1DCD02750007F41D /* IGTestNibSupplementaryView.h */,
|
|
|
|
|
2904861F1DCD02750007F41D /* IGTestNibSupplementaryView.m */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DD9E01E3ADE4300F76F50 /* IGTestNumberBindableCell.h */,
|
|
|
|
|
298DD9E11E3ADE4300F76F50 /* IGTestNumberBindableCell.m */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EFF1D870EDC007C7F66 /* IGTestObject.h */,
|
|
|
|
|
88144F001D870EDC007C7F66 /* IGTestObject.m */,
|
Interactive Reordering
Summary:
I had a desire for interactive reordering in a personal project, so here's a first attempt at adding support in IGListKit.
I figured I might as well get a WIP PR up for comments before I continue further as there are a few aspects to interactive reordering that don't interplay perfectly with IGListKit.
As discussed in #291, I went after two prime use cases:
1. Moving items amongst a section
2. Rearranging whole sections
I also "disabled" moving items between sections by having those moves revert, to mimic interactive reordering cancellation as closely as possible.
You can see both in the Mixed Data example. Grid items can be moved within a section, while users can be moved to reorder whole sections. But trying to move a grid item out of a grid or a user item into a grid will auto-revert. The revert animation isn't as tight as it should be. It may be more desirable to disable the animation - though you lose the visual cue.
There is a also a new example, `ReorderableViewController`, that demonstrates 2 in its pure form (likely the most desired use case), where all sections are reorderable single rows.
Happy to take feedback -- this is my first experience working on IGListKit, so I would expect there to be gaps. (Ex. I haven't used `IGListStackedSectionController`, and its tests failed as I hadn't implemented reordering delegates for it. Those are simply stubbed out for now.)
Issue fixed: #291
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
- [x] Proper support in `IGListStackedSectionController`
Closes https://github.com/Instagram/IGListKit/pull/976
Differential Revision: D6674493
Pulled By: rnystrom
fbshipit-source-id: cd53c5fdc6fb59636edc4747c4bbd0f81a4610e5
2018-02-12 17:09:26 +00:00
|
|
|
13DF01751FA1000E0092A320 /* IGTestReorderableSection.h */,
|
|
|
|
|
13DF01761FA1000E0092A320 /* IGTestReorderableSection.m */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F011D870EDC007C7F66 /* IGTestSingleItemDataSource.h */,
|
|
|
|
|
88144F021D870EDC007C7F66 /* IGTestSingleItemDataSource.m */,
|
2016-10-15 01:46:16 +00:00
|
|
|
26271C881DAE94E40073E116 /* IGTestSingleNibItemDataSource.h */,
|
|
|
|
|
26271C891DAE94E40073E116 /* IGTestSingleNibItemDataSource.m */,
|
2016-10-25 22:17:45 +00:00
|
|
|
821BC4D11DB9816E00172ED0 /* IGTestSingleStoryboardItemDataSource.h */,
|
|
|
|
|
821BC4D21DB981AB00172ED0 /* IGTestSingleStoryboardItemDataSource.m */,
|
2017-12-18 20:17:48 +00:00
|
|
|
6A9EB35F1F841E5D0070C572 /* IGTestSingleWithoutDeselectionDelegate.h */,
|
|
|
|
|
6A9EB3601F841E5D0070C572 /* IGTestSingleWithoutDeselectionDelegate.m */,
|
2016-10-29 21:39:18 +00:00
|
|
|
821BC4CC1DB8D8C500172ED0 /* IGTestStoryboardCell.h */,
|
|
|
|
|
821BC4CD1DB8D8C500172ED0 /* IGTestStoryboardCell.m */,
|
2016-11-01 17:56:06 +00:00
|
|
|
8240C7F31DC2D99300B3AAE7 /* IGTestStoryboardSupplementarySource.h */,
|
|
|
|
|
8240C7F41DC2D99300B3AAE7 /* IGTestStoryboardSupplementarySource.m */,
|
|
|
|
|
8240C7EE1DC272CA00B3AAE7 /* IGTestStoryboardSupplementaryView.h */,
|
|
|
|
|
8240C7EF1DC272CA00B3AAE7 /* IGTestStoryboardSupplementaryView.m */,
|
2016-11-05 23:27:32 +00:00
|
|
|
821BC4C71DB8D5B200172ED0 /* IGTestStoryboardViewController.h */,
|
|
|
|
|
821BC4C81DB8D5B200172ED0 /* IGTestStoryboardViewController.m */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DD9D81E3ADE3300F76F50 /* IGTestStringBindableCell.h */,
|
|
|
|
|
298DD9D91E3ADE3300F76F50 /* IGTestStringBindableCell.m */,
|
2016-11-05 23:27:32 +00:00
|
|
|
88144F051D870EDC007C7F66 /* IGTestSupplementarySource.h */,
|
|
|
|
|
88144F061D870EDC007C7F66 /* IGTestSupplementarySource.m */,
|
2016-09-07 22:37:59 +00:00
|
|
|
);
|
|
|
|
|
path = Objects;
|
|
|
|
|
sourceTree = "<group>";
|
|
|
|
|
};
|
|
|
|
|
887D0B2C1D870D7E009E01F7 = {
|
|
|
|
|
isa = PBXGroup;
|
|
|
|
|
children = (
|
2017-12-15 17:19:29 +00:00
|
|
|
887D0B371D870D7E009E01F7 /* Products */,
|
2016-12-20 05:01:33 +00:00
|
|
|
0B3B927E1E08D7F5008390ED /* Source */,
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B551D870E1E009E01F7 /* Tests */,
|
2023-04-20 21:26:11 +00:00
|
|
|
71895B31CD710912A4752CB2 /* Pods */,
|
2016-09-07 22:37:59 +00:00
|
|
|
);
|
|
|
|
|
sourceTree = "<group>";
|
2017-02-21 15:04:47 +00:00
|
|
|
usesTabs = 0;
|
2016-09-07 22:37:59 +00:00
|
|
|
};
|
|
|
|
|
887D0B371D870D7E009E01F7 /* Products */ = {
|
|
|
|
|
isa = PBXGroup;
|
|
|
|
|
children = (
|
|
|
|
|
887D0B361D870D7E009E01F7 /* IGListKit.framework */,
|
|
|
|
|
887D0B3F1D870D7F009E01F7 /* IGListKitTests.xctest */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1D41DC51A0D009CE2B4 /* IGListKit.framework */,
|
|
|
|
|
885FE1DC1DC51A0D009CE2B4 /* IGListKit-tvOSTests.xctest */,
|
2016-12-14 04:31:41 +00:00
|
|
|
DD3152AC1DE227FA00AC9D2C /* IGListKit.framework */,
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF897C1E010E6A00B1B9B4 /* IGListKit-macOSTests.xctest */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D01D2361520200B49FAE /* IGListDiffKit.framework */,
|
|
|
|
|
7A02D02B2361525800B49FAE /* IGListDiffKit.framework */,
|
|
|
|
|
7A02D0382361526600B49FAE /* IGListDiffKit.framework */,
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9723A8A42000E5A13D /* IGListSwiftKit.framework */,
|
|
|
|
|
7A92EAA823A8A50100E5A13D /* IGListSwiftKit.framework */,
|
2016-09-07 22:37:59 +00:00
|
|
|
);
|
|
|
|
|
name = Products;
|
|
|
|
|
sourceTree = "<group>";
|
|
|
|
|
};
|
|
|
|
|
887D0B551D870E1E009E01F7 /* Tests */ = {
|
|
|
|
|
isa = PBXGroup;
|
|
|
|
|
children = (
|
2016-10-15 01:46:16 +00:00
|
|
|
294369AF1DB1B7AE0025F6E7 /* Assets */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EE21D870EDC007C7F66 /* IGListAdapterE2ETests.m */,
|
2016-11-18 19:09:26 +00:00
|
|
|
29C4748A1DDF45E700AE68CE /* IGListAdapterProxyTests.m */,
|
2016-11-01 17:56:06 +00:00
|
|
|
8240C7F11DC284C300B3AAE7 /* IGListAdapterStoryboardTests.m */,
|
2016-11-18 02:48:07 +00:00
|
|
|
88144EE31D870EDC007C7F66 /* IGListAdapterTests.m */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EE41D870EDC007C7F66 /* IGListAdapterUpdaterTests.m */,
|
|
|
|
|
88144EE51D870EDC007C7F66 /* IGListBatchUpdateDataTests.m */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DD9CD1E3ADD1400F76F50 /* IGListBindingSectionControllerTests.m */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC75E29EFBBB300DC3B9A /* IGListBindingSingleSectionControllerTests.m */,
|
2018-05-14 21:46:43 +00:00
|
|
|
E56B7B3320A9D7100071010C /* IGListCollectionScrollingTraitsTests.m */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68B129E9B3B9003744F8 /* IGListSingleSectionControllerTests.m */,
|
2017-02-11 01:58:52 +00:00
|
|
|
298DDA231E3B15EE00F76F50 /* IGListCollectionViewLayoutTests.m */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC75B29EFBB9400DC3B9A /* IGListCollectionViewTests.m */,
|
2018-02-02 21:14:16 +00:00
|
|
|
E8D312DF1FC472A60009FA2F /* IGListContentInsetTests.m */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68AF29E9B3B9003744F8 /* IGListDebugDescriptionTests.m */,
|
2017-04-21 23:34:49 +00:00
|
|
|
290DF3761E9323E6009FE456 /* IGListDebuggerTests.m */,
|
2023-03-22 02:12:01 +00:00
|
|
|
F1855A4B29BC565600558D18 /* IGListDiffDescriptionStringTests.m */,
|
2016-11-18 02:48:07 +00:00
|
|
|
294AC6311DDE4C19002FCE5D /* IGListDiffResultTests.m */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EE61D870EDC007C7F66 /* IGListDiffSwiftTests.swift */,
|
|
|
|
|
88144EE81D870EDC007C7F66 /* IGListDiffTests.m */,
|
|
|
|
|
88144EE91D870EDC007C7F66 /* IGListDisplayHandlerTests.m */,
|
2017-04-19 19:42:31 +00:00
|
|
|
29DA5CA21EA7C72400113926 /* IGListGenericSectionControllerTests.m */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68AE29E9B3B9003744F8 /* IGListInteractiveMovingTests.m */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EEB1D870EDC007C7F66 /* IGListKitTests-Bridging-Header.h */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC76529EFBC3800DC3B9A /* IGListReloadDataUpdaterTests.m */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1E6302229EA43080060B4D6 /* IGListSectionControllerTests.m */,
|
2016-11-18 02:48:07 +00:00
|
|
|
829D7BA81DD1816400549816 /* IGListSectionMapTests.m */,
|
2016-10-15 01:46:16 +00:00
|
|
|
26271C8B1DAE96740073E116 /* IGListSingleNibItemControllerTests.m */,
|
2016-10-29 21:39:18 +00:00
|
|
|
88144EED1D870EDC007C7F66 /* IGListSingleSectionControllerTests.m */,
|
2016-10-25 22:17:45 +00:00
|
|
|
821BC4BE1DB8C95300172ED0 /* IGListSingleStoryboardItemControllerTests.m */,
|
2017-04-20 21:35:26 +00:00
|
|
|
29DA5CA91EA7D39B00113926 /* IGListTestCase.h */,
|
|
|
|
|
29DA5CA61EA7D37000113926 /* IGListTestCase.m */,
|
|
|
|
|
29DA5CAA1EA7D3FF00113926 /* IGListTestHelpers.h */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68B029E9B3B9003744F8 /* IGListTransactionTests.m */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144EEF1D870EDC007C7F66 /* IGListWorkingRangeHandlerTests.m */,
|
|
|
|
|
887D0B571D870E1E009E01F7 /* Info.plist */,
|
|
|
|
|
88144EF01D870EDC007C7F66 /* Objects */,
|
|
|
|
|
);
|
|
|
|
|
path = Tests;
|
|
|
|
|
sourceTree = "<group>";
|
|
|
|
|
};
|
|
|
|
|
/* End PBXGroup section */
|
|
|
|
|
|
|
|
|
|
/* Begin PBXHeadersBuildPhase section */
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0182361520200B49FAE /* Headers */ = {
|
|
|
|
|
isa = PBXHeadersBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
7A02D0A32361529F00B49FAE /* IGListMoveIndex.h in Headers */,
|
|
|
|
|
7A02D0762361529F00B49FAE /* IGListIndexSetResultInternal.h in Headers */,
|
|
|
|
|
7A02D07C2361529F00B49FAE /* IGListMoveIndexInternal.h in Headers */,
|
|
|
|
|
7A02D09A2361529F00B49FAE /* IGListDiffable.h in Headers */,
|
|
|
|
|
7A02D0732361529F00B49FAE /* NSNumber+IGListDiffable.h in Headers */,
|
|
|
|
|
7A02D05B2361529F00B49FAE /* IGListDiff.h in Headers */,
|
|
|
|
|
7A02D0A02361529F00B49FAE /* IGListMacros.h in Headers */,
|
|
|
|
|
7A02D0642361529F00B49FAE /* IGListIndexPathResult.h in Headers */,
|
|
|
|
|
7A02D0792361529F00B49FAE /* IGListIndexPathResultInternal.h in Headers */,
|
|
|
|
|
7A02D06A2361529F00B49FAE /* IGListExperiments.h in Headers */,
|
|
|
|
|
7A02D0822361529F00B49FAE /* IGListMoveIndexPath.h in Headers */,
|
|
|
|
|
7A02D0942361529F00B49FAE /* IGListBatchUpdateData.h in Headers */,
|
|
|
|
|
7A02D07F2361529F00B49FAE /* IGListMoveIndexPathInternal.h in Headers */,
|
|
|
|
|
7A02D0702361529F00B49FAE /* IGListCompatibility.h in Headers */,
|
|
|
|
|
7A02D0882361529F00B49FAE /* IGListAssert.h in Headers */,
|
|
|
|
|
7A02D0A62361529F00B49FAE /* IGListIndexSetResult.h in Headers */,
|
|
|
|
|
7A02D0672361529F00B49FAE /* IGListDiffKit.h in Headers */,
|
|
|
|
|
7A02D0612361529F00B49FAE /* NSString+IGListDiffable.h in Headers */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
7A02D0262361525800B49FAE /* Headers */ = {
|
|
|
|
|
isa = PBXHeadersBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
7A02D0682361529F00B49FAE /* IGListDiffKit.h in Headers */,
|
|
|
|
|
7A02D06B2361529F00B49FAE /* IGListExperiments.h in Headers */,
|
|
|
|
|
7A02D0622361529F00B49FAE /* NSString+IGListDiffable.h in Headers */,
|
|
|
|
|
7A02D0952361529F00B49FAE /* IGListBatchUpdateData.h in Headers */,
|
|
|
|
|
7A02D0A12361529F00B49FAE /* IGListMacros.h in Headers */,
|
|
|
|
|
7A02D0772361529F00B49FAE /* IGListIndexSetResultInternal.h in Headers */,
|
|
|
|
|
7A02D0802361529F00B49FAE /* IGListMoveIndexPathInternal.h in Headers */,
|
|
|
|
|
7A02D07A2361529F00B49FAE /* IGListIndexPathResultInternal.h in Headers */,
|
|
|
|
|
7A02D0652361529F00B49FAE /* IGListIndexPathResult.h in Headers */,
|
|
|
|
|
7A02D0712361529F00B49FAE /* IGListCompatibility.h in Headers */,
|
|
|
|
|
7A02D0A42361529F00B49FAE /* IGListMoveIndex.h in Headers */,
|
|
|
|
|
7A02D0742361529F00B49FAE /* NSNumber+IGListDiffable.h in Headers */,
|
|
|
|
|
7A02D0832361529F00B49FAE /* IGListMoveIndexPath.h in Headers */,
|
|
|
|
|
7A02D05C2361529F00B49FAE /* IGListDiff.h in Headers */,
|
|
|
|
|
7A02D0892361529F00B49FAE /* IGListAssert.h in Headers */,
|
|
|
|
|
7A02D07D2361529F00B49FAE /* IGListMoveIndexInternal.h in Headers */,
|
|
|
|
|
7A02D09B2361529F00B49FAE /* IGListDiffable.h in Headers */,
|
|
|
|
|
7A02D0A72361529F00B49FAE /* IGListIndexSetResult.h in Headers */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
7A02D0332361526600B49FAE /* Headers */ = {
|
|
|
|
|
isa = PBXHeadersBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
7A02D0692361529F00B49FAE /* IGListDiffKit.h in Headers */,
|
|
|
|
|
7A02D06C2361529F00B49FAE /* IGListExperiments.h in Headers */,
|
|
|
|
|
7A02D0632361529F00B49FAE /* NSString+IGListDiffable.h in Headers */,
|
|
|
|
|
7A02D0962361529F00B49FAE /* IGListBatchUpdateData.h in Headers */,
|
|
|
|
|
7A02D0A22361529F00B49FAE /* IGListMacros.h in Headers */,
|
|
|
|
|
7A02D0782361529F00B49FAE /* IGListIndexSetResultInternal.h in Headers */,
|
|
|
|
|
7A02D0812361529F00B49FAE /* IGListMoveIndexPathInternal.h in Headers */,
|
|
|
|
|
7A02D07B2361529F00B49FAE /* IGListIndexPathResultInternal.h in Headers */,
|
|
|
|
|
7A02D0662361529F00B49FAE /* IGListIndexPathResult.h in Headers */,
|
|
|
|
|
7A02D0722361529F00B49FAE /* IGListCompatibility.h in Headers */,
|
|
|
|
|
7A02D0A52361529F00B49FAE /* IGListMoveIndex.h in Headers */,
|
|
|
|
|
7A02D0752361529F00B49FAE /* NSNumber+IGListDiffable.h in Headers */,
|
|
|
|
|
7A02D0842361529F00B49FAE /* IGListMoveIndexPath.h in Headers */,
|
|
|
|
|
7A02D05D2361529F00B49FAE /* IGListDiff.h in Headers */,
|
|
|
|
|
7A02D08A2361529F00B49FAE /* IGListAssert.h in Headers */,
|
|
|
|
|
7A02D07E2361529F00B49FAE /* IGListMoveIndexInternal.h in Headers */,
|
|
|
|
|
7A02D09C2361529F00B49FAE /* IGListDiffable.h in Headers */,
|
|
|
|
|
7A02D0A82361529F00B49FAE /* IGListIndexSetResult.h in Headers */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9223A8A42000E5A13D /* Headers */ = {
|
|
|
|
|
isa = PBXHeadersBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
7A92EA9B23A8A42000E5A13D /* IGListSwiftKit.h in Headers */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
7A92EAA323A8A50100E5A13D /* Headers */ = {
|
|
|
|
|
isa = PBXHeadersBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
7A92EAB023A8A50C00E5A13D /* IGListSwiftKit.h in Headers */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1D11DC51A0D009CE2B4 /* Headers */ = {
|
|
|
|
|
isa = PBXHeadersBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF102361511100B49FAE /* IGListAdapterDelegate.h in Headers */,
|
|
|
|
|
7A02CFB52361513600B49FAE /* IGListAdapterUpdaterInternal.h in Headers */,
|
|
|
|
|
7A02CF222361511100B49FAE /* IGListTransitionDelegate.h in Headers */,
|
|
|
|
|
7A02CEEF2361511100B49FAE /* IGListReloadDataUpdater.h in Headers */,
|
|
|
|
|
7A02CFB82361513600B49FAE /* IGListSectionMap.h in Headers */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC76B29EFBD0300DC3B9A /* IGListBindingSingleSectionController.h in Headers */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF432361511100B49FAE /* IGListSingleSectionController.h in Headers */,
|
|
|
|
|
7A02CF1F2361511100B49FAE /* IGListKit.h in Headers */,
|
|
|
|
|
7A02CFE22361513600B49FAE /* IGListAdapter+DebugDescription.h in Headers */,
|
|
|
|
|
7A02CF4F2361511100B49FAE /* IGListCollectionScrollingTraits.h in Headers */,
|
|
|
|
|
7A02CF192361511100B49FAE /* IGListAdapterMoveDelegate.h in Headers */,
|
|
|
|
|
7A02CF972361513600B49FAE /* IGListAdapterInternal.h in Headers */,
|
|
|
|
|
7A02CFD02361513600B49FAE /* IGListDebugger.h in Headers */,
|
|
|
|
|
7A02CF2E2361511100B49FAE /* IGListBindingSectionController.h in Headers */,
|
|
|
|
|
7A02CF3D2361511100B49FAE /* IGListCollectionViewLayoutCompatible.h in Headers */,
|
|
|
|
|
7A02CF402361511100B49FAE /* IGListAdapterUpdaterDelegate.h in Headers */,
|
|
|
|
|
7A02CEFE2361511100B49FAE /* IGListCollectionViewDelegateLayout.h in Headers */,
|
|
|
|
|
7A02CF5B2361511100B49FAE /* IGListAdapterUpdater.h in Headers */,
|
|
|
|
|
7A02CF252361511100B49FAE /* IGListAdapterUpdateListener.h in Headers */,
|
|
|
|
|
7A02D00F2361513600B49FAE /* IGListWorkingRangeHandler.h in Headers */,
|
|
|
|
|
7A02CFA32361513600B49FAE /* UIScrollView+IGListKit.h in Headers */,
|
|
|
|
|
7A02CEF52361511100B49FAE /* IGListWorkingRangeDelegate.h in Headers */,
|
|
|
|
|
7A02CEF82361511100B49FAE /* IGListAdapter.h in Headers */,
|
|
|
|
|
7A02CFDF2361513600B49FAE /* IGListAdapterUpdater+DebugDescription.h in Headers */,
|
|
|
|
|
7A02CF042361511100B49FAE /* IGListGenericSectionController.h in Headers */,
|
|
|
|
|
7A02CFFD2361513600B49FAE /* IGListReloadIndexPath.h in Headers */,
|
|
|
|
|
7A02CEFB2361511100B49FAE /* IGListDisplayDelegate.h in Headers */,
|
|
|
|
|
7A02CF4C2361511100B49FAE /* IGListSupplementaryViewSource.h in Headers */,
|
|
|
|
|
7A02CFA92361513600B49FAE /* UICollectionViewLayout+InteractiveReordering.h in Headers */,
|
Improve SwiftPM support (#1546)
Summary:
This diff imports and refines the PR made by cntrump on GitHub.
The PR introduces the following:
* Sample apps now use SPM instead of CocoaPods to import IGListKit.
* Adds Mac Catalyst as an example target.
* Adds C++ flags to the CocoaPods specs.
* Fixes a script issue that was discovered when regenerating the symlinks.
The PR originally aimed to remove the need for symlinked references to the IGListKit and IGListDiffKit source files, but in testing, I couldn't get it working. It's possible SPM being too strict [on where the headers can be placed to be discovered](https://forums.swift.org/t/how-do-i-specify-the-headers-directory-for-a-objc-target-in-swift-package-managers-package-swift/58531/3).
Additionally, another issue was that the original PR changed all of the `#import` statements to the the modular `import` statements, which is fine for the sample apps, but ended up breaking compatibility for any apps that had modules disabled.
## Changes in this pull request
Improve SwiftPM support:
Build module `IGListDiffKit` and `IGListKit` as Objective-C++.
module `IGListDiffKit`:
- Source/IGListDiffKit
- module defined in `Source/IGListDiffKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListKit`:
- depend on `IGListDiffKit`, use `import IGListDiffKit;`
- Source/IGListKit
- module defined in `Source/IGListKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListSwiftKit`:
- depend on `IGListKit`, use `import IGListKit`
- Source/IGListSwiftKit
Deleted `spm/` and `scripts/generate_spm_sources_layout.sh`, it is unnecessary.
Updated `.podspec`, add `'OTHER_CFLAGS' => '-fmodules'` and `'OTHER_CPLUSPLUSFLAGS' => '-fcxx-modules'`.
Add missing swift files for `IGListSwiftKit` in `IGListKit.xcodeproj`
### How to use
Replace `#import <IGListDiffKit/IGListDiffKit.h>` with `import IGListDiffKit;`, because `IGListDiffKit.h` isn't exist in `modulemap/`, Or create a symbol link by `ln -sf ../IGListDiffKit.h` for support it ?
### Examples
Use SwiftPM for building examples.
### Checklist
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [ ] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1546
Test Plan: Test PR showing running tests: https://github.com/TimOliver/IGListKit/actions/runs/4339956050/jobs/7578047058
Reviewed By: lorixx
Differential Revision: D33592395
Pulled By: TimOliver
fbshipit-source-id: 8f7b1873f2b1c6a80908bb55b123e31bea13bb0c
2023-03-07 07:29:41 +00:00
|
|
|
E03DEA83255C9AAC00ACCAFC /* IGListTransitionData.h in Headers */,
|
2021-09-01 02:22:18 +00:00
|
|
|
0A89290026CDA632003FABD8 /* IGListBatchUpdateTransaction.h in Headers */,
|
|
|
|
|
0A8928FB26CDA591003FABD8 /* IGListReloadTransaction.h in Headers */,
|
|
|
|
|
0A8928FA26CDA53B003FABD8 /* IGListUpdateTransactionBuilder.h in Headers */,
|
|
|
|
|
0A8928FE26CDA5EA003FABD8 /* IGListDataSourceChangeTransaction.h in Headers */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF462361511100B49FAE /* IGListAdapterPerformanceDelegate.h in Headers */,
|
|
|
|
|
7A02CF0A2361511100B49FAE /* IGListBindingSectionControllerDataSource.h in Headers */,
|
|
|
|
|
7A02D0122361513600B49FAE /* UICollectionView+DebugDescription.h in Headers */,
|
2021-09-01 02:22:18 +00:00
|
|
|
0A89290126CDA666003FABD8 /* IGListItemUpdatesCollector.h in Headers */,
|
2019-12-17 21:05:00 +00:00
|
|
|
7A92EAB423A8A5FA00E5A13D /* IGListAdapterUpdaterHelpers.h in Headers */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF0D2361511100B49FAE /* IGListCollectionContext.h in Headers */,
|
|
|
|
|
7A02CF372361511100B49FAE /* IGListAdapterDataSource.h in Headers */,
|
|
|
|
|
7A02CFC12361513600B49FAE /* IGListAdapter+UICollectionView.h in Headers */,
|
|
|
|
|
7A02CFDC2361513600B49FAE /* IGListAdapterProxy.h in Headers */,
|
|
|
|
|
7A02CFCD2361513600B49FAE /* IGListBatchUpdateState.h in Headers */,
|
|
|
|
|
7A02CEF22361511100B49FAE /* IGListScrollDelegate.h in Headers */,
|
|
|
|
|
7A02CF9A2361513600B49FAE /* IGListBindingSectionController+DebugDescription.h in Headers */,
|
|
|
|
|
7A02CF9D2361513600B49FAE /* IGListCollectionViewLayoutInternal.h in Headers */,
|
|
|
|
|
7A02CFCA2361513600B49FAE /* UICollectionView+IGListBatchUpdateData.h in Headers */,
|
|
|
|
|
7A02D0092361513600B49FAE /* IGListBatchUpdateData+DebugDescription.h in Headers */,
|
|
|
|
|
7A02CFEE2361513600B49FAE /* IGListDebuggingUtilities.h in Headers */,
|
|
|
|
|
7A02D0032361513600B49FAE /* IGListSectionControllerInternal.h in Headers */,
|
|
|
|
|
7A02CF162361511100B49FAE /* IGListCollectionViewLayout.h in Headers */,
|
|
|
|
|
7A02CF072361511100B49FAE /* IGListBatchContext.h in Headers */,
|
|
|
|
|
7A02CF312361511100B49FAE /* IGListUpdatingDelegate.h in Headers */,
|
|
|
|
|
7A02CFE82361513600B49FAE /* IGListArrayUtilsInternal.h in Headers */,
|
|
|
|
|
7A02CFF72361513600B49FAE /* IGListSectionMap+DebugDescription.h in Headers */,
|
|
|
|
|
7A02CF552361511100B49FAE /* IGListBindingSectionControllerSelectionDelegate.h in Headers */,
|
|
|
|
|
7A02CF282361511100B49FAE /* IGListBindable.h in Headers */,
|
|
|
|
|
7A02CF1C2361511100B49FAE /* IGListSectionController.h in Headers */,
|
|
|
|
|
7A02CF912361513600B49FAE /* IGListDisplayHandler.h in Headers */,
|
|
|
|
|
7A02CF012361511100B49FAE /* IGListCollectionView.h in Headers */,
|
2016-10-29 21:39:18 +00:00
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B331D870D7E009E01F7 /* Headers */ = {
|
|
|
|
|
isa = PBXHeadersBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CEEE2361511100B49FAE /* IGListReloadDataUpdater.h in Headers */,
|
|
|
|
|
7A02CF212361511100B49FAE /* IGListTransitionDelegate.h in Headers */,
|
|
|
|
|
7A02CF362361511100B49FAE /* IGListAdapterDataSource.h in Headers */,
|
|
|
|
|
7A02CF962361513600B49FAE /* IGListAdapterInternal.h in Headers */,
|
|
|
|
|
7A02CF062361511100B49FAE /* IGListBatchContext.h in Headers */,
|
|
|
|
|
7A02D0112361513600B49FAE /* UICollectionView+DebugDescription.h in Headers */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E8A2502AAC40055DC2F /* IGListItemUpdatesCollector.h in Headers */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CFB72361513600B49FAE /* IGListSectionMap.h in Headers */,
|
|
|
|
|
7A02CF3C2361511100B49FAE /* IGListCollectionViewLayoutCompatible.h in Headers */,
|
|
|
|
|
7A02CFC02361513600B49FAE /* IGListAdapter+UICollectionView.h in Headers */,
|
|
|
|
|
7A02CF4B2361511100B49FAE /* IGListSupplementaryViewSource.h in Headers */,
|
|
|
|
|
7A02CEF72361511100B49FAE /* IGListAdapter.h in Headers */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E842502AAC40055DC2F /* IGListReloadTransaction.h in Headers */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF182361511100B49FAE /* IGListAdapterMoveDelegate.h in Headers */,
|
|
|
|
|
7A02CF1E2361511100B49FAE /* IGListKit.h in Headers */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E8B2502AAC40055DC2F /* IGListUpdateTransactionBuilder.h in Headers */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CFDB2361513600B49FAE /* IGListAdapterProxy.h in Headers */,
|
|
|
|
|
7A02CF902361513600B49FAE /* IGListDisplayHandler.h in Headers */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E892502AAC40055DC2F /* IGListBatchUpdateTransaction.h in Headers */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF0C2361511100B49FAE /* IGListCollectionContext.h in Headers */,
|
|
|
|
|
7A02CF0F2361511100B49FAE /* IGListAdapterDelegate.h in Headers */,
|
|
|
|
|
7A02CFB42361513600B49FAE /* IGListAdapterUpdaterInternal.h in Headers */,
|
|
|
|
|
7A02CFE72361513600B49FAE /* IGListArrayUtilsInternal.h in Headers */,
|
|
|
|
|
7A02CF2D2361511100B49FAE /* IGListBindingSectionController.h in Headers */,
|
|
|
|
|
7A02D00E2361513600B49FAE /* IGListWorkingRangeHandler.h in Headers */,
|
|
|
|
|
7A02CF992361513600B49FAE /* IGListBindingSectionController+DebugDescription.h in Headers */,
|
|
|
|
|
7A02CF4E2361511100B49FAE /* IGListCollectionScrollingTraits.h in Headers */,
|
|
|
|
|
7A02CFA22361513600B49FAE /* UIScrollView+IGListKit.h in Headers */,
|
Improve SwiftPM support (#1546)
Summary:
This diff imports and refines the PR made by cntrump on GitHub.
The PR introduces the following:
* Sample apps now use SPM instead of CocoaPods to import IGListKit.
* Adds Mac Catalyst as an example target.
* Adds C++ flags to the CocoaPods specs.
* Fixes a script issue that was discovered when regenerating the symlinks.
The PR originally aimed to remove the need for symlinked references to the IGListKit and IGListDiffKit source files, but in testing, I couldn't get it working. It's possible SPM being too strict [on where the headers can be placed to be discovered](https://forums.swift.org/t/how-do-i-specify-the-headers-directory-for-a-objc-target-in-swift-package-managers-package-swift/58531/3).
Additionally, another issue was that the original PR changed all of the `#import` statements to the the modular `import` statements, which is fine for the sample apps, but ended up breaking compatibility for any apps that had modules disabled.
## Changes in this pull request
Improve SwiftPM support:
Build module `IGListDiffKit` and `IGListKit` as Objective-C++.
module `IGListDiffKit`:
- Source/IGListDiffKit
- module defined in `Source/IGListDiffKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListKit`:
- depend on `IGListDiffKit`, use `import IGListDiffKit;`
- Source/IGListKit
- module defined in `Source/IGListKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListSwiftKit`:
- depend on `IGListKit`, use `import IGListKit`
- Source/IGListSwiftKit
Deleted `spm/` and `scripts/generate_spm_sources_layout.sh`, it is unnecessary.
Updated `.podspec`, add `'OTHER_CFLAGS' => '-fmodules'` and `'OTHER_CPLUSPLUSFLAGS' => '-fcxx-modules'`.
Add missing swift files for `IGListSwiftKit` in `IGListKit.xcodeproj`
### How to use
Replace `#import <IGListDiffKit/IGListDiffKit.h>` with `import IGListDiffKit;`, because `IGListDiffKit.h` isn't exist in `modulemap/`, Or create a symbol link by `ln -sf ../IGListDiffKit.h` for support it ?
### Examples
Use SwiftPM for building examples.
### Checklist
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [ ] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1546
Test Plan: Test PR showing running tests: https://github.com/TimOliver/IGListKit/actions/runs/4339956050/jobs/7578047058
Reviewed By: lorixx
Differential Revision: D33592395
Pulled By: TimOliver
fbshipit-source-id: 8f7b1873f2b1c6a80908bb55b123e31bea13bb0c
2023-03-07 07:29:41 +00:00
|
|
|
57B22E6F2502AAB20055DC2F /* IGListTransitionData.h in Headers */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF5A2361511100B49FAE /* IGListAdapterUpdater.h in Headers */,
|
|
|
|
|
7A02CFA82361513600B49FAE /* UICollectionViewLayout+InteractiveReordering.h in Headers */,
|
|
|
|
|
7A02CF452361511100B49FAE /* IGListAdapterPerformanceDelegate.h in Headers */,
|
|
|
|
|
7A02D0022361513600B49FAE /* IGListSectionControllerInternal.h in Headers */,
|
|
|
|
|
7A02CFC92361513600B49FAE /* UICollectionView+IGListBatchUpdateData.h in Headers */,
|
|
|
|
|
7A02CEF12361511100B49FAE /* IGListScrollDelegate.h in Headers */,
|
|
|
|
|
7A02CFF62361513600B49FAE /* IGListSectionMap+DebugDescription.h in Headers */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC76A29EFBD0300DC3B9A /* IGListBindingSingleSectionController.h in Headers */,
|
2019-12-17 21:05:00 +00:00
|
|
|
7AD6864C23A89E7F009000DE /* IGListAdapterUpdaterHelpers.h in Headers */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF002361511100B49FAE /* IGListCollectionView.h in Headers */,
|
|
|
|
|
7A02CF152361511100B49FAE /* IGListCollectionViewLayout.h in Headers */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E812502AAC40055DC2F /* IGListUpdateTransactable.h in Headers */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF1B2361511100B49FAE /* IGListSectionController.h in Headers */,
|
|
|
|
|
7A02CFDE2361513600B49FAE /* IGListAdapterUpdater+DebugDescription.h in Headers */,
|
|
|
|
|
7A02CEFA2361511100B49FAE /* IGListDisplayDelegate.h in Headers */,
|
|
|
|
|
7A02CF242361511100B49FAE /* IGListAdapterUpdateListener.h in Headers */,
|
|
|
|
|
7A02CF9C2361513600B49FAE /* IGListCollectionViewLayoutInternal.h in Headers */,
|
|
|
|
|
7A02CFED2361513600B49FAE /* IGListDebuggingUtilities.h in Headers */,
|
|
|
|
|
7A02CEFD2361511100B49FAE /* IGListCollectionViewDelegateLayout.h in Headers */,
|
|
|
|
|
7A02CF272361511100B49FAE /* IGListBindable.h in Headers */,
|
|
|
|
|
7A02CFCF2361513600B49FAE /* IGListDebugger.h in Headers */,
|
|
|
|
|
7A02CF3F2361511100B49FAE /* IGListAdapterUpdaterDelegate.h in Headers */,
|
|
|
|
|
7A02D0082361513600B49FAE /* IGListBatchUpdateData+DebugDescription.h in Headers */,
|
|
|
|
|
7A02CF542361511100B49FAE /* IGListBindingSectionControllerSelectionDelegate.h in Headers */,
|
|
|
|
|
7A02CFCC2361513600B49FAE /* IGListBatchUpdateState.h in Headers */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E822502AAC40055DC2F /* IGListDataSourceChangeTransaction.h in Headers */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF302361511100B49FAE /* IGListUpdatingDelegate.h in Headers */,
|
|
|
|
|
7A02CEF42361511100B49FAE /* IGListWorkingRangeDelegate.h in Headers */,
|
|
|
|
|
7A02CF092361511100B49FAE /* IGListBindingSectionControllerDataSource.h in Headers */,
|
|
|
|
|
7A02CF422361511100B49FAE /* IGListSingleSectionController.h in Headers */,
|
|
|
|
|
7A02CFE12361513600B49FAE /* IGListAdapter+DebugDescription.h in Headers */,
|
|
|
|
|
7A02CF032361511100B49FAE /* IGListGenericSectionController.h in Headers */,
|
|
|
|
|
7A02CFFC2361513600B49FAE /* IGListReloadIndexPath.h in Headers */,
|
2016-09-07 22:37:59 +00:00
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-12-14 04:31:41 +00:00
|
|
|
DD31527C1DE227FA00AC9D2C /* Headers */ = {
|
|
|
|
|
isa = PBXHeadersBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
2023-04-20 21:26:11 +00:00
|
|
|
883797082022304E00B94676 /* BuildFile in Headers */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0C023615CE500B49FAE /* IGListKit.h in Headers */,
|
2016-12-14 04:31:41 +00:00
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
/* End PBXHeadersBuildPhase section */
|
|
|
|
|
|
|
|
|
|
/* Begin PBXNativeTarget section */
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D01C2361520200B49FAE /* IGListDiffKit */ = {
|
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
|
buildConfigurationList = 7A02D0222361520200B49FAE /* Build configuration list for PBXNativeTarget "IGListDiffKit" */;
|
|
|
|
|
buildPhases = (
|
|
|
|
|
7A02D0182361520200B49FAE /* Headers */,
|
|
|
|
|
7A02D0192361520200B49FAE /* Sources */,
|
|
|
|
|
7A02D01A2361520200B49FAE /* Frameworks */,
|
|
|
|
|
);
|
|
|
|
|
buildRules = (
|
|
|
|
|
);
|
|
|
|
|
dependencies = (
|
|
|
|
|
);
|
|
|
|
|
name = IGListDiffKit;
|
|
|
|
|
productName = IGListDiffKit;
|
|
|
|
|
productReference = 7A02D01D2361520200B49FAE /* IGListDiffKit.framework */;
|
|
|
|
|
productType = "com.apple.product-type.framework";
|
|
|
|
|
};
|
|
|
|
|
7A02D02A2361525800B49FAE /* IGListDiffKit-tvOS */ = {
|
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
|
buildConfigurationList = 7A02D0302361525800B49FAE /* Build configuration list for PBXNativeTarget "IGListDiffKit-tvOS" */;
|
|
|
|
|
buildPhases = (
|
|
|
|
|
7A02D0262361525800B49FAE /* Headers */,
|
|
|
|
|
7A02D0272361525800B49FAE /* Sources */,
|
|
|
|
|
7A02D0282361525800B49FAE /* Frameworks */,
|
|
|
|
|
);
|
|
|
|
|
buildRules = (
|
|
|
|
|
);
|
|
|
|
|
dependencies = (
|
|
|
|
|
);
|
|
|
|
|
name = "IGListDiffKit-tvOS";
|
|
|
|
|
productName = "IGListDiffKit-tvOS";
|
|
|
|
|
productReference = 7A02D02B2361525800B49FAE /* IGListDiffKit.framework */;
|
|
|
|
|
productType = "com.apple.product-type.framework";
|
|
|
|
|
};
|
|
|
|
|
7A02D0372361526600B49FAE /* IGListDiffKit-macOS */ = {
|
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
|
buildConfigurationList = 7A02D03D2361526600B49FAE /* Build configuration list for PBXNativeTarget "IGListDiffKit-macOS" */;
|
|
|
|
|
buildPhases = (
|
|
|
|
|
7A02D0332361526600B49FAE /* Headers */,
|
|
|
|
|
7A02D0342361526600B49FAE /* Sources */,
|
|
|
|
|
7A02D0352361526600B49FAE /* Frameworks */,
|
|
|
|
|
);
|
|
|
|
|
buildRules = (
|
|
|
|
|
);
|
|
|
|
|
dependencies = (
|
|
|
|
|
);
|
|
|
|
|
name = "IGListDiffKit-macOS";
|
|
|
|
|
productName = "IGListDiffKit-macOS";
|
|
|
|
|
productReference = 7A02D0382361526600B49FAE /* IGListDiffKit.framework */;
|
|
|
|
|
productType = "com.apple.product-type.framework";
|
|
|
|
|
};
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9623A8A42000E5A13D /* IGListSwiftKit */ = {
|
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
|
buildConfigurationList = 7A92EA9C23A8A42000E5A13D /* Build configuration list for PBXNativeTarget "IGListSwiftKit" */;
|
|
|
|
|
buildPhases = (
|
|
|
|
|
7A92EA9223A8A42000E5A13D /* Headers */,
|
|
|
|
|
7A92EA9323A8A42000E5A13D /* Sources */,
|
|
|
|
|
7A92EA9423A8A42000E5A13D /* Frameworks */,
|
|
|
|
|
7A92EA9523A8A42000E5A13D /* Resources */,
|
2023-03-13 07:49:15 +00:00
|
|
|
F105D9AE29B7193000B7F361 /* SwiftLint */,
|
2019-12-19 16:11:46 +00:00
|
|
|
);
|
|
|
|
|
buildRules = (
|
|
|
|
|
);
|
|
|
|
|
dependencies = (
|
|
|
|
|
7A92EAA223A8A4E700E5A13D /* PBXTargetDependency */,
|
|
|
|
|
);
|
|
|
|
|
name = IGListSwiftKit;
|
|
|
|
|
productName = IGListSwiftKit;
|
|
|
|
|
productReference = 7A92EA9723A8A42000E5A13D /* IGListSwiftKit.framework */;
|
|
|
|
|
productType = "com.apple.product-type.framework";
|
|
|
|
|
};
|
|
|
|
|
7A92EAA723A8A50100E5A13D /* IGListSwiftKit-tvOS */ = {
|
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
|
buildConfigurationList = 7A92EAAD23A8A50100E5A13D /* Build configuration list for PBXNativeTarget "IGListSwiftKit-tvOS" */;
|
|
|
|
|
buildPhases = (
|
|
|
|
|
7A92EAA323A8A50100E5A13D /* Headers */,
|
|
|
|
|
7A92EAA423A8A50100E5A13D /* Sources */,
|
|
|
|
|
7A92EAA523A8A50100E5A13D /* Frameworks */,
|
|
|
|
|
7A92EAA623A8A50100E5A13D /* Resources */,
|
2023-03-13 07:49:15 +00:00
|
|
|
F105D9AF29B7194300B7F361 /* SwiftLint */,
|
2019-12-19 16:11:46 +00:00
|
|
|
);
|
|
|
|
|
buildRules = (
|
|
|
|
|
);
|
|
|
|
|
dependencies = (
|
|
|
|
|
7A92EAB323A8A53F00E5A13D /* PBXTargetDependency */,
|
|
|
|
|
);
|
|
|
|
|
name = "IGListSwiftKit-tvOS";
|
|
|
|
|
productName = "IGListSwiftKit-tvOS";
|
|
|
|
|
productReference = 7A92EAA823A8A50100E5A13D /* IGListSwiftKit.framework */;
|
|
|
|
|
productType = "com.apple.product-type.framework";
|
|
|
|
|
};
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1D31DC51A0D009CE2B4 /* IGListKit-tvOS */ = {
|
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
|
buildConfigurationList = 885FE1E91DC51A0D009CE2B4 /* Build configuration list for PBXNativeTarget "IGListKit-tvOS" */;
|
|
|
|
|
buildPhases = (
|
|
|
|
|
885FE1CF1DC51A0D009CE2B4 /* Sources */,
|
|
|
|
|
885FE1D01DC51A0D009CE2B4 /* Frameworks */,
|
|
|
|
|
885FE1D11DC51A0D009CE2B4 /* Headers */,
|
|
|
|
|
);
|
|
|
|
|
buildRules = (
|
|
|
|
|
);
|
|
|
|
|
dependencies = (
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0BD23615B8B00B49FAE /* PBXTargetDependency */,
|
2016-10-29 21:39:18 +00:00
|
|
|
);
|
|
|
|
|
name = "IGListKit-tvOS";
|
|
|
|
|
productName = "IGListKit-tvOS";
|
|
|
|
|
productReference = 885FE1D41DC51A0D009CE2B4 /* IGListKit.framework */;
|
|
|
|
|
productType = "com.apple.product-type.framework";
|
|
|
|
|
};
|
|
|
|
|
885FE1DB1DC51A0D009CE2B4 /* IGListKit-tvOSTests */ = {
|
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
|
buildConfigurationList = 885FE1EA1DC51A0D009CE2B4 /* Build configuration list for PBXNativeTarget "IGListKit-tvOSTests" */;
|
|
|
|
|
buildPhases = (
|
|
|
|
|
885FE1D81DC51A0D009CE2B4 /* Sources */,
|
|
|
|
|
885FE1D91DC51A0D009CE2B4 /* Frameworks */,
|
|
|
|
|
885FE1DA1DC51A0D009CE2B4 /* Resources */,
|
|
|
|
|
);
|
|
|
|
|
buildRules = (
|
|
|
|
|
);
|
|
|
|
|
dependencies = (
|
|
|
|
|
885FE1DF1DC51A0D009CE2B4 /* PBXTargetDependency */,
|
|
|
|
|
);
|
|
|
|
|
name = "IGListKit-tvOSTests";
|
|
|
|
|
productName = "IGListKit-tvOSTests";
|
|
|
|
|
productReference = 885FE1DC1DC51A0D009CE2B4 /* IGListKit-tvOSTests.xctest */;
|
|
|
|
|
productType = "com.apple.product-type.bundle.unit-test";
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B351D870D7E009E01F7 /* IGListKit */ = {
|
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
|
buildConfigurationList = 887D0B4A1D870D7F009E01F7 /* Build configuration list for PBXNativeTarget "IGListKit" */;
|
|
|
|
|
buildPhases = (
|
|
|
|
|
887D0B311D870D7E009E01F7 /* Sources */,
|
|
|
|
|
887D0B321D870D7E009E01F7 /* Frameworks */,
|
|
|
|
|
887D0B331D870D7E009E01F7 /* Headers */,
|
|
|
|
|
);
|
|
|
|
|
buildRules = (
|
|
|
|
|
);
|
|
|
|
|
dependencies = (
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0B32361546300B49FAE /* PBXTargetDependency */,
|
2016-09-07 22:37:59 +00:00
|
|
|
);
|
|
|
|
|
name = IGListKit;
|
|
|
|
|
productName = IGListKit;
|
|
|
|
|
productReference = 887D0B361D870D7E009E01F7 /* IGListKit.framework */;
|
|
|
|
|
productType = "com.apple.product-type.framework";
|
|
|
|
|
};
|
|
|
|
|
887D0B3E1D870D7F009E01F7 /* IGListKitTests */ = {
|
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
|
buildConfigurationList = 887D0B4D1D870D7F009E01F7 /* Build configuration list for PBXNativeTarget "IGListKitTests" */;
|
|
|
|
|
buildPhases = (
|
|
|
|
|
887D0B3B1D870D7F009E01F7 /* Sources */,
|
|
|
|
|
887D0B3C1D870D7F009E01F7 /* Frameworks */,
|
|
|
|
|
887D0B3D1D870D7F009E01F7 /* Resources */,
|
|
|
|
|
);
|
|
|
|
|
buildRules = (
|
|
|
|
|
);
|
|
|
|
|
dependencies = (
|
|
|
|
|
887D0B421D870D7F009E01F7 /* PBXTargetDependency */,
|
|
|
|
|
);
|
|
|
|
|
name = IGListKitTests;
|
|
|
|
|
productName = IGListKitTests;
|
|
|
|
|
productReference = 887D0B3F1D870D7F009E01F7 /* IGListKitTests.xctest */;
|
|
|
|
|
productType = "com.apple.product-type.bundle.unit-test";
|
|
|
|
|
};
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF897B1E010E6A00B1B9B4 /* IGListKit-macOSTests */ = {
|
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
|
buildConfigurationList = 88DF89861E010E6A00B1B9B4 /* Build configuration list for PBXNativeTarget "IGListKit-macOSTests" */;
|
|
|
|
|
buildPhases = (
|
|
|
|
|
88DF89781E010E6A00B1B9B4 /* Sources */,
|
|
|
|
|
88DF89791E010E6A00B1B9B4 /* Frameworks */,
|
|
|
|
|
88DF897A1E010E6A00B1B9B4 /* Resources */,
|
|
|
|
|
);
|
|
|
|
|
buildRules = (
|
|
|
|
|
);
|
|
|
|
|
dependencies = (
|
|
|
|
|
88DF89831E010E6A00B1B9B4 /* PBXTargetDependency */,
|
|
|
|
|
);
|
|
|
|
|
name = "IGListKit-macOSTests";
|
|
|
|
|
productName = "IGListKitTests-macOS";
|
|
|
|
|
productReference = 88DF897C1E010E6A00B1B9B4 /* IGListKit-macOSTests.xctest */;
|
|
|
|
|
productType = "com.apple.product-type.bundle.unit-test";
|
|
|
|
|
};
|
2016-12-14 04:31:41 +00:00
|
|
|
DD3152661DE227FA00AC9D2C /* IGListKit-macOS */ = {
|
|
|
|
|
isa = PBXNativeTarget;
|
|
|
|
|
buildConfigurationList = DD3152A91DE227FA00AC9D2C /* Build configuration list for PBXNativeTarget "IGListKit-macOS" */;
|
|
|
|
|
buildPhases = (
|
|
|
|
|
DD3152671DE227FA00AC9D2C /* Sources */,
|
|
|
|
|
DD31527B1DE227FA00AC9D2C /* Frameworks */,
|
|
|
|
|
DD31527C1DE227FA00AC9D2C /* Headers */,
|
|
|
|
|
);
|
|
|
|
|
buildRules = (
|
|
|
|
|
);
|
|
|
|
|
dependencies = (
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0BF23615B9000B49FAE /* PBXTargetDependency */,
|
2016-12-14 04:31:41 +00:00
|
|
|
);
|
|
|
|
|
name = "IGListKit-macOS";
|
|
|
|
|
productName = IGListKit;
|
|
|
|
|
productReference = DD3152AC1DE227FA00AC9D2C /* IGListKit.framework */;
|
|
|
|
|
productType = "com.apple.product-type.framework";
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
/* End PBXNativeTarget section */
|
|
|
|
|
|
|
|
|
|
/* Begin PBXProject section */
|
|
|
|
|
887D0B2D1D870D7E009E01F7 /* Project object */ = {
|
|
|
|
|
isa = PBXProject;
|
|
|
|
|
attributes = {
|
|
|
|
|
CLASSPREFIX = IG;
|
2019-12-19 16:11:46 +00:00
|
|
|
LastSwiftUpdateCheck = 1120;
|
2018-07-25 13:35:14 +00:00
|
|
|
LastUpgradeCheck = 0940;
|
2016-09-07 22:37:59 +00:00
|
|
|
ORGANIZATIONNAME = Instagram;
|
|
|
|
|
TargetAttributes = {
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D01C2361520200B49FAE = {
|
|
|
|
|
CreatedOnToolsVersion = 11.1;
|
|
|
|
|
ProvisioningStyle = Manual;
|
|
|
|
|
};
|
|
|
|
|
7A02D02A2361525800B49FAE = {
|
|
|
|
|
CreatedOnToolsVersion = 11.1;
|
|
|
|
|
ProvisioningStyle = Manual;
|
|
|
|
|
};
|
|
|
|
|
7A02D0372361526600B49FAE = {
|
|
|
|
|
CreatedOnToolsVersion = 11.1;
|
|
|
|
|
ProvisioningStyle = Manual;
|
|
|
|
|
};
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9623A8A42000E5A13D = {
|
|
|
|
|
CreatedOnToolsVersion = 11.2.1;
|
|
|
|
|
LastSwiftMigration = 1120;
|
|
|
|
|
ProvisioningStyle = Automatic;
|
|
|
|
|
};
|
|
|
|
|
7A92EAA723A8A50100E5A13D = {
|
|
|
|
|
CreatedOnToolsVersion = 11.2.1;
|
|
|
|
|
ProvisioningStyle = Automatic;
|
|
|
|
|
};
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1D31DC51A0D009CE2B4 = {
|
|
|
|
|
CreatedOnToolsVersion = 8.1;
|
2018-02-02 21:14:16 +00:00
|
|
|
ProvisioningStyle = Manual;
|
2016-10-29 21:39:18 +00:00
|
|
|
};
|
|
|
|
|
885FE1DB1DC51A0D009CE2B4 = {
|
|
|
|
|
CreatedOnToolsVersion = 8.1;
|
|
|
|
|
LastSwiftMigration = 0810;
|
2018-02-02 21:14:16 +00:00
|
|
|
ProvisioningStyle = Manual;
|
2016-10-29 21:39:18 +00:00
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B351D870D7E009E01F7 = {
|
|
|
|
|
CreatedOnToolsVersion = 8.0;
|
2016-10-11 19:24:47 +00:00
|
|
|
LastSwiftMigration = 0800;
|
2018-02-02 21:14:16 +00:00
|
|
|
ProvisioningStyle = Manual;
|
2016-09-07 22:37:59 +00:00
|
|
|
};
|
|
|
|
|
887D0B3E1D870D7F009E01F7 = {
|
|
|
|
|
CreatedOnToolsVersion = 8.0;
|
2019-12-19 05:50:02 +00:00
|
|
|
LastSwiftMigration = 1120;
|
2018-02-02 21:14:16 +00:00
|
|
|
ProvisioningStyle = Manual;
|
2016-09-07 22:37:59 +00:00
|
|
|
};
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF897B1E010E6A00B1B9B4 = {
|
|
|
|
|
CreatedOnToolsVersion = 8.2;
|
|
|
|
|
LastSwiftMigration = 0820;
|
2018-02-02 21:14:16 +00:00
|
|
|
ProvisioningStyle = Manual;
|
2016-12-14 07:01:21 +00:00
|
|
|
};
|
2019-10-31 15:17:38 +00:00
|
|
|
DD3152661DE227FA00AC9D2C = {
|
|
|
|
|
ProvisioningStyle = Manual;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
buildConfigurationList = 887D0B301D870D7E009E01F7 /* Build configuration list for PBXProject "IGListKit" */;
|
|
|
|
|
compatibilityVersion = "Xcode 3.2";
|
|
|
|
|
developmentRegion = English;
|
|
|
|
|
hasScannedForEncodings = 0;
|
|
|
|
|
knownRegions = (
|
2019-05-01 22:10:31 +00:00
|
|
|
English,
|
2016-09-07 22:37:59 +00:00
|
|
|
en,
|
|
|
|
|
);
|
|
|
|
|
mainGroup = 887D0B2C1D870D7E009E01F7;
|
|
|
|
|
productRefGroup = 887D0B371D870D7E009E01F7 /* Products */;
|
|
|
|
|
projectDirPath = "";
|
|
|
|
|
projectRoot = "";
|
|
|
|
|
targets = (
|
|
|
|
|
887D0B351D870D7E009E01F7 /* IGListKit */,
|
|
|
|
|
887D0B3E1D870D7F009E01F7 /* IGListKitTests */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1D31DC51A0D009CE2B4 /* IGListKit-tvOS */,
|
|
|
|
|
885FE1DB1DC51A0D009CE2B4 /* IGListKit-tvOSTests */,
|
2016-12-14 04:31:41 +00:00
|
|
|
DD3152661DE227FA00AC9D2C /* IGListKit-macOS */,
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF897B1E010E6A00B1B9B4 /* IGListKit-macOSTests */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D01C2361520200B49FAE /* IGListDiffKit */,
|
|
|
|
|
7A02D02A2361525800B49FAE /* IGListDiffKit-tvOS */,
|
|
|
|
|
7A02D0372361526600B49FAE /* IGListDiffKit-macOS */,
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9623A8A42000E5A13D /* IGListSwiftKit */,
|
|
|
|
|
7A92EAA723A8A50100E5A13D /* IGListSwiftKit-tvOS */,
|
2016-09-07 22:37:59 +00:00
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
/* End PBXProject section */
|
|
|
|
|
|
|
|
|
|
/* Begin PBXResourcesBuildPhase section */
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9523A8A42000E5A13D /* Resources */ = {
|
|
|
|
|
isa = PBXResourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
7A92EAA623A8A50100E5A13D /* Resources */ = {
|
|
|
|
|
isa = PBXResourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1DA1DC51A0D009CE2B4 /* Resources */ = {
|
|
|
|
|
isa = PBXResourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
2019-09-16 19:26:31 +00:00
|
|
|
401B5E65230111F7004099D5 /* IGTestStoryboard.storyboard in Resources */,
|
|
|
|
|
401B5E64230111F3004099D5 /* IGTestNibSupplementaryView.xib in Resources */,
|
|
|
|
|
401B5E63230111EC004099D5 /* IGTestNibCell.xib in Resources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B3D1D870D7F009E01F7 /* Resources */ = {
|
|
|
|
|
isa = PBXResourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
2016-11-05 23:27:32 +00:00
|
|
|
2914BEE91DCD15F400C96401 /* IGTestNibSupplementaryView.xib in Resources */,
|
2016-10-16 23:30:18 +00:00
|
|
|
29EA6C491DB43A8000957A88 /* IGTestNibCell.xib in Resources */,
|
2016-10-25 22:17:45 +00:00
|
|
|
821BC4C41DB8CEF800172ED0 /* IGTestStoryboard.storyboard in Resources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF897A1E010E6A00B1B9B4 /* Resources */ = {
|
|
|
|
|
isa = PBXResourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
/* End PBXResourcesBuildPhase section */
|
|
|
|
|
|
|
|
|
|
/* Begin PBXShellScriptBuildPhase section */
|
2023-03-13 07:49:15 +00:00
|
|
|
F105D9AE29B7193000B7F361 /* SwiftLint */ = {
|
|
|
|
|
isa = PBXShellScriptBuildPhase;
|
|
|
|
|
alwaysOutOfDate = 1;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
);
|
|
|
|
|
inputFileListPaths = (
|
|
|
|
|
);
|
|
|
|
|
inputPaths = (
|
|
|
|
|
);
|
|
|
|
|
name = SwiftLint;
|
|
|
|
|
outputFileListPaths = (
|
|
|
|
|
);
|
|
|
|
|
outputPaths = (
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
shellPath = /bin/sh;
|
|
|
|
|
shellScript = "scripts/lint.sh\n";
|
|
|
|
|
};
|
|
|
|
|
F105D9AF29B7194300B7F361 /* SwiftLint */ = {
|
|
|
|
|
isa = PBXShellScriptBuildPhase;
|
|
|
|
|
alwaysOutOfDate = 1;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
);
|
|
|
|
|
inputFileListPaths = (
|
|
|
|
|
);
|
|
|
|
|
inputPaths = (
|
|
|
|
|
);
|
|
|
|
|
name = SwiftLint;
|
|
|
|
|
outputFileListPaths = (
|
|
|
|
|
);
|
|
|
|
|
outputPaths = (
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
shellPath = /bin/sh;
|
|
|
|
|
shellScript = "scripts/lint.sh\n";
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
/* End PBXShellScriptBuildPhase section */
|
|
|
|
|
|
|
|
|
|
/* Begin PBXSourcesBuildPhase section */
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0192361520200B49FAE /* Sources */ = {
|
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
7A02D06D2361529F00B49FAE /* NSString+IGListDiffable.m in Sources */,
|
|
|
|
|
7A02D0912361529F00B49FAE /* IGListMoveIndex.m in Sources */,
|
|
|
|
|
7A02D08E2361529F00B49FAE /* IGListIndexSetResult.m in Sources */,
|
|
|
|
|
7A02D09D2361529F00B49FAE /* IGListBatchUpdateData.mm in Sources */,
|
|
|
|
|
7A02D0852361529F00B49FAE /* IGListDiff.mm in Sources */,
|
|
|
|
|
7A02D0972361529F00B49FAE /* IGListMoveIndexPath.m in Sources */,
|
|
|
|
|
7A02D08B2361529F00B49FAE /* IGListIndexPathResult.m in Sources */,
|
|
|
|
|
7A02D05E2361529F00B49FAE /* NSNumber+IGListDiffable.m in Sources */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
7A02D0272361525800B49FAE /* Sources */ = {
|
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
7A02D06E2361529F00B49FAE /* NSString+IGListDiffable.m in Sources */,
|
|
|
|
|
7A02D0922361529F00B49FAE /* IGListMoveIndex.m in Sources */,
|
|
|
|
|
7A02D08F2361529F00B49FAE /* IGListIndexSetResult.m in Sources */,
|
|
|
|
|
7A02D09E2361529F00B49FAE /* IGListBatchUpdateData.mm in Sources */,
|
|
|
|
|
7A02D0862361529F00B49FAE /* IGListDiff.mm in Sources */,
|
|
|
|
|
7A02D0982361529F00B49FAE /* IGListMoveIndexPath.m in Sources */,
|
|
|
|
|
7A02D08C2361529F00B49FAE /* IGListIndexPathResult.m in Sources */,
|
|
|
|
|
7A02D05F2361529F00B49FAE /* NSNumber+IGListDiffable.m in Sources */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
7A02D0342361526600B49FAE /* Sources */ = {
|
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
7A02D06F2361529F00B49FAE /* NSString+IGListDiffable.m in Sources */,
|
|
|
|
|
7A02D0932361529F00B49FAE /* IGListMoveIndex.m in Sources */,
|
|
|
|
|
7A02D0902361529F00B49FAE /* IGListIndexSetResult.m in Sources */,
|
|
|
|
|
7A02D09F2361529F00B49FAE /* IGListBatchUpdateData.mm in Sources */,
|
|
|
|
|
7A02D0872361529F00B49FAE /* IGListDiff.mm in Sources */,
|
|
|
|
|
7A02D0992361529F00B49FAE /* IGListMoveIndexPath.m in Sources */,
|
|
|
|
|
7A02D08D2361529F00B49FAE /* IGListIndexPathResult.m in Sources */,
|
|
|
|
|
7A02D0602361529F00B49FAE /* NSNumber+IGListDiffable.m in Sources */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9323A8A42000E5A13D /* Sources */ = {
|
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
Improve SwiftPM support (#1546)
Summary:
This diff imports and refines the PR made by cntrump on GitHub.
The PR introduces the following:
* Sample apps now use SPM instead of CocoaPods to import IGListKit.
* Adds Mac Catalyst as an example target.
* Adds C++ flags to the CocoaPods specs.
* Fixes a script issue that was discovered when regenerating the symlinks.
The PR originally aimed to remove the need for symlinked references to the IGListKit and IGListDiffKit source files, but in testing, I couldn't get it working. It's possible SPM being too strict [on where the headers can be placed to be discovered](https://forums.swift.org/t/how-do-i-specify-the-headers-directory-for-a-objc-target-in-swift-package-managers-package-swift/58531/3).
Additionally, another issue was that the original PR changed all of the `#import` statements to the the modular `import` statements, which is fine for the sample apps, but ended up breaking compatibility for any apps that had modules disabled.
## Changes in this pull request
Improve SwiftPM support:
Build module `IGListDiffKit` and `IGListKit` as Objective-C++.
module `IGListDiffKit`:
- Source/IGListDiffKit
- module defined in `Source/IGListDiffKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListKit`:
- depend on `IGListDiffKit`, use `import IGListDiffKit;`
- Source/IGListKit
- module defined in `Source/IGListKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListSwiftKit`:
- depend on `IGListKit`, use `import IGListKit`
- Source/IGListSwiftKit
Deleted `spm/` and `scripts/generate_spm_sources_layout.sh`, it is unnecessary.
Updated `.podspec`, add `'OTHER_CFLAGS' => '-fmodules'` and `'OTHER_CPLUSPLUSFLAGS' => '-fcxx-modules'`.
Add missing swift files for `IGListSwiftKit` in `IGListKit.xcodeproj`
### How to use
Replace `#import <IGListDiffKit/IGListDiffKit.h>` with `import IGListDiffKit;`, because `IGListDiffKit.h` isn't exist in `modulemap/`, Or create a symbol link by `ln -sf ../IGListDiffKit.h` for support it ?
### Examples
Use SwiftPM for building examples.
### Checklist
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [ ] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1546
Test Plan: Test PR showing running tests: https://github.com/TimOliver/IGListKit/actions/runs/4339956050/jobs/7578047058
Reviewed By: lorixx
Differential Revision: D33592395
Pulled By: TimOliver
fbshipit-source-id: 8f7b1873f2b1c6a80908bb55b123e31bea13bb0c
2023-03-07 07:29:41 +00:00
|
|
|
BA4A65242760278F00FA5750 /* ListValueSectionController.swift in Sources */,
|
|
|
|
|
BA4A65262760278F00FA5750 /* ListIdentifiable.swift in Sources */,
|
2021-01-26 15:32:41 +00:00
|
|
|
7AEA8E5D25BF715C00971591 /* IGListSingleSectionController+Refinements.swift in Sources */,
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EAA023A8A43D00E5A13D /* IGListCollectionContext+Refinements.swift in Sources */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
7A92EAA423A8A50100E5A13D /* Sources */ = {
|
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
Improve SwiftPM support (#1546)
Summary:
This diff imports and refines the PR made by cntrump on GitHub.
The PR introduces the following:
* Sample apps now use SPM instead of CocoaPods to import IGListKit.
* Adds Mac Catalyst as an example target.
* Adds C++ flags to the CocoaPods specs.
* Fixes a script issue that was discovered when regenerating the symlinks.
The PR originally aimed to remove the need for symlinked references to the IGListKit and IGListDiffKit source files, but in testing, I couldn't get it working. It's possible SPM being too strict [on where the headers can be placed to be discovered](https://forums.swift.org/t/how-do-i-specify-the-headers-directory-for-a-objc-target-in-swift-package-managers-package-swift/58531/3).
Additionally, another issue was that the original PR changed all of the `#import` statements to the the modular `import` statements, which is fine for the sample apps, but ended up breaking compatibility for any apps that had modules disabled.
## Changes in this pull request
Improve SwiftPM support:
Build module `IGListDiffKit` and `IGListKit` as Objective-C++.
module `IGListDiffKit`:
- Source/IGListDiffKit
- module defined in `Source/IGListDiffKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListKit`:
- depend on `IGListDiffKit`, use `import IGListDiffKit;`
- Source/IGListKit
- module defined in `Source/IGListKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListSwiftKit`:
- depend on `IGListKit`, use `import IGListKit`
- Source/IGListSwiftKit
Deleted `spm/` and `scripts/generate_spm_sources_layout.sh`, it is unnecessary.
Updated `.podspec`, add `'OTHER_CFLAGS' => '-fmodules'` and `'OTHER_CPLUSPLUSFLAGS' => '-fcxx-modules'`.
Add missing swift files for `IGListSwiftKit` in `IGListKit.xcodeproj`
### How to use
Replace `#import <IGListDiffKit/IGListDiffKit.h>` with `import IGListDiffKit;`, because `IGListDiffKit.h` isn't exist in `modulemap/`, Or create a symbol link by `ln -sf ../IGListDiffKit.h` for support it ?
### Examples
Use SwiftPM for building examples.
### Checklist
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [ ] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1546
Test Plan: Test PR showing running tests: https://github.com/TimOliver/IGListKit/actions/runs/4339956050/jobs/7578047058
Reviewed By: lorixx
Differential Revision: D33592395
Pulled By: TimOliver
fbshipit-source-id: 8f7b1873f2b1c6a80908bb55b123e31bea13bb0c
2023-03-07 07:29:41 +00:00
|
|
|
BA4A65252760278F00FA5750 /* ListValueSectionController.swift in Sources */,
|
|
|
|
|
BA4A65272760278F00FA5750 /* ListIdentifiable.swift in Sources */,
|
2021-01-26 15:32:41 +00:00
|
|
|
7AEA8E5E25BF715C00971591 /* IGListSingleSectionController+Refinements.swift in Sources */,
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EAB123A8A50C00E5A13D /* IGListCollectionContext+Refinements.swift in Sources */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1CF1DC51A0D009CE2B4 /* Sources */ = {
|
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
2021-09-01 02:22:18 +00:00
|
|
|
0A8928F926CDA521003FABD8 /* IGListUpdateTransactionBuilder.m in Sources */,
|
|
|
|
|
0A8928FF26CDA62C003FABD8 /* IGListBatchUpdateTransaction.m in Sources */,
|
|
|
|
|
0A89290226CDA672003FABD8 /* IGListItemUpdatesCollector.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF492361511100B49FAE /* IGListSingleSectionController.m in Sources */,
|
2021-09-01 02:22:18 +00:00
|
|
|
0A8928FC26CDA5BD003FABD8 /* IGListReloadTransaction.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF132361511100B49FAE /* IGListGenericSectionController.m in Sources */,
|
|
|
|
|
7A02CFA62361513600B49FAE /* UICollectionView+IGListBatchUpdateData.m in Sources */,
|
|
|
|
|
7A02CFC42361513600B49FAE /* UICollectionView+DebugDescription.m in Sources */,
|
2021-09-01 02:22:18 +00:00
|
|
|
0A8928FD26CDA5E1003FABD8 /* IGListDataSourceChangeTransaction.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CFBE2361513600B49FAE /* IGListAdapterUpdater+DebugDescription.m in Sources */,
|
|
|
|
|
7A02CFAC2361513600B49FAE /* IGListReloadIndexPath.m in Sources */,
|
|
|
|
|
7A02CF5E2361511100B49FAE /* IGListSectionController.m in Sources */,
|
|
|
|
|
7A02D00C2361513600B49FAE /* IGListSectionMap+DebugDescription.m in Sources */,
|
|
|
|
|
7A02CF612361511100B49FAE /* IGListCollectionView.m in Sources */,
|
|
|
|
|
7A02CFBB2361513600B49FAE /* IGListAdapterProxy.m in Sources */,
|
|
|
|
|
7A02CFF42361513600B49FAE /* IGListAdapter+UICollectionView.m in Sources */,
|
|
|
|
|
7A02CF3A2361511100B49FAE /* IGListCollectionViewLayout.mm in Sources */,
|
|
|
|
|
7A02CF2B2361511100B49FAE /* IGListReloadDataUpdater.m in Sources */,
|
|
|
|
|
7A02CFF12361513600B49FAE /* IGListBindingSectionController+DebugDescription.m in Sources */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC76D29EFBD0300DC3B9A /* IGListBindingSingleSectionController.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CFFA2361513600B49FAE /* IGListWorkingRangeHandler.mm in Sources */,
|
2021-08-16 20:35:51 +00:00
|
|
|
E03DEA8F255C9AB200ACCAFC /* IGListTransitionData.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CFB22361513600B49FAE /* UIScrollView+IGListKit.m in Sources */,
|
|
|
|
|
7A02CF582361511100B49FAE /* IGListBindingSectionController.m in Sources */,
|
|
|
|
|
7A02CFE52361513600B49FAE /* IGListDisplayHandler.m in Sources */,
|
|
|
|
|
7A02CFC72361513600B49FAE /* IGListSectionMap.m in Sources */,
|
|
|
|
|
7A02D0002361513600B49FAE /* IGListDebugger.m in Sources */,
|
|
|
|
|
7A02CF342361511100B49FAE /* IGListAdapterUpdater.m in Sources */,
|
|
|
|
|
7A02D0062361513600B49FAE /* IGListDebuggingUtilities.m in Sources */,
|
|
|
|
|
7A02CF522361511100B49FAE /* IGListAdapter.m in Sources */,
|
|
|
|
|
7A02CF942361513600B49FAE /* IGListAdapter+DebugDescription.m in Sources */,
|
2019-12-17 21:05:00 +00:00
|
|
|
7A92EAB523A8A5FF00E5A13D /* IGListAdapterUpdaterHelpers.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CFD92361513600B49FAE /* IGListBatchUpdateData+DebugDescription.m in Sources */,
|
|
|
|
|
7A02CFAF2361513600B49FAE /* UICollectionViewLayout+InteractiveReordering.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
885FE1D81DC51A0D009CE2B4 /* Sources */ = {
|
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
2017-02-11 01:58:52 +00:00
|
|
|
298DDA381E3B168E00F76F50 /* IGLayoutTestItem.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE2311DC51B76009CE2B4 /* IGListDisplayHandlerTests.m in Sources */,
|
2017-02-11 01:58:52 +00:00
|
|
|
298DDA3B1E3B16F800F76F50 /* IGLayoutTestDataSource.m in Sources */,
|
2016-11-18 19:09:26 +00:00
|
|
|
29C474901DDF460500AE68CE /* IGListSectionMapTests.m in Sources */,
|
2016-11-20 00:01:35 +00:00
|
|
|
29C579321DE0DA8A003A149B /* IGTestStoryboardSupplementarySource.m in Sources */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DDA131E3AE3F100F76F50 /* IGTestDiffingDataSource.m in Sources */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68B329E9B3B9003744F8 /* IGListInteractiveMovingTests.m in Sources */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC76029EFBBB300DC3B9A /* IGListBindingSingleSectionControllerTests.m in Sources */,
|
|
|
|
|
F18CC76729EFBC3800DC3B9A /* IGListReloadDataUpdaterTests.m in Sources */,
|
2016-11-20 00:01:35 +00:00
|
|
|
29C5792F1DE0DA8A003A149B /* IGListTestAdapterStoryboardDataSource.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE23B1DC51B86009CE2B4 /* IGListTestUICollectionViewDataSource.m in Sources */,
|
|
|
|
|
885FE23D1DC51B86009CE2B4 /* IGTestDelegateController.m in Sources */,
|
2017-02-11 01:58:52 +00:00
|
|
|
298DDA251E3B15EE00F76F50 /* IGListCollectionViewLayoutTests.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE22B1DC51B76009CE2B4 /* IGListAdapterE2ETests.m in Sources */,
|
|
|
|
|
885FE2331DC51B76009CE2B4 /* IGListSingleSectionControllerTests.m in Sources */,
|
Interactive Reordering
Summary:
I had a desire for interactive reordering in a personal project, so here's a first attempt at adding support in IGListKit.
I figured I might as well get a WIP PR up for comments before I continue further as there are a few aspects to interactive reordering that don't interplay perfectly with IGListKit.
As discussed in #291, I went after two prime use cases:
1. Moving items amongst a section
2. Rearranging whole sections
I also "disabled" moving items between sections by having those moves revert, to mimic interactive reordering cancellation as closely as possible.
You can see both in the Mixed Data example. Grid items can be moved within a section, while users can be moved to reorder whole sections. But trying to move a grid item out of a grid or a user item into a grid will auto-revert. The revert animation isn't as tight as it should be. It may be more desirable to disable the animation - though you lose the visual cue.
There is a also a new example, `ReorderableViewController`, that demonstrates 2 in its pure form (likely the most desired use case), where all sections are reorderable single rows.
Happy to take feedback -- this is my first experience working on IGListKit, so I would expect there to be gaps. (Ex. I haven't used `IGListStackedSectionController`, and its tests failed as I hadn't implemented reordering delegates for it. Those are simply stubbed out for now.)
Issue fixed: #291
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
- [x] Proper support in `IGListStackedSectionController`
Closes https://github.com/Instagram/IGListKit/pull/976
Differential Revision: D6674493
Pulled By: rnystrom
fbshipit-source-id: cd53c5fdc6fb59636edc4747c4bbd0f81a4610e5
2018-02-12 17:09:26 +00:00
|
|
|
13DF01741FA0FD400092A320 /* IGListTestAdapterReorderingDataSource.m in Sources */,
|
2018-05-14 21:46:43 +00:00
|
|
|
E56B7B3520A9D7100071010C /* IGListCollectionScrollingTraitsTests.m in Sources */,
|
2016-11-20 00:01:35 +00:00
|
|
|
29C579311DE0DA8A003A149B /* IGTestNibSupplementaryView.m in Sources */,
|
Interactive Reordering
Summary:
I had a desire for interactive reordering in a personal project, so here's a first attempt at adding support in IGListKit.
I figured I might as well get a WIP PR up for comments before I continue further as there are a few aspects to interactive reordering that don't interplay perfectly with IGListKit.
As discussed in #291, I went after two prime use cases:
1. Moving items amongst a section
2. Rearranging whole sections
I also "disabled" moving items between sections by having those moves revert, to mimic interactive reordering cancellation as closely as possible.
You can see both in the Mixed Data example. Grid items can be moved within a section, while users can be moved to reorder whole sections. But trying to move a grid item out of a grid or a user item into a grid will auto-revert. The revert animation isn't as tight as it should be. It may be more desirable to disable the animation - though you lose the visual cue.
There is a also a new example, `ReorderableViewController`, that demonstrates 2 in its pure form (likely the most desired use case), where all sections are reorderable single rows.
Happy to take feedback -- this is my first experience working on IGListKit, so I would expect there to be gaps. (Ex. I haven't used `IGListStackedSectionController`, and its tests failed as I hadn't implemented reordering delegates for it. Those are simply stubbed out for now.)
Issue fixed: #291
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
- [x] Proper support in `IGListStackedSectionController`
Closes https://github.com/Instagram/IGListKit/pull/976
Differential Revision: D6674493
Pulled By: rnystrom
fbshipit-source-id: cd53c5fdc6fb59636edc4747c4bbd0f81a4610e5
2018-02-12 17:09:26 +00:00
|
|
|
13DF01781FA1000E0092A320 /* IGTestReorderableSection.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE23C1DC51B86009CE2B4 /* IGTestCell.m in Sources */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DDA001E3AE28000F76F50 /* IGTestDiffingObject.m in Sources */,
|
2016-11-20 00:01:35 +00:00
|
|
|
29C579331DE0DA8A003A149B /* IGTestStoryboardSupplementaryView.m in Sources */,
|
2019-06-12 05:25:14 +00:00
|
|
|
16B71CF022B0A08400FE96ED /* IGTestInvalidateLayoutObject.m in Sources */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68BB29E9B40A003744F8 /* IGListGenericSectionControllerTests.m in Sources */,
|
2019-06-12 05:25:14 +00:00
|
|
|
16B71CEC22B0A08400FE96ED /* IGTestInvalidateLayoutSectionController.m in Sources */,
|
2017-08-31 19:35:22 +00:00
|
|
|
2995409F1F588C9500F647CF /* IGTestBindingWithoutDeselectionDelegate.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE2401DC51B86009CE2B4 /* IGTestSingleItemDataSource.m in Sources */,
|
|
|
|
|
885FE2451DC51B86009CE2B4 /* IGTestStoryboardCell.m in Sources */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1E6302429EA43080060B4D6 /* IGListSectionControllerTests.m in Sources */,
|
2019-06-12 05:25:14 +00:00
|
|
|
16B71CEE22B0A08400FE96ED /* IGTestInvalidateLayoutDataSource.m in Sources */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DD9CF1E3ADD1400F76F50 /* IGListBindingSectionControllerTests.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE22F1DC51B76009CE2B4 /* IGListDiffSwiftTests.swift in Sources */,
|
|
|
|
|
885FE23F1DC51B86009CE2B4 /* IGTestObject.m in Sources */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68B929E9B3B9003744F8 /* IGListSingleSectionControllerTests.m in Sources */,
|
2023-03-22 02:12:01 +00:00
|
|
|
F1855A4D29BC565600558D18 /* IGListDiffDescriptionStringTests.m in Sources */,
|
2016-11-22 14:38:27 +00:00
|
|
|
828540511DE40D2D00118B94 /* IGListTestAdapterHorizontalDataSource.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE2371DC51B76009CE2B4 /* IGListWorkingRangeHandlerTests.m in Sources */,
|
2016-11-22 14:38:27 +00:00
|
|
|
8285404D1DE40C6E00118B94 /* IGListTestHorizontalSection.m in Sources */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DDA061E3AE2B000F76F50 /* IGTestNumberBindableCell.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE2381DC51B86009CE2B4 /* IGListTestAdapterDataSource.m in Sources */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68B529E9B3B9003744F8 /* IGListDebugDescriptionTests.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE2341DC51B76009CE2B4 /* IGListSingleNibItemControllerTests.m in Sources */,
|
|
|
|
|
885FE2391DC51B86009CE2B4 /* IGListTestOffsettingLayout.m in Sources */,
|
2016-11-18 19:09:26 +00:00
|
|
|
29C4748F1DDF460500AE68CE /* IGListDiffResultTests.m in Sources */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68B729E9B3B9003744F8 /* IGListTransactionTests.m in Sources */,
|
|
|
|
|
F1ED68BE29E9B41A003744F8 /* IGListContentInsetTests.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE2421DC51B86009CE2B4 /* IGTestSingleStoryboardItemDataSource.m in Sources */,
|
|
|
|
|
885FE2301DC51B76009CE2B4 /* IGListDiffTests.m in Sources */,
|
|
|
|
|
885FE22E1DC51B76009CE2B4 /* IGListBatchUpdateDataTests.m in Sources */,
|
2017-02-11 01:58:52 +00:00
|
|
|
298DDA3C1E3B170300F76F50 /* IGLayoutTestSection.m in Sources */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DDA0A1E3AE31E00F76F50 /* IGTestDiffingSectionController.m in Sources */,
|
2016-11-18 19:09:26 +00:00
|
|
|
29C4748D1DDF45F900AE68CE /* IGListAdapterProxyTests.m in Sources */,
|
2017-03-15 16:25:03 +00:00
|
|
|
82914C5C1E6E2DEC0066C2F8 /* IGListTestContainerSizeSection.m in Sources */,
|
2018-02-02 21:14:16 +00:00
|
|
|
88379729202236AC00B94676 /* IGListAdapterUpdateTester.m in Sources */,
|
2017-04-20 21:35:26 +00:00
|
|
|
29DA5CA81EA7D37000113926 /* IGListTestCase.m in Sources */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC76429EFBBE200DC3B9A /* IGTestBindingSingleItemDataSource.m in Sources */,
|
|
|
|
|
F18CC75D29EFBB9400DC3B9A /* IGListCollectionViewTests.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE22C1DC51B76009CE2B4 /* IGListAdapterTests.m in Sources */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DDA051E3AE2B000F76F50 /* IGTestStringBindableCell.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE22D1DC51B76009CE2B4 /* IGListAdapterUpdaterTests.m in Sources */,
|
|
|
|
|
885FE2351DC51B76009CE2B4 /* IGListSingleStoryboardItemControllerTests.m in Sources */,
|
2016-11-18 19:09:26 +00:00
|
|
|
29C4748E1DDF460500AE68CE /* IGListAdapterStoryboardTests.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE2411DC51B86009CE2B4 /* IGTestSingleNibItemDataSource.m in Sources */,
|
2017-12-18 20:17:48 +00:00
|
|
|
6A9EB3621F841E5D0070C572 /* IGTestSingleWithoutDeselectionDelegate.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE2461DC51B86009CE2B4 /* IGTestSupplementarySource.m in Sources */,
|
2016-11-05 23:27:32 +00:00
|
|
|
885FE2431DC51B86009CE2B4 /* IGTestStoryboardViewController.m in Sources */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68BC29E9B411003744F8 /* IGListDebuggerTests.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE23A1DC51B86009CE2B4 /* IGListTestSection.m in Sources */,
|
2016-11-20 00:01:35 +00:00
|
|
|
29C579301DE0DA8A003A149B /* IGListTestStoryboardSection.m in Sources */,
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE23E1DC51B86009CE2B4 /* IGTestDelegateDataSource.m in Sources */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B311D870D7E009E01F7 /* Sources */ = {
|
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF482361511100B49FAE /* IGListSingleSectionController.m in Sources */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E872502AAC40055DC2F /* IGListDataSourceChangeTransaction.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF122361511100B49FAE /* IGListGenericSectionController.m in Sources */,
|
|
|
|
|
7A02CFA52361513600B49FAE /* UICollectionView+IGListBatchUpdateData.m in Sources */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E832502AAC40055DC2F /* IGListItemUpdatesCollector.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CFC32361513600B49FAE /* UICollectionView+DebugDescription.m in Sources */,
|
|
|
|
|
7A02CFBD2361513600B49FAE /* IGListAdapterUpdater+DebugDescription.m in Sources */,
|
|
|
|
|
7A02CFAB2361513600B49FAE /* IGListReloadIndexPath.m in Sources */,
|
|
|
|
|
7A02CF5D2361511100B49FAE /* IGListSectionController.m in Sources */,
|
|
|
|
|
7A02D00B2361513600B49FAE /* IGListSectionMap+DebugDescription.m in Sources */,
|
|
|
|
|
7A02CF602361511100B49FAE /* IGListCollectionView.m in Sources */,
|
|
|
|
|
7A02CFBA2361513600B49FAE /* IGListAdapterProxy.m in Sources */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E8C2502AAC40055DC2F /* IGListReloadTransaction.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CFF32361513600B49FAE /* IGListAdapter+UICollectionView.m in Sources */,
|
|
|
|
|
7A02CF392361511100B49FAE /* IGListCollectionViewLayout.mm in Sources */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E7F2502AAC40055DC2F /* IGListBatchUpdateTransaction.m in Sources */,
|
|
|
|
|
57B22E802502AAC40055DC2F /* IGListUpdateTransactionBuilder.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CF2A2361511100B49FAE /* IGListReloadDataUpdater.m in Sources */,
|
|
|
|
|
7A02CFF02361513600B49FAE /* IGListBindingSectionController+DebugDescription.m in Sources */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC76C29EFBD0300DC3B9A /* IGListBindingSingleSectionController.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CFF92361513600B49FAE /* IGListWorkingRangeHandler.mm in Sources */,
|
2020-09-08 16:06:16 +00:00
|
|
|
57B22E6C2502AAB20055DC2F /* IGListTransitionData.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CFB12361513600B49FAE /* UIScrollView+IGListKit.m in Sources */,
|
|
|
|
|
7A02CF572361511100B49FAE /* IGListBindingSectionController.m in Sources */,
|
|
|
|
|
7A02CFE42361513600B49FAE /* IGListDisplayHandler.m in Sources */,
|
|
|
|
|
7A02CFC62361513600B49FAE /* IGListSectionMap.m in Sources */,
|
|
|
|
|
7A02CFFF2361513600B49FAE /* IGListDebugger.m in Sources */,
|
|
|
|
|
7A02CF332361511100B49FAE /* IGListAdapterUpdater.m in Sources */,
|
|
|
|
|
7A02D0052361513600B49FAE /* IGListDebuggingUtilities.m in Sources */,
|
|
|
|
|
7A02CF512361511100B49FAE /* IGListAdapter.m in Sources */,
|
|
|
|
|
7A02CF932361513600B49FAE /* IGListAdapter+DebugDescription.m in Sources */,
|
2019-12-17 21:05:00 +00:00
|
|
|
7AD6864B23A89E7F009000DE /* IGListAdapterUpdaterHelpers.m in Sources */,
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02CFD82361513600B49FAE /* IGListBatchUpdateData+DebugDescription.m in Sources */,
|
|
|
|
|
7A02CFAE2361513600B49FAE /* UICollectionViewLayout+InteractiveReordering.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
|
|
|
|
887D0B3B1D870D7F009E01F7 /* Sources */ = {
|
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
2017-02-11 01:58:52 +00:00
|
|
|
298DDA391E3B168F00F76F50 /* IGLayoutTestItem.m in Sources */,
|
Interactive Reordering
Summary:
I had a desire for interactive reordering in a personal project, so here's a first attempt at adding support in IGListKit.
I figured I might as well get a WIP PR up for comments before I continue further as there are a few aspects to interactive reordering that don't interplay perfectly with IGListKit.
As discussed in #291, I went after two prime use cases:
1. Moving items amongst a section
2. Rearranging whole sections
I also "disabled" moving items between sections by having those moves revert, to mimic interactive reordering cancellation as closely as possible.
You can see both in the Mixed Data example. Grid items can be moved within a section, while users can be moved to reorder whole sections. But trying to move a grid item out of a grid or a user item into a grid will auto-revert. The revert animation isn't as tight as it should be. It may be more desirable to disable the animation - though you lose the visual cue.
There is a also a new example, `ReorderableViewController`, that demonstrates 2 in its pure form (likely the most desired use case), where all sections are reorderable single rows.
Happy to take feedback -- this is my first experience working on IGListKit, so I would expect there to be gaps. (Ex. I haven't used `IGListStackedSectionController`, and its tests failed as I hadn't implemented reordering delegates for it. Those are simply stubbed out for now.)
Issue fixed: #291
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
- [x] Proper support in `IGListStackedSectionController`
Closes https://github.com/Instagram/IGListKit/pull/976
Differential Revision: D6674493
Pulled By: rnystrom
fbshipit-source-id: cd53c5fdc6fb59636edc4747c4bbd0f81a4610e5
2018-02-12 17:09:26 +00:00
|
|
|
13DF01731FA0FD400092A320 /* IGListTestAdapterReorderingDataSource.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F181D870EDC007C7F66 /* IGTestDelegateController.m in Sources */,
|
2017-04-21 23:34:49 +00:00
|
|
|
290DF3771E9323E6009FE456 /* IGListDebuggerTests.m in Sources */,
|
2017-02-11 01:58:52 +00:00
|
|
|
298DDA3A1E3B16F600F76F50 /* IGLayoutTestDataSource.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F0D1D870EDC007C7F66 /* IGListDisplayHandlerTests.m in Sources */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DDA141E3AE3F300F76F50 /* IGTestDiffingDataSource.m in Sources */,
|
2016-11-01 17:56:06 +00:00
|
|
|
8240C7F51DC2D99300B3AAE7 /* IGTestStoryboardSupplementarySource.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F1B1D870EDC007C7F66 /* IGTestSingleItemDataSource.m in Sources */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1E6302329EA43080060B4D6 /* IGListSectionControllerTests.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F171D870EDC007C7F66 /* IGTestCell.m in Sources */,
|
2017-02-11 01:58:52 +00:00
|
|
|
298DDA241E3B15EE00F76F50 /* IGListCollectionViewLayoutTests.m in Sources */,
|
2016-10-25 22:17:45 +00:00
|
|
|
821BC4C01DB8C9D500172ED0 /* IGListSingleStoryboardItemControllerTests.m in Sources */,
|
2016-11-18 02:48:07 +00:00
|
|
|
294AC6321DDE4C19002FCE5D /* IGListDiffResultTests.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F141D870EDC007C7F66 /* IGListTestOffsettingLayout.m in Sources */,
|
2016-11-01 17:56:06 +00:00
|
|
|
8240C7FB1DC2F6CF00B3AAE7 /* IGListTestAdapterStoryboardDataSource.m in Sources */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DDA011E3AE28000F76F50 /* IGTestDiffingObject.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F131D870EDC007C7F66 /* IGListTestAdapterDataSource.m in Sources */,
|
|
|
|
|
88144F071D870EDC007C7F66 /* IGListAdapterE2ETests.m in Sources */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68BA29E9B404003744F8 /* IGListInteractiveMovingTests.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F1A1D870EDC007C7F66 /* IGTestObject.m in Sources */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68BF29E9B443003744F8 /* IGListTransactionTests.m in Sources */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DD9CE1E3ADD1400F76F50 /* IGListBindingSectionControllerTests.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F0B1D870EDC007C7F66 /* IGListDiffSwiftTests.swift in Sources */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC75F29EFBBB300DC3B9A /* IGListBindingSingleSectionControllerTests.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F191D870EDC007C7F66 /* IGTestDelegateDataSource.m in Sources */,
|
2016-11-22 14:38:27 +00:00
|
|
|
828540501DE40D2D00118B94 /* IGListTestAdapterHorizontalDataSource.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F0C1D870EDC007C7F66 /* IGListDiffTests.m in Sources */,
|
2016-11-22 14:38:27 +00:00
|
|
|
8285404C1DE40C6E00118B94 /* IGListTestHorizontalSection.m in Sources */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DDA081E3AE2B100F76F50 /* IGTestNumberBindableCell.m in Sources */,
|
2017-08-31 19:35:22 +00:00
|
|
|
2995409E1F588C9400F647CF /* IGTestBindingWithoutDeselectionDelegate.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F0A1D870EDC007C7F66 /* IGListBatchUpdateDataTests.m in Sources */,
|
2016-10-15 01:46:16 +00:00
|
|
|
26271C8C1DAE96740073E116 /* IGListSingleNibItemControllerTests.m in Sources */,
|
2017-04-19 19:42:31 +00:00
|
|
|
29DA5CA31EA7C72400113926 /* IGListGenericSectionControllerTests.m in Sources */,
|
Interactive Reordering
Summary:
I had a desire for interactive reordering in a personal project, so here's a first attempt at adding support in IGListKit.
I figured I might as well get a WIP PR up for comments before I continue further as there are a few aspects to interactive reordering that don't interplay perfectly with IGListKit.
As discussed in #291, I went after two prime use cases:
1. Moving items amongst a section
2. Rearranging whole sections
I also "disabled" moving items between sections by having those moves revert, to mimic interactive reordering cancellation as closely as possible.
You can see both in the Mixed Data example. Grid items can be moved within a section, while users can be moved to reorder whole sections. But trying to move a grid item out of a grid or a user item into a grid will auto-revert. The revert animation isn't as tight as it should be. It may be more desirable to disable the animation - though you lose the visual cue.
There is a also a new example, `ReorderableViewController`, that demonstrates 2 in its pure form (likely the most desired use case), where all sections are reorderable single rows.
Happy to take feedback -- this is my first experience working on IGListKit, so I would expect there to be gaps. (Ex. I haven't used `IGListStackedSectionController`, and its tests failed as I hadn't implemented reordering delegates for it. Those are simply stubbed out for now.)
Issue fixed: #291
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
- [x] Proper support in `IGListStackedSectionController`
Closes https://github.com/Instagram/IGListKit/pull/976
Differential Revision: D6674493
Pulled By: rnystrom
fbshipit-source-id: cd53c5fdc6fb59636edc4747c4bbd0f81a4610e5
2018-02-12 17:09:26 +00:00
|
|
|
13DF01771FA1000E0092A320 /* IGTestReorderableSection.m in Sources */,
|
2016-11-08 14:18:29 +00:00
|
|
|
829D7BAA1DD1819000549816 /* IGListSectionMapTests.m in Sources */,
|
2023-04-18 03:41:49 +00:00
|
|
|
F1ED68BD29E9B415003744F8 /* IGListDebugDescriptionTests.m in Sources */,
|
2018-05-14 21:46:43 +00:00
|
|
|
E56B7B3420A9D7100071010C /* IGListCollectionScrollingTraitsTests.m in Sources */,
|
2019-06-12 05:25:14 +00:00
|
|
|
16B71CEB22B0A08400FE96ED /* IGTestInvalidateLayoutSectionController.m in Sources */,
|
2016-11-20 00:01:35 +00:00
|
|
|
29C5792E1DE0DA89003A149B /* IGTestNibSupplementaryView.m in Sources */,
|
2016-10-28 14:31:37 +00:00
|
|
|
88144F101D870EDC007C7F66 /* IGListSingleSectionControllerTests.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F121D870EDC007C7F66 /* IGListWorkingRangeHandlerTests.m in Sources */,
|
2023-03-22 02:12:01 +00:00
|
|
|
F1855A4C29BC565600558D18 /* IGListDiffDescriptionStringTests.m in Sources */,
|
2016-10-25 22:17:45 +00:00
|
|
|
821BC4D31DB981AB00172ED0 /* IGTestSingleStoryboardItemDataSource.m in Sources */,
|
2017-02-11 01:58:52 +00:00
|
|
|
298DDA3D1E3B170400F76F50 /* IGLayoutTestSection.m in Sources */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DDA091E3AE31D00F76F50 /* IGTestDiffingSectionController.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F151D870EDC007C7F66 /* IGListTestSection.m in Sources */,
|
2017-03-15 16:25:03 +00:00
|
|
|
82914C5B1E6E2DEC0066C2F8 /* IGListTestContainerSizeSection.m in Sources */,
|
2017-04-20 21:35:26 +00:00
|
|
|
29DA5CA71EA7D37000113926 /* IGListTestCase.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F1D1D870EDC007C7F66 /* IGTestSupplementarySource.m in Sources */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC76629EFBC3800DC3B9A /* IGListReloadDataUpdaterTests.m in Sources */,
|
2017-12-18 16:33:24 +00:00
|
|
|
E8D312E01FC472A60009FA2F /* IGListContentInsetTests.m in Sources */,
|
2017-03-15 14:44:52 +00:00
|
|
|
298DDA071E3AE2B100F76F50 /* IGTestStringBindableCell.m in Sources */,
|
2019-06-12 05:25:14 +00:00
|
|
|
16B71CED22B0A08400FE96ED /* IGTestInvalidateLayoutDataSource.m in Sources */,
|
|
|
|
|
16B71CEF22B0A08400FE96ED /* IGTestInvalidateLayoutObject.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F081D870EDC007C7F66 /* IGListAdapterTests.m in Sources */,
|
2016-11-01 17:56:06 +00:00
|
|
|
8240C7F21DC284C300B3AAE7 /* IGListAdapterStoryboardTests.m in Sources */,
|
|
|
|
|
8240C7F01DC272CA00B3AAE7 /* IGTestStoryboardSupplementaryView.m in Sources */,
|
2018-02-02 21:14:16 +00:00
|
|
|
88379728202236AB00B94676 /* IGListAdapterUpdateTester.m in Sources */,
|
2016-11-01 17:56:06 +00:00
|
|
|
821BC4CB1DB8D60100172ED0 /* IGTestStoryboardViewController.m in Sources */,
|
2016-10-25 22:17:45 +00:00
|
|
|
821BC4D01DB8D90900172ED0 /* IGTestStoryboardCell.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
88144F161D870EDC007C7F66 /* IGListTestUICollectionViewDataSource.m in Sources */,
|
|
|
|
|
88144F091D870EDC007C7F66 /* IGListAdapterUpdaterTests.m in Sources */,
|
2016-11-18 19:09:26 +00:00
|
|
|
29C4748C1DDF45F400AE68CE /* IGListAdapterProxyTests.m in Sources */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC75C29EFBB9400DC3B9A /* IGListCollectionViewTests.m in Sources */,
|
2016-11-01 17:56:06 +00:00
|
|
|
8240C7F81DC2F3FB00B3AAE7 /* IGListTestStoryboardSection.m in Sources */,
|
2023-04-20 21:26:11 +00:00
|
|
|
F18CC76329EFBBE200DC3B9A /* IGTestBindingSingleItemDataSource.m in Sources */,
|
2016-10-15 01:46:16 +00:00
|
|
|
26271C8A1DAE94E40073E116 /* IGTestSingleNibItemDataSource.m in Sources */,
|
2017-12-18 20:17:48 +00:00
|
|
|
6A9EB3611F841E5D0070C572 /* IGTestSingleWithoutDeselectionDelegate.m in Sources */,
|
2016-09-07 22:37:59 +00:00
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF89781E010E6A00B1B9B4 /* Sources */ = {
|
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
88DF898A1E010F7000B1B9B4 /* IGListDiffTests.m in Sources */,
|
|
|
|
|
88DF89891E010F6500B1B9B4 /* IGListDiffSwiftTests.swift in Sources */,
|
|
|
|
|
882BC1321E0118CB0083B311 /* IGTestObject.m in Sources */,
|
2016-12-20 05:01:33 +00:00
|
|
|
0B3B93611E08E38C008390ED /* IGListBatchUpdateDataTests.m in Sources */,
|
2023-03-22 02:12:01 +00:00
|
|
|
F1855A4E29BC565600558D18 /* IGListDiffDescriptionStringTests.m in Sources */,
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF89881E010F5C00B1B9B4 /* IGListDiffResultTests.m in Sources */,
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-12-14 04:31:41 +00:00
|
|
|
DD3152671DE227FA00AC9D2C /* Sources */ = {
|
|
|
|
|
isa = PBXSourcesBuildPhase;
|
|
|
|
|
buildActionMask = 2147483647;
|
|
|
|
|
files = (
|
|
|
|
|
);
|
|
|
|
|
runOnlyForDeploymentPostprocessing = 0;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
/* End PBXSourcesBuildPhase section */
|
|
|
|
|
|
|
|
|
|
/* Begin PBXTargetDependency section */
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0B32361546300B49FAE /* PBXTargetDependency */ = {
|
|
|
|
|
isa = PBXTargetDependency;
|
|
|
|
|
target = 7A02D01C2361520200B49FAE /* IGListDiffKit */;
|
|
|
|
|
targetProxy = 7A02D0B22361546300B49FAE /* PBXContainerItemProxy */;
|
|
|
|
|
};
|
|
|
|
|
7A02D0BD23615B8B00B49FAE /* PBXTargetDependency */ = {
|
|
|
|
|
isa = PBXTargetDependency;
|
|
|
|
|
target = 7A02D02A2361525800B49FAE /* IGListDiffKit-tvOS */;
|
|
|
|
|
targetProxy = 7A02D0BC23615B8B00B49FAE /* PBXContainerItemProxy */;
|
|
|
|
|
};
|
|
|
|
|
7A02D0BF23615B9000B49FAE /* PBXTargetDependency */ = {
|
|
|
|
|
isa = PBXTargetDependency;
|
|
|
|
|
target = 7A02D0372361526600B49FAE /* IGListDiffKit-macOS */;
|
|
|
|
|
targetProxy = 7A02D0BE23615B9000B49FAE /* PBXContainerItemProxy */;
|
|
|
|
|
};
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EAA223A8A4E700E5A13D /* PBXTargetDependency */ = {
|
|
|
|
|
isa = PBXTargetDependency;
|
|
|
|
|
target = 887D0B351D870D7E009E01F7 /* IGListKit */;
|
|
|
|
|
targetProxy = 7A92EAA123A8A4E700E5A13D /* PBXContainerItemProxy */;
|
|
|
|
|
};
|
|
|
|
|
7A92EAB323A8A53F00E5A13D /* PBXTargetDependency */ = {
|
|
|
|
|
isa = PBXTargetDependency;
|
|
|
|
|
target = 885FE1D31DC51A0D009CE2B4 /* IGListKit-tvOS */;
|
|
|
|
|
targetProxy = 7A92EAB223A8A53F00E5A13D /* PBXContainerItemProxy */;
|
|
|
|
|
};
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1DF1DC51A0D009CE2B4 /* PBXTargetDependency */ = {
|
|
|
|
|
isa = PBXTargetDependency;
|
|
|
|
|
target = 885FE1D31DC51A0D009CE2B4 /* IGListKit-tvOS */;
|
|
|
|
|
targetProxy = 885FE1DE1DC51A0D009CE2B4 /* PBXContainerItemProxy */;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B421D870D7F009E01F7 /* PBXTargetDependency */ = {
|
|
|
|
|
isa = PBXTargetDependency;
|
|
|
|
|
target = 887D0B351D870D7E009E01F7 /* IGListKit */;
|
|
|
|
|
targetProxy = 887D0B411D870D7F009E01F7 /* PBXContainerItemProxy */;
|
|
|
|
|
};
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF89831E010E6A00B1B9B4 /* PBXTargetDependency */ = {
|
|
|
|
|
isa = PBXTargetDependency;
|
|
|
|
|
target = DD3152661DE227FA00AC9D2C /* IGListKit-macOS */;
|
|
|
|
|
targetProxy = 88DF89821E010E6A00B1B9B4 /* PBXContainerItemProxy */;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
/* End PBXTargetDependency section */
|
|
|
|
|
|
|
|
|
|
/* Begin XCBuildConfiguration section */
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0232361520200B49FAE /* Debug */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
2020-02-27 00:18:39 +00:00
|
|
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
2019-10-31 15:17:38 +00:00
|
|
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
|
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
|
|
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
|
|
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
|
|
|
CODE_SIGN_IDENTITY = "";
|
|
|
|
|
CODE_SIGN_STYLE = Manual;
|
|
|
|
|
DEFINES_MODULE = YES;
|
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
|
|
|
INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2019-10-31 15:17:38 +00:00
|
|
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
|
|
|
|
MTL_FAST_MATH = YES;
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListDiffKit;
|
|
|
|
|
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
|
|
|
|
|
SKIP_INSTALL = YES;
|
|
|
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
|
|
|
};
|
|
|
|
|
name = Debug;
|
|
|
|
|
};
|
|
|
|
|
7A02D0242361520200B49FAE /* Release */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
2020-02-27 00:18:39 +00:00
|
|
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
2019-10-31 15:17:38 +00:00
|
|
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
|
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
|
|
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
|
|
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
|
|
|
CODE_SIGN_IDENTITY = "";
|
|
|
|
|
CODE_SIGN_STYLE = Manual;
|
|
|
|
|
DEFINES_MODULE = YES;
|
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
|
|
|
INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2019-10-31 15:17:38 +00:00
|
|
|
MTL_FAST_MATH = YES;
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListDiffKit;
|
|
|
|
|
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
|
|
|
|
|
SKIP_INSTALL = YES;
|
|
|
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
|
|
|
};
|
|
|
|
|
name = Release;
|
|
|
|
|
};
|
|
|
|
|
7A02D0312361525800B49FAE /* Debug */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
2020-02-27 00:18:39 +00:00
|
|
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
2019-10-31 15:17:38 +00:00
|
|
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
|
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
|
|
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
|
|
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
|
|
|
CODE_SIGN_IDENTITY = "";
|
|
|
|
|
CODE_SIGN_STYLE = Manual;
|
|
|
|
|
DEFINES_MODULE = YES;
|
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
|
|
|
INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2019-10-31 15:17:38 +00:00
|
|
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
|
|
|
|
MTL_FAST_MATH = YES;
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListDiffKit;
|
|
|
|
|
PRODUCT_NAME = IGListDiffKit;
|
|
|
|
|
SDKROOT = appletvos;
|
|
|
|
|
SKIP_INSTALL = YES;
|
|
|
|
|
TARGETED_DEVICE_FAMILY = 3;
|
|
|
|
|
TVOS_DEPLOYMENT_TARGET = 9.0;
|
|
|
|
|
};
|
|
|
|
|
name = Debug;
|
|
|
|
|
};
|
|
|
|
|
7A02D0322361525800B49FAE /* Release */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
2020-02-27 00:18:39 +00:00
|
|
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
2019-10-31 15:17:38 +00:00
|
|
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
|
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
|
|
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
|
|
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
|
|
|
CODE_SIGN_IDENTITY = "";
|
|
|
|
|
CODE_SIGN_STYLE = Manual;
|
|
|
|
|
DEFINES_MODULE = YES;
|
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
|
|
|
INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2019-10-31 15:17:38 +00:00
|
|
|
MTL_FAST_MATH = YES;
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListDiffKit;
|
|
|
|
|
PRODUCT_NAME = IGListDiffKit;
|
|
|
|
|
SDKROOT = appletvos;
|
|
|
|
|
SKIP_INSTALL = YES;
|
|
|
|
|
TARGETED_DEVICE_FAMILY = 3;
|
|
|
|
|
TVOS_DEPLOYMENT_TARGET = 9.0;
|
|
|
|
|
};
|
|
|
|
|
name = Release;
|
|
|
|
|
};
|
|
|
|
|
7A02D03E2361526600B49FAE /* Debug */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
2020-02-27 00:18:39 +00:00
|
|
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
2019-10-31 15:17:38 +00:00
|
|
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
|
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
|
|
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
|
|
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
|
|
|
CODE_SIGN_IDENTITY = "";
|
|
|
|
|
CODE_SIGN_STYLE = Manual;
|
|
|
|
|
COMBINE_HIDPI_IMAGES = YES;
|
|
|
|
|
DEFINES_MODULE = YES;
|
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
|
|
|
INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/../Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2019-10-31 15:17:38 +00:00
|
|
|
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
|
|
|
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
|
|
|
|
MTL_FAST_MATH = YES;
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListDiffKit;
|
|
|
|
|
PRODUCT_NAME = IGListDiffKit;
|
|
|
|
|
SDKROOT = macosx;
|
|
|
|
|
SKIP_INSTALL = YES;
|
|
|
|
|
};
|
|
|
|
|
name = Debug;
|
|
|
|
|
};
|
|
|
|
|
7A02D03F2361526600B49FAE /* Release */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
2020-02-27 00:18:39 +00:00
|
|
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
2019-10-31 15:17:38 +00:00
|
|
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
|
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
|
|
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
|
|
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
|
|
|
CODE_SIGN_IDENTITY = "";
|
|
|
|
|
CODE_SIGN_STYLE = Manual;
|
|
|
|
|
COMBINE_HIDPI_IMAGES = YES;
|
|
|
|
|
DEFINES_MODULE = YES;
|
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
|
|
|
INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/../Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2019-10-31 15:17:38 +00:00
|
|
|
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
|
|
|
|
MTL_FAST_MATH = YES;
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListDiffKit;
|
|
|
|
|
PRODUCT_NAME = IGListDiffKit;
|
|
|
|
|
SDKROOT = macosx;
|
|
|
|
|
SKIP_INSTALL = YES;
|
|
|
|
|
};
|
|
|
|
|
name = Release;
|
|
|
|
|
};
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9D23A8A42000E5A13D /* Debug */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
|
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
|
|
|
CLANG_ENABLE_MODULES = YES;
|
|
|
|
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
|
|
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
|
|
|
CODE_SIGN_STYLE = Automatic;
|
|
|
|
|
DEFINES_MODULE = YES;
|
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
|
|
|
INFOPLIST_FILE = Source/Info.plist;
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
|
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 13.2;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2019-12-19 16:11:46 +00:00
|
|
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
|
|
|
|
MTL_FAST_MATH = YES;
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListSwiftKit;
|
|
|
|
|
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
|
|
|
|
|
SKIP_INSTALL = YES;
|
|
|
|
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
|
|
|
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
|
|
|
SWIFT_VERSION = 5.0;
|
|
|
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
|
|
|
};
|
|
|
|
|
name = Debug;
|
|
|
|
|
};
|
|
|
|
|
7A92EA9E23A8A42000E5A13D /* Release */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
|
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
|
|
|
CLANG_ENABLE_MODULES = YES;
|
|
|
|
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
|
|
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
|
|
|
CODE_SIGN_STYLE = Automatic;
|
|
|
|
|
DEFINES_MODULE = YES;
|
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
|
|
|
INFOPLIST_FILE = Source/Info.plist;
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
|
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 13.2;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2019-12-19 16:11:46 +00:00
|
|
|
MTL_FAST_MATH = YES;
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListSwiftKit;
|
|
|
|
|
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
|
|
|
|
|
SKIP_INSTALL = YES;
|
|
|
|
|
SWIFT_VERSION = 5.0;
|
|
|
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
|
|
|
};
|
|
|
|
|
name = Release;
|
|
|
|
|
};
|
|
|
|
|
7A92EAAE23A8A50100E5A13D /* Debug */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
|
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
|
|
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
|
|
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
|
|
|
CODE_SIGN_STYLE = Automatic;
|
|
|
|
|
DEFINES_MODULE = YES;
|
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
|
|
|
INFOPLIST_FILE = Source/Info.plist;
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2019-12-19 16:11:46 +00:00
|
|
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
|
|
|
|
MTL_FAST_MATH = YES;
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = "com.instagram.IGListSwiftKit-tvOS";
|
|
|
|
|
PRODUCT_NAME = IGListSwiftKit;
|
|
|
|
|
SDKROOT = appletvos;
|
|
|
|
|
SKIP_INSTALL = YES;
|
|
|
|
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
|
|
|
|
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
|
|
|
|
SWIFT_VERSION = 5.0;
|
|
|
|
|
TARGETED_DEVICE_FAMILY = 3;
|
|
|
|
|
TVOS_DEPLOYMENT_TARGET = 13.2;
|
|
|
|
|
};
|
|
|
|
|
name = Debug;
|
|
|
|
|
};
|
|
|
|
|
7A92EAAF23A8A50100E5A13D /* Release */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
|
|
|
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
|
|
|
|
|
CLANG_ENABLE_OBJC_WEAK = YES;
|
|
|
|
|
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
|
|
|
|
|
CODE_SIGN_STYLE = Automatic;
|
|
|
|
|
DEFINES_MODULE = YES;
|
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
|
|
|
INFOPLIST_FILE = Source/Info.plist;
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2019-12-19 16:11:46 +00:00
|
|
|
MTL_FAST_MATH = YES;
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = "com.instagram.IGListSwiftKit-tvOS";
|
|
|
|
|
PRODUCT_NAME = IGListSwiftKit;
|
|
|
|
|
SDKROOT = appletvos;
|
|
|
|
|
SKIP_INSTALL = YES;
|
|
|
|
|
SWIFT_VERSION = 5.0;
|
|
|
|
|
TARGETED_DEVICE_FAMILY = 3;
|
|
|
|
|
TVOS_DEPLOYMENT_TARGET = 13.2;
|
|
|
|
|
};
|
|
|
|
|
name = Release;
|
|
|
|
|
};
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1E51DC51A0D009CE2B4 /* Debug */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
CODE_SIGN_IDENTITY = "";
|
2018-02-02 21:14:16 +00:00
|
|
|
CODE_SIGN_STYLE = Manual;
|
2016-10-29 21:39:18 +00:00
|
|
|
DEFINES_MODULE = YES;
|
2018-02-02 21:14:16 +00:00
|
|
|
DEVELOPMENT_TEAM = "";
|
2016-10-29 21:39:18 +00:00
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
2017-03-13 22:47:33 +00:00
|
|
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
|
|
|
|
GCC_WARN_SHADOW = YES;
|
2016-10-29 21:39:18 +00:00
|
|
|
INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2016-10-29 21:39:18 +00:00
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListKit;
|
|
|
|
|
PRODUCT_NAME = IGListKit;
|
2018-02-02 21:14:16 +00:00
|
|
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
2016-10-29 21:39:18 +00:00
|
|
|
SDKROOT = appletvos;
|
|
|
|
|
SKIP_INSTALL = YES;
|
2017-03-13 22:47:33 +00:00
|
|
|
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
|
2016-10-29 21:39:18 +00:00
|
|
|
TARGETED_DEVICE_FAMILY = 3;
|
|
|
|
|
TVOS_DEPLOYMENT_TARGET = 9.0;
|
|
|
|
|
};
|
|
|
|
|
name = Debug;
|
|
|
|
|
};
|
|
|
|
|
885FE1E61DC51A0D009CE2B4 /* Release */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
CODE_SIGN_IDENTITY = "";
|
2018-02-02 21:14:16 +00:00
|
|
|
CODE_SIGN_STYLE = Manual;
|
2016-10-29 21:39:18 +00:00
|
|
|
DEFINES_MODULE = YES;
|
2018-02-02 21:14:16 +00:00
|
|
|
DEVELOPMENT_TEAM = "";
|
2016-10-29 21:39:18 +00:00
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
2017-03-13 22:47:33 +00:00
|
|
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
|
|
|
|
GCC_WARN_SHADOW = YES;
|
2016-10-29 21:39:18 +00:00
|
|
|
INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2016-10-29 21:39:18 +00:00
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListKit;
|
|
|
|
|
PRODUCT_NAME = IGListKit;
|
2018-02-02 21:14:16 +00:00
|
|
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
2016-10-29 21:39:18 +00:00
|
|
|
SDKROOT = appletvos;
|
|
|
|
|
SKIP_INSTALL = YES;
|
2017-03-13 22:47:33 +00:00
|
|
|
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
|
2016-10-29 21:39:18 +00:00
|
|
|
TARGETED_DEVICE_FAMILY = 3;
|
|
|
|
|
TVOS_DEPLOYMENT_TARGET = 9.0;
|
|
|
|
|
};
|
|
|
|
|
name = Release;
|
|
|
|
|
};
|
|
|
|
|
885FE1E71DC51A0D009CE2B4 /* Debug */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
2018-02-02 21:14:16 +00:00
|
|
|
CODE_SIGN_STYLE = Manual;
|
|
|
|
|
DEVELOPMENT_TEAM = "";
|
2023-04-18 03:41:49 +00:00
|
|
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
|
|
|
"DEBUG=1",
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"NS_BLOCK_ASSERTIONS=1",
|
|
|
|
|
);
|
2017-03-13 22:47:33 +00:00
|
|
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
|
|
|
|
GCC_WARN_SHADOW = YES;
|
2016-10-29 21:39:18 +00:00
|
|
|
INFOPLIST_FILE = Tests/Info.plist;
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2016-10-29 21:39:18 +00:00
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListKit;
|
|
|
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
2018-02-02 21:14:16 +00:00
|
|
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
2016-10-29 21:39:18 +00:00
|
|
|
SDKROOT = appletvos;
|
2016-11-22 00:57:23 +00:00
|
|
|
SWIFT_OBJC_BRIDGING_HEADER = "Tests/IGListKitTests-Bridging-Header.h";
|
2017-03-13 22:47:33 +00:00
|
|
|
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
|
2019-12-19 05:50:02 +00:00
|
|
|
SWIFT_VERSION = 5.0;
|
2016-10-29 21:39:18 +00:00
|
|
|
TVOS_DEPLOYMENT_TARGET = 10.0;
|
|
|
|
|
};
|
|
|
|
|
name = Debug;
|
|
|
|
|
};
|
|
|
|
|
885FE1E81DC51A0D009CE2B4 /* Release */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
2018-02-02 21:14:16 +00:00
|
|
|
CODE_SIGN_STYLE = Manual;
|
|
|
|
|
DEVELOPMENT_TEAM = "";
|
2017-03-13 22:47:33 +00:00
|
|
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
|
|
|
|
GCC_WARN_SHADOW = YES;
|
2016-10-29 21:39:18 +00:00
|
|
|
INFOPLIST_FILE = Tests/Info.plist;
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2016-10-29 21:39:18 +00:00
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListKit;
|
|
|
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
2018-02-02 21:14:16 +00:00
|
|
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
2016-10-29 21:39:18 +00:00
|
|
|
SDKROOT = appletvos;
|
2016-11-22 00:57:23 +00:00
|
|
|
SWIFT_OBJC_BRIDGING_HEADER = "Tests/IGListKitTests-Bridging-Header.h";
|
2017-03-13 22:47:33 +00:00
|
|
|
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
|
2019-12-19 05:50:02 +00:00
|
|
|
SWIFT_VERSION = 5.0;
|
2016-10-29 21:39:18 +00:00
|
|
|
TVOS_DEPLOYMENT_TARGET = 10.0;
|
|
|
|
|
};
|
|
|
|
|
name = Release;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B481D870D7F009E01F7 /* Debug */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
|
|
|
CLANG_ANALYZER_NONNULL = YES;
|
|
|
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
|
|
|
CLANG_CXX_LIBRARY = "libc++";
|
2016-10-24 00:22:19 +00:00
|
|
|
CLANG_ENABLE_CODE_COVERAGE = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CLANG_ENABLE_MODULES = YES;
|
|
|
|
|
CLANG_ENABLE_OBJC_ARC = YES;
|
2017-10-26 18:14:11 +00:00
|
|
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
2017-10-26 18:14:11 +00:00
|
|
|
CLANG_WARN_COMMA = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
2018-07-25 13:35:14 +00:00
|
|
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
|
|
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
|
|
|
|
CLANG_WARN_EMPTY_BODY = YES;
|
|
|
|
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
|
|
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
|
|
|
CLANG_WARN_INT_CONVERSION = YES;
|
2017-10-26 18:14:11 +00:00
|
|
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
2018-07-25 13:35:14 +00:00
|
|
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
2017-10-26 18:14:11 +00:00
|
|
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
2017-10-26 18:14:11 +00:00
|
|
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
|
|
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
2016-10-11 19:24:47 +00:00
|
|
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CLANG_WARN_SUSPICIOUS_MOVES = YES;
|
|
|
|
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
|
|
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
|
|
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
|
|
|
|
COPY_PHASE_STRIP = NO;
|
|
|
|
|
CURRENT_PROJECT_VERSION = 1;
|
|
|
|
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
|
|
|
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
|
|
|
ENABLE_TESTABILITY = YES;
|
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
|
|
|
GCC_DYNAMIC_NO_PIC = NO;
|
|
|
|
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
|
|
|
GCC_OPTIMIZATION_LEVEL = 0;
|
|
|
|
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
|
|
|
"DEBUG=1",
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
);
|
|
|
|
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
2017-06-20 23:00:55 +00:00
|
|
|
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
|
|
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
|
|
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
|
|
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
|
|
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2016-12-14 17:30:09 +00:00
|
|
|
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
2016-09-07 22:37:59 +00:00
|
|
|
MTL_ENABLE_DEBUG_INFO = YES;
|
|
|
|
|
ONLY_ACTIVE_ARCH = YES;
|
Improve SwiftPM support (#1546)
Summary:
This diff imports and refines the PR made by cntrump on GitHub.
The PR introduces the following:
* Sample apps now use SPM instead of CocoaPods to import IGListKit.
* Adds Mac Catalyst as an example target.
* Adds C++ flags to the CocoaPods specs.
* Fixes a script issue that was discovered when regenerating the symlinks.
The PR originally aimed to remove the need for symlinked references to the IGListKit and IGListDiffKit source files, but in testing, I couldn't get it working. It's possible SPM being too strict [on where the headers can be placed to be discovered](https://forums.swift.org/t/how-do-i-specify-the-headers-directory-for-a-objc-target-in-swift-package-managers-package-swift/58531/3).
Additionally, another issue was that the original PR changed all of the `#import` statements to the the modular `import` statements, which is fine for the sample apps, but ended up breaking compatibility for any apps that had modules disabled.
## Changes in this pull request
Improve SwiftPM support:
Build module `IGListDiffKit` and `IGListKit` as Objective-C++.
module `IGListDiffKit`:
- Source/IGListDiffKit
- module defined in `Source/IGListDiffKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListKit`:
- depend on `IGListDiffKit`, use `import IGListDiffKit;`
- Source/IGListKit
- module defined in `Source/IGListKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListSwiftKit`:
- depend on `IGListKit`, use `import IGListKit`
- Source/IGListSwiftKit
Deleted `spm/` and `scripts/generate_spm_sources_layout.sh`, it is unnecessary.
Updated `.podspec`, add `'OTHER_CFLAGS' => '-fmodules'` and `'OTHER_CPLUSPLUSFLAGS' => '-fcxx-modules'`.
Add missing swift files for `IGListSwiftKit` in `IGListKit.xcodeproj`
### How to use
Replace `#import <IGListDiffKit/IGListDiffKit.h>` with `import IGListDiffKit;`, because `IGListDiffKit.h` isn't exist in `modulemap/`, Or create a symbol link by `ln -sf ../IGListDiffKit.h` for support it ?
### Examples
Use SwiftPM for building examples.
### Checklist
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [ ] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1546
Test Plan: Test PR showing running tests: https://github.com/TimOliver/IGListKit/actions/runs/4339956050/jobs/7578047058
Reviewed By: lorixx
Differential Revision: D33592395
Pulled By: TimOliver
fbshipit-source-id: 8f7b1873f2b1c6a80908bb55b123e31bea13bb0c
2023-03-07 07:29:41 +00:00
|
|
|
OTHER_CFLAGS = "-fmodules";
|
|
|
|
|
OTHER_CPLUSPLUSFLAGS = (
|
|
|
|
|
"$(OTHER_CFLAGS)",
|
|
|
|
|
"-fcxx-modules",
|
|
|
|
|
);
|
2016-09-07 22:37:59 +00:00
|
|
|
SDKROOT = iphoneos;
|
|
|
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
|
|
|
VERSIONING_SYSTEM = "apple-generic";
|
|
|
|
|
VERSION_INFO_PREFIX = "";
|
|
|
|
|
};
|
|
|
|
|
name = Debug;
|
|
|
|
|
};
|
|
|
|
|
887D0B491D870D7F009E01F7 /* Release */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
|
|
|
|
CLANG_ANALYZER_NONNULL = YES;
|
|
|
|
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
|
|
|
|
CLANG_CXX_LIBRARY = "libc++";
|
2016-10-24 00:22:19 +00:00
|
|
|
CLANG_ENABLE_CODE_COVERAGE = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CLANG_ENABLE_MODULES = YES;
|
|
|
|
|
CLANG_ENABLE_OBJC_ARC = YES;
|
2017-10-26 18:14:11 +00:00
|
|
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
2017-10-26 18:14:11 +00:00
|
|
|
CLANG_WARN_COMMA = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
2018-07-25 13:35:14 +00:00
|
|
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
|
|
|
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
|
|
|
|
|
CLANG_WARN_EMPTY_BODY = YES;
|
|
|
|
|
CLANG_WARN_ENUM_CONVERSION = YES;
|
|
|
|
|
CLANG_WARN_INFINITE_RECURSION = YES;
|
|
|
|
|
CLANG_WARN_INT_CONVERSION = YES;
|
2017-10-26 18:14:11 +00:00
|
|
|
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
2018-07-25 13:35:14 +00:00
|
|
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
2017-10-26 18:14:11 +00:00
|
|
|
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
2017-10-26 18:14:11 +00:00
|
|
|
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
|
|
|
|
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
2016-10-11 19:24:47 +00:00
|
|
|
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CLANG_WARN_SUSPICIOUS_MOVES = YES;
|
|
|
|
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
|
|
|
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
|
|
|
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
|
|
|
|
COPY_PHASE_STRIP = NO;
|
|
|
|
|
CURRENT_PROJECT_VERSION = 1;
|
|
|
|
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
|
|
|
|
ENABLE_NS_ASSERTIONS = NO;
|
|
|
|
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
|
|
|
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
|
|
|
|
GCC_NO_COMMON_BLOCKS = YES;
|
|
|
|
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
2017-06-20 23:00:55 +00:00
|
|
|
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
|
|
|
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
|
|
|
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
|
|
|
GCC_WARN_UNUSED_FUNCTION = YES;
|
|
|
|
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2016-12-14 17:30:09 +00:00
|
|
|
MACOSX_DEPLOYMENT_TARGET = 10.8;
|
2016-09-07 22:37:59 +00:00
|
|
|
MTL_ENABLE_DEBUG_INFO = NO;
|
Improve SwiftPM support (#1546)
Summary:
This diff imports and refines the PR made by cntrump on GitHub.
The PR introduces the following:
* Sample apps now use SPM instead of CocoaPods to import IGListKit.
* Adds Mac Catalyst as an example target.
* Adds C++ flags to the CocoaPods specs.
* Fixes a script issue that was discovered when regenerating the symlinks.
The PR originally aimed to remove the need for symlinked references to the IGListKit and IGListDiffKit source files, but in testing, I couldn't get it working. It's possible SPM being too strict [on where the headers can be placed to be discovered](https://forums.swift.org/t/how-do-i-specify-the-headers-directory-for-a-objc-target-in-swift-package-managers-package-swift/58531/3).
Additionally, another issue was that the original PR changed all of the `#import` statements to the the modular `import` statements, which is fine for the sample apps, but ended up breaking compatibility for any apps that had modules disabled.
## Changes in this pull request
Improve SwiftPM support:
Build module `IGListDiffKit` and `IGListKit` as Objective-C++.
module `IGListDiffKit`:
- Source/IGListDiffKit
- module defined in `Source/IGListDiffKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListKit`:
- depend on `IGListDiffKit`, use `import IGListDiffKit;`
- Source/IGListKit
- module defined in `Source/IGListKit/modulemap/module.modulemap`
- requires `-fmodules` and `-fcxx-modules`
module `IGListSwiftKit`:
- depend on `IGListKit`, use `import IGListKit`
- Source/IGListSwiftKit
Deleted `spm/` and `scripts/generate_spm_sources_layout.sh`, it is unnecessary.
Updated `.podspec`, add `'OTHER_CFLAGS' => '-fmodules'` and `'OTHER_CPLUSPLUSFLAGS' => '-fcxx-modules'`.
Add missing swift files for `IGListSwiftKit` in `IGListKit.xcodeproj`
### How to use
Replace `#import <IGListDiffKit/IGListDiffKit.h>` with `import IGListDiffKit;`, because `IGListDiffKit.h` isn't exist in `modulemap/`, Or create a symbol link by `ln -sf ../IGListDiffKit.h` for support it ?
### Examples
Use SwiftPM for building examples.
### Checklist
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [ ] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1546
Test Plan: Test PR showing running tests: https://github.com/TimOliver/IGListKit/actions/runs/4339956050/jobs/7578047058
Reviewed By: lorixx
Differential Revision: D33592395
Pulled By: TimOliver
fbshipit-source-id: 8f7b1873f2b1c6a80908bb55b123e31bea13bb0c
2023-03-07 07:29:41 +00:00
|
|
|
OTHER_CFLAGS = "-fmodules";
|
|
|
|
|
OTHER_CPLUSPLUSFLAGS = (
|
|
|
|
|
"$(OTHER_CFLAGS)",
|
|
|
|
|
"-fcxx-modules",
|
|
|
|
|
);
|
2016-09-07 22:37:59 +00:00
|
|
|
SDKROOT = iphoneos;
|
2023-03-13 07:49:15 +00:00
|
|
|
SWIFT_COMPILATION_MODE = wholemodule;
|
|
|
|
|
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
2016-09-07 22:37:59 +00:00
|
|
|
TARGETED_DEVICE_FAMILY = "1,2";
|
|
|
|
|
VALIDATE_PRODUCT = YES;
|
|
|
|
|
VERSIONING_SYSTEM = "apple-generic";
|
|
|
|
|
VERSION_INFO_PREFIX = "";
|
|
|
|
|
};
|
|
|
|
|
name = Release;
|
|
|
|
|
};
|
|
|
|
|
887D0B4B1D870D7F009E01F7 /* Debug */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
2016-10-17 02:43:27 +00:00
|
|
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
2016-10-11 19:24:47 +00:00
|
|
|
CLANG_ENABLE_MODULES = YES;
|
2016-11-19 19:56:21 +00:00
|
|
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CODE_SIGN_IDENTITY = "";
|
2018-02-02 21:14:16 +00:00
|
|
|
CODE_SIGN_STYLE = Manual;
|
2016-09-07 22:37:59 +00:00
|
|
|
DEFINES_MODULE = YES;
|
2018-02-02 21:14:16 +00:00
|
|
|
DEVELOPMENT_TEAM = "";
|
2016-09-07 22:37:59 +00:00
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
2016-11-19 19:56:21 +00:00
|
|
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
|
|
|
|
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
|
2017-03-13 22:47:33 +00:00
|
|
|
GCC_WARN_SHADOW = YES;
|
2016-11-19 19:56:21 +00:00
|
|
|
GCC_WARN_UNUSED_PARAMETER = NO;
|
2016-09-07 22:37:59 +00:00
|
|
|
INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2016-11-19 19:56:21 +00:00
|
|
|
OTHER_CFLAGS = (
|
|
|
|
|
"-Wambiguous-macro",
|
|
|
|
|
"-Wbool-conversion",
|
|
|
|
|
"-Wcomment",
|
|
|
|
|
"-Wconditional-uninitialized",
|
|
|
|
|
"-Wconstant-logical-operand",
|
|
|
|
|
"-Wcovered-switch-default",
|
|
|
|
|
"-Wdangling-else",
|
|
|
|
|
"-Wdeprecated-increment-bool",
|
|
|
|
|
"-Wdivision-by-zero",
|
|
|
|
|
"-Wduplicate-enum",
|
|
|
|
|
"-Wempty-body",
|
|
|
|
|
"-Wenum-compare",
|
|
|
|
|
"-Wenum-conversion",
|
|
|
|
|
"-Wformat",
|
|
|
|
|
"-Wformat-extra-args",
|
|
|
|
|
"-Wformat-security",
|
|
|
|
|
"-Wformat-zero-length",
|
|
|
|
|
"-Wignored-attributes",
|
|
|
|
|
"-Wignored-attributes",
|
|
|
|
|
"-Wimplicit-atomic-properties",
|
|
|
|
|
"-Wimplicit-fallthrough",
|
|
|
|
|
"-Wimplicit-retain-self",
|
|
|
|
|
"-Wincomplete-implementation",
|
|
|
|
|
"-Wloop-analysis",
|
|
|
|
|
"-Wmismatched-return-types",
|
|
|
|
|
"-Wnewline-eof",
|
|
|
|
|
"-Wnonnull",
|
|
|
|
|
"-Wnull-character",
|
|
|
|
|
"-Wobjc-method-access",
|
|
|
|
|
"-Wobjc-missing-super-calls",
|
|
|
|
|
"-Wreturn-type",
|
|
|
|
|
"-Wself-assign",
|
|
|
|
|
"-Wswitch",
|
|
|
|
|
"-Wswitch-bool",
|
|
|
|
|
"-Wswitch-enum",
|
|
|
|
|
"-Wunicode",
|
|
|
|
|
"-Wunknown-pragmas",
|
|
|
|
|
"-Wunused-const-variable",
|
|
|
|
|
"-Wunused-function",
|
|
|
|
|
"-Wunused-label",
|
|
|
|
|
"-Wunused-property-ivar",
|
|
|
|
|
"-Wunused-result",
|
|
|
|
|
"-Wunused-value",
|
2016-11-21 23:36:26 +00:00
|
|
|
"-Wnullable-to-nonnull-conversion",
|
2016-11-19 19:56:21 +00:00
|
|
|
);
|
2016-09-07 22:37:59 +00:00
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListKit;
|
|
|
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
2018-02-02 21:14:16 +00:00
|
|
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
2016-09-07 22:37:59 +00:00
|
|
|
SKIP_INSTALL = YES;
|
2016-10-11 19:24:47 +00:00
|
|
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
2017-03-13 22:47:33 +00:00
|
|
|
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
|
2019-12-19 05:50:02 +00:00
|
|
|
SWIFT_VERSiON = 5.0;
|
2016-09-07 22:37:59 +00:00
|
|
|
};
|
|
|
|
|
name = Debug;
|
|
|
|
|
};
|
|
|
|
|
887D0B4C1D870D7F009E01F7 /* Release */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
2016-10-17 02:43:27 +00:00
|
|
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
2016-10-11 19:24:47 +00:00
|
|
|
CLANG_ENABLE_MODULES = YES;
|
2016-11-19 19:56:21 +00:00
|
|
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
CODE_SIGN_IDENTITY = "";
|
2018-02-02 21:14:16 +00:00
|
|
|
CODE_SIGN_STYLE = Manual;
|
2016-09-07 22:37:59 +00:00
|
|
|
DEFINES_MODULE = YES;
|
2018-02-02 21:14:16 +00:00
|
|
|
DEVELOPMENT_TEAM = "";
|
2016-09-07 22:37:59 +00:00
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
2016-11-19 19:56:21 +00:00
|
|
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
|
|
|
|
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
|
2017-03-13 22:47:33 +00:00
|
|
|
GCC_WARN_SHADOW = YES;
|
2016-11-19 19:56:21 +00:00
|
|
|
GCC_WARN_UNUSED_PARAMETER = NO;
|
2016-09-07 22:37:59 +00:00
|
|
|
INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2016-11-19 19:56:21 +00:00
|
|
|
OTHER_CFLAGS = (
|
|
|
|
|
"-Wambiguous-macro",
|
|
|
|
|
"-Wbool-conversion",
|
|
|
|
|
"-Wcomment",
|
|
|
|
|
"-Wconditional-uninitialized",
|
|
|
|
|
"-Wconstant-logical-operand",
|
|
|
|
|
"-Wcovered-switch-default",
|
|
|
|
|
"-Wdangling-else",
|
|
|
|
|
"-Wdeprecated-increment-bool",
|
|
|
|
|
"-Wdivision-by-zero",
|
|
|
|
|
"-Wduplicate-enum",
|
|
|
|
|
"-Wempty-body",
|
|
|
|
|
"-Wenum-compare",
|
|
|
|
|
"-Wenum-conversion",
|
|
|
|
|
"-Wformat",
|
|
|
|
|
"-Wformat-extra-args",
|
|
|
|
|
"-Wformat-security",
|
|
|
|
|
"-Wformat-zero-length",
|
|
|
|
|
"-Wignored-attributes",
|
|
|
|
|
"-Wignored-attributes",
|
|
|
|
|
"-Wimplicit-atomic-properties",
|
|
|
|
|
"-Wimplicit-fallthrough",
|
|
|
|
|
"-Wimplicit-retain-self",
|
|
|
|
|
"-Wincomplete-implementation",
|
|
|
|
|
"-Wloop-analysis",
|
|
|
|
|
"-Wmismatched-return-types",
|
|
|
|
|
"-Wnewline-eof",
|
|
|
|
|
"-Wnonnull",
|
|
|
|
|
"-Wnull-character",
|
|
|
|
|
"-Wobjc-method-access",
|
|
|
|
|
"-Wobjc-missing-super-calls",
|
|
|
|
|
"-Wreturn-type",
|
|
|
|
|
"-Wself-assign",
|
|
|
|
|
"-Wswitch",
|
|
|
|
|
"-Wswitch-bool",
|
|
|
|
|
"-Wswitch-enum",
|
|
|
|
|
"-Wunicode",
|
|
|
|
|
"-Wunknown-pragmas",
|
|
|
|
|
"-Wunused-const-variable",
|
|
|
|
|
"-Wunused-function",
|
|
|
|
|
"-Wunused-label",
|
|
|
|
|
"-Wunused-property-ivar",
|
|
|
|
|
"-Wunused-result",
|
|
|
|
|
"-Wunused-value",
|
2016-11-21 23:36:26 +00:00
|
|
|
"-Wnullable-to-nonnull-conversion",
|
2016-11-19 19:56:21 +00:00
|
|
|
);
|
2016-09-07 22:37:59 +00:00
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListKit;
|
|
|
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
2018-02-02 21:14:16 +00:00
|
|
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
2016-09-07 22:37:59 +00:00
|
|
|
SKIP_INSTALL = YES;
|
2017-03-13 22:47:33 +00:00
|
|
|
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
|
2019-12-19 05:50:02 +00:00
|
|
|
SWIFT_VERSiON = 5.0;
|
2016-09-07 22:37:59 +00:00
|
|
|
};
|
|
|
|
|
name = Release;
|
|
|
|
|
};
|
|
|
|
|
887D0B4E1D870D7F009E01F7 /* Debug */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
CLANG_ENABLE_MODULES = YES;
|
2018-02-02 21:14:16 +00:00
|
|
|
CODE_SIGN_STYLE = Manual;
|
|
|
|
|
DEVELOPMENT_TEAM = "";
|
2023-04-18 03:41:49 +00:00
|
|
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
|
|
|
"DEBUG=1",
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"NS_BLOCK_ASSERTIONS=1",
|
|
|
|
|
);
|
2017-03-13 22:47:33 +00:00
|
|
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
|
|
|
|
GCC_WARN_SHADOW = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
INFOPLIST_FILE = Tests/Info.plist;
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2016-09-07 22:37:59 +00:00
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListKitTests;
|
|
|
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
2018-02-02 21:14:16 +00:00
|
|
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
2016-11-22 00:57:23 +00:00
|
|
|
SWIFT_OBJC_BRIDGING_HEADER = "Tests/IGListKitTests-Bridging-Header.h";
|
2016-09-07 22:37:59 +00:00
|
|
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
2017-03-13 22:47:33 +00:00
|
|
|
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
|
2019-12-19 05:50:02 +00:00
|
|
|
SWIFT_VERSION = 5.0;
|
2016-09-07 22:37:59 +00:00
|
|
|
};
|
|
|
|
|
name = Debug;
|
|
|
|
|
};
|
|
|
|
|
887D0B4F1D870D7F009E01F7 /* Release */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
CLANG_ENABLE_MODULES = YES;
|
2018-02-02 21:14:16 +00:00
|
|
|
CODE_SIGN_STYLE = Manual;
|
|
|
|
|
DEVELOPMENT_TEAM = "";
|
2017-03-13 22:47:33 +00:00
|
|
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
|
|
|
|
GCC_WARN_SHADOW = YES;
|
2016-09-07 22:37:59 +00:00
|
|
|
INFOPLIST_FILE = Tests/Info.plist;
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2016-09-07 22:37:59 +00:00
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListKitTests;
|
|
|
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
2018-02-02 21:14:16 +00:00
|
|
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
2016-11-22 00:57:23 +00:00
|
|
|
SWIFT_OBJC_BRIDGING_HEADER = "Tests/IGListKitTests-Bridging-Header.h";
|
2017-03-13 22:47:33 +00:00
|
|
|
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
|
2019-12-19 05:50:02 +00:00
|
|
|
SWIFT_VERSION = 5.0;
|
2016-09-07 22:37:59 +00:00
|
|
|
};
|
|
|
|
|
name = Release;
|
|
|
|
|
};
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF89841E010E6A00B1B9B4 /* Debug */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
CODE_SIGN_IDENTITY = "-";
|
2018-02-02 21:14:16 +00:00
|
|
|
CODE_SIGN_STYLE = Manual;
|
2016-12-14 07:01:21 +00:00
|
|
|
COMBINE_HIDPI_IMAGES = YES;
|
2018-02-02 21:14:16 +00:00
|
|
|
DEVELOPMENT_TEAM = "";
|
2023-04-18 03:41:49 +00:00
|
|
|
GCC_PREPROCESSOR_DEFINITIONS = (
|
|
|
|
|
"DEBUG=1",
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"NS_BLOCK_ASSERTIONS=1",
|
|
|
|
|
);
|
2017-03-13 22:47:33 +00:00
|
|
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
|
|
|
|
GCC_WARN_SHADOW = YES;
|
2016-12-14 07:01:21 +00:00
|
|
|
INFOPLIST_FILE = Tests/Info.plist;
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/../Frameworks",
|
|
|
|
|
"@loader_path/../Frameworks",
|
|
|
|
|
);
|
2016-12-14 07:01:21 +00:00
|
|
|
MACOSX_DEPLOYMENT_TARGET = 10.12;
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = "com.instagram.IGListKitTests-macOS";
|
|
|
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
2018-02-02 21:14:16 +00:00
|
|
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
2016-12-14 07:01:21 +00:00
|
|
|
SDKROOT = macosx;
|
2017-03-13 22:47:33 +00:00
|
|
|
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
|
2019-12-19 05:50:02 +00:00
|
|
|
SWIFT_VERSION = 5.0;
|
2016-12-14 07:01:21 +00:00
|
|
|
};
|
|
|
|
|
name = Debug;
|
|
|
|
|
};
|
|
|
|
|
88DF89851E010E6A00B1B9B4 /* Release */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
CODE_SIGN_IDENTITY = "-";
|
2018-02-02 21:14:16 +00:00
|
|
|
CODE_SIGN_STYLE = Manual;
|
2016-12-14 07:01:21 +00:00
|
|
|
COMBINE_HIDPI_IMAGES = YES;
|
2018-02-02 21:14:16 +00:00
|
|
|
DEVELOPMENT_TEAM = "";
|
2017-03-13 22:47:33 +00:00
|
|
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
|
|
|
|
GCC_WARN_SHADOW = YES;
|
2016-12-14 07:01:21 +00:00
|
|
|
INFOPLIST_FILE = Tests/Info.plist;
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/../Frameworks",
|
|
|
|
|
"@loader_path/../Frameworks",
|
|
|
|
|
);
|
2016-12-14 07:01:21 +00:00
|
|
|
MACOSX_DEPLOYMENT_TARGET = 10.12;
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = "com.instagram.IGListKitTests-macOS";
|
|
|
|
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
2018-02-02 21:14:16 +00:00
|
|
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
2016-12-14 07:01:21 +00:00
|
|
|
SDKROOT = macosx;
|
2017-03-13 22:47:33 +00:00
|
|
|
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
|
2019-12-19 05:50:02 +00:00
|
|
|
SWIFT_VERSION = 5.0;
|
2016-12-14 07:01:21 +00:00
|
|
|
};
|
|
|
|
|
name = Release;
|
|
|
|
|
};
|
2016-12-14 04:31:41 +00:00
|
|
|
DD3152AA1DE227FA00AC9D2C /* Debug */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
|
|
|
|
CLANG_ENABLE_MODULES = YES;
|
|
|
|
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
|
|
|
|
CODE_SIGN_IDENTITY = "";
|
2019-10-31 15:17:38 +00:00
|
|
|
CODE_SIGN_STYLE = Manual;
|
2016-12-14 04:31:41 +00:00
|
|
|
DEFINES_MODULE = YES;
|
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
|
|
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
|
|
|
|
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
|
2017-03-13 22:47:33 +00:00
|
|
|
GCC_WARN_SHADOW = YES;
|
2016-12-14 04:31:41 +00:00
|
|
|
GCC_WARN_UNUSED_PARAMETER = NO;
|
|
|
|
|
INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2018-02-03 16:17:22 +00:00
|
|
|
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
2016-12-14 04:31:41 +00:00
|
|
|
OTHER_CFLAGS = (
|
|
|
|
|
"-Wambiguous-macro",
|
|
|
|
|
"-Wbool-conversion",
|
|
|
|
|
"-Wcomment",
|
|
|
|
|
"-Wconditional-uninitialized",
|
|
|
|
|
"-Wconstant-logical-operand",
|
|
|
|
|
"-Wcovered-switch-default",
|
|
|
|
|
"-Wdangling-else",
|
|
|
|
|
"-Wdeprecated-increment-bool",
|
|
|
|
|
"-Wdivision-by-zero",
|
|
|
|
|
"-Wduplicate-enum",
|
|
|
|
|
"-Wempty-body",
|
|
|
|
|
"-Wenum-compare",
|
|
|
|
|
"-Wenum-conversion",
|
|
|
|
|
"-Wformat",
|
|
|
|
|
"-Wformat-extra-args",
|
|
|
|
|
"-Wformat-security",
|
|
|
|
|
"-Wformat-zero-length",
|
|
|
|
|
"-Wignored-attributes",
|
|
|
|
|
"-Wignored-attributes",
|
|
|
|
|
"-Wimplicit-atomic-properties",
|
|
|
|
|
"-Wimplicit-fallthrough",
|
|
|
|
|
"-Wimplicit-retain-self",
|
|
|
|
|
"-Wincomplete-implementation",
|
|
|
|
|
"-Wloop-analysis",
|
|
|
|
|
"-Wmismatched-return-types",
|
|
|
|
|
"-Wnewline-eof",
|
|
|
|
|
"-Wnonnull",
|
|
|
|
|
"-Wnull-character",
|
|
|
|
|
"-Wobjc-method-access",
|
|
|
|
|
"-Wobjc-missing-super-calls",
|
|
|
|
|
"-Wreturn-type",
|
|
|
|
|
"-Wself-assign",
|
|
|
|
|
"-Wswitch",
|
|
|
|
|
"-Wswitch-bool",
|
|
|
|
|
"-Wswitch-enum",
|
|
|
|
|
"-Wunicode",
|
|
|
|
|
"-Wunknown-pragmas",
|
|
|
|
|
"-Wunused-const-variable",
|
|
|
|
|
"-Wunused-function",
|
|
|
|
|
"-Wunused-label",
|
|
|
|
|
"-Wunused-property-ivar",
|
|
|
|
|
"-Wunused-result",
|
|
|
|
|
"-Wunused-value",
|
|
|
|
|
"-Wnullable-to-nonnull-conversion",
|
|
|
|
|
);
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListKit;
|
|
|
|
|
PRODUCT_NAME = IGListKit;
|
|
|
|
|
SDKROOT = macosx;
|
|
|
|
|
SKIP_INSTALL = YES;
|
|
|
|
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
2017-03-13 22:47:33 +00:00
|
|
|
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
|
2019-12-19 05:50:02 +00:00
|
|
|
SWIFT_VERSiON = 5.0;
|
2016-12-14 04:31:41 +00:00
|
|
|
};
|
|
|
|
|
name = Debug;
|
|
|
|
|
};
|
|
|
|
|
DD3152AB1DE227FA00AC9D2C /* Release */ = {
|
|
|
|
|
isa = XCBuildConfiguration;
|
|
|
|
|
buildSettings = {
|
|
|
|
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
|
|
|
|
CLANG_ENABLE_MODULES = YES;
|
|
|
|
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
|
|
|
|
CODE_SIGN_IDENTITY = "";
|
2019-10-31 15:17:38 +00:00
|
|
|
CODE_SIGN_STYLE = Manual;
|
2016-12-14 04:31:41 +00:00
|
|
|
DEFINES_MODULE = YES;
|
|
|
|
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
|
|
|
|
DYLIB_CURRENT_VERSION = 1;
|
|
|
|
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
|
|
|
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
|
|
|
|
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
|
2017-03-13 22:47:33 +00:00
|
|
|
GCC_WARN_SHADOW = YES;
|
2016-12-14 04:31:41 +00:00
|
|
|
GCC_WARN_UNUSED_PARAMETER = NO;
|
|
|
|
|
INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist";
|
|
|
|
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
2019-11-01 19:37:41 +00:00
|
|
|
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
2023-03-13 07:49:15 +00:00
|
|
|
LD_RUNPATH_SEARCH_PATHS = (
|
|
|
|
|
"$(inherited)",
|
|
|
|
|
"@executable_path/Frameworks",
|
|
|
|
|
"@loader_path/Frameworks",
|
|
|
|
|
);
|
2018-02-03 16:17:22 +00:00
|
|
|
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
2016-12-14 04:31:41 +00:00
|
|
|
OTHER_CFLAGS = (
|
|
|
|
|
"-Wambiguous-macro",
|
|
|
|
|
"-Wbool-conversion",
|
|
|
|
|
"-Wcomment",
|
|
|
|
|
"-Wconditional-uninitialized",
|
|
|
|
|
"-Wconstant-logical-operand",
|
|
|
|
|
"-Wcovered-switch-default",
|
|
|
|
|
"-Wdangling-else",
|
|
|
|
|
"-Wdeprecated-increment-bool",
|
|
|
|
|
"-Wdivision-by-zero",
|
|
|
|
|
"-Wduplicate-enum",
|
|
|
|
|
"-Wempty-body",
|
|
|
|
|
"-Wenum-compare",
|
|
|
|
|
"-Wenum-conversion",
|
|
|
|
|
"-Wformat",
|
|
|
|
|
"-Wformat-extra-args",
|
|
|
|
|
"-Wformat-security",
|
|
|
|
|
"-Wformat-zero-length",
|
|
|
|
|
"-Wignored-attributes",
|
|
|
|
|
"-Wignored-attributes",
|
|
|
|
|
"-Wimplicit-atomic-properties",
|
|
|
|
|
"-Wimplicit-fallthrough",
|
|
|
|
|
"-Wimplicit-retain-self",
|
|
|
|
|
"-Wincomplete-implementation",
|
|
|
|
|
"-Wloop-analysis",
|
|
|
|
|
"-Wmismatched-return-types",
|
|
|
|
|
"-Wnewline-eof",
|
|
|
|
|
"-Wnonnull",
|
|
|
|
|
"-Wnull-character",
|
|
|
|
|
"-Wobjc-method-access",
|
|
|
|
|
"-Wobjc-missing-super-calls",
|
|
|
|
|
"-Wreturn-type",
|
|
|
|
|
"-Wself-assign",
|
|
|
|
|
"-Wswitch",
|
|
|
|
|
"-Wswitch-bool",
|
|
|
|
|
"-Wswitch-enum",
|
|
|
|
|
"-Wunicode",
|
|
|
|
|
"-Wunknown-pragmas",
|
|
|
|
|
"-Wunused-const-variable",
|
|
|
|
|
"-Wunused-function",
|
|
|
|
|
"-Wunused-label",
|
|
|
|
|
"-Wunused-property-ivar",
|
|
|
|
|
"-Wunused-result",
|
|
|
|
|
"-Wunused-value",
|
|
|
|
|
"-Wnullable-to-nonnull-conversion",
|
|
|
|
|
);
|
|
|
|
|
PRODUCT_BUNDLE_IDENTIFIER = com.instagram.IGListKit;
|
|
|
|
|
PRODUCT_NAME = IGListKit;
|
|
|
|
|
SDKROOT = macosx;
|
|
|
|
|
SKIP_INSTALL = YES;
|
2017-03-13 22:47:33 +00:00
|
|
|
SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
|
2019-12-19 05:50:02 +00:00
|
|
|
SWIFT_VERSiON = 5.0;
|
2016-12-14 04:31:41 +00:00
|
|
|
};
|
|
|
|
|
name = Release;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
/* End XCBuildConfiguration section */
|
|
|
|
|
|
|
|
|
|
/* Begin XCConfigurationList section */
|
2019-10-31 15:17:38 +00:00
|
|
|
7A02D0222361520200B49FAE /* Build configuration list for PBXNativeTarget "IGListDiffKit" */ = {
|
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
|
buildConfigurations = (
|
|
|
|
|
7A02D0232361520200B49FAE /* Debug */,
|
|
|
|
|
7A02D0242361520200B49FAE /* Release */,
|
|
|
|
|
);
|
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
|
defaultConfigurationName = Release;
|
|
|
|
|
};
|
|
|
|
|
7A02D0302361525800B49FAE /* Build configuration list for PBXNativeTarget "IGListDiffKit-tvOS" */ = {
|
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
|
buildConfigurations = (
|
|
|
|
|
7A02D0312361525800B49FAE /* Debug */,
|
|
|
|
|
7A02D0322361525800B49FAE /* Release */,
|
|
|
|
|
);
|
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
|
defaultConfigurationName = Release;
|
|
|
|
|
};
|
|
|
|
|
7A02D03D2361526600B49FAE /* Build configuration list for PBXNativeTarget "IGListDiffKit-macOS" */ = {
|
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
|
buildConfigurations = (
|
|
|
|
|
7A02D03E2361526600B49FAE /* Debug */,
|
|
|
|
|
7A02D03F2361526600B49FAE /* Release */,
|
|
|
|
|
);
|
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
|
defaultConfigurationName = Release;
|
|
|
|
|
};
|
2019-12-19 16:11:46 +00:00
|
|
|
7A92EA9C23A8A42000E5A13D /* Build configuration list for PBXNativeTarget "IGListSwiftKit" */ = {
|
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
|
buildConfigurations = (
|
|
|
|
|
7A92EA9D23A8A42000E5A13D /* Debug */,
|
|
|
|
|
7A92EA9E23A8A42000E5A13D /* Release */,
|
|
|
|
|
);
|
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
|
defaultConfigurationName = Release;
|
|
|
|
|
};
|
|
|
|
|
7A92EAAD23A8A50100E5A13D /* Build configuration list for PBXNativeTarget "IGListSwiftKit-tvOS" */ = {
|
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
|
buildConfigurations = (
|
|
|
|
|
7A92EAAE23A8A50100E5A13D /* Debug */,
|
|
|
|
|
7A92EAAF23A8A50100E5A13D /* Release */,
|
|
|
|
|
);
|
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
|
defaultConfigurationName = Release;
|
|
|
|
|
};
|
2016-10-29 21:39:18 +00:00
|
|
|
885FE1E91DC51A0D009CE2B4 /* Build configuration list for PBXNativeTarget "IGListKit-tvOS" */ = {
|
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
|
buildConfigurations = (
|
|
|
|
|
885FE1E51DC51A0D009CE2B4 /* Debug */,
|
|
|
|
|
885FE1E61DC51A0D009CE2B4 /* Release */,
|
|
|
|
|
);
|
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
|
defaultConfigurationName = Release;
|
|
|
|
|
};
|
|
|
|
|
885FE1EA1DC51A0D009CE2B4 /* Build configuration list for PBXNativeTarget "IGListKit-tvOSTests" */ = {
|
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
|
buildConfigurations = (
|
|
|
|
|
885FE1E71DC51A0D009CE2B4 /* Debug */,
|
|
|
|
|
885FE1E81DC51A0D009CE2B4 /* Release */,
|
|
|
|
|
);
|
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
|
defaultConfigurationName = Release;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
887D0B301D870D7E009E01F7 /* Build configuration list for PBXProject "IGListKit" */ = {
|
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
|
buildConfigurations = (
|
|
|
|
|
887D0B481D870D7F009E01F7 /* Debug */,
|
|
|
|
|
887D0B491D870D7F009E01F7 /* Release */,
|
|
|
|
|
);
|
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
|
defaultConfigurationName = Release;
|
|
|
|
|
};
|
|
|
|
|
887D0B4A1D870D7F009E01F7 /* Build configuration list for PBXNativeTarget "IGListKit" */ = {
|
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
|
buildConfigurations = (
|
|
|
|
|
887D0B4B1D870D7F009E01F7 /* Debug */,
|
|
|
|
|
887D0B4C1D870D7F009E01F7 /* Release */,
|
|
|
|
|
);
|
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
|
defaultConfigurationName = Release;
|
|
|
|
|
};
|
|
|
|
|
887D0B4D1D870D7F009E01F7 /* Build configuration list for PBXNativeTarget "IGListKitTests" */ = {
|
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
|
buildConfigurations = (
|
|
|
|
|
887D0B4E1D870D7F009E01F7 /* Debug */,
|
|
|
|
|
887D0B4F1D870D7F009E01F7 /* Release */,
|
|
|
|
|
);
|
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
|
defaultConfigurationName = Release;
|
|
|
|
|
};
|
2016-12-14 07:01:21 +00:00
|
|
|
88DF89861E010E6A00B1B9B4 /* Build configuration list for PBXNativeTarget "IGListKit-macOSTests" */ = {
|
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
|
buildConfigurations = (
|
|
|
|
|
88DF89841E010E6A00B1B9B4 /* Debug */,
|
|
|
|
|
88DF89851E010E6A00B1B9B4 /* Release */,
|
|
|
|
|
);
|
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
|
defaultConfigurationName = Release;
|
|
|
|
|
};
|
2016-12-14 04:31:41 +00:00
|
|
|
DD3152A91DE227FA00AC9D2C /* Build configuration list for PBXNativeTarget "IGListKit-macOS" */ = {
|
|
|
|
|
isa = XCConfigurationList;
|
|
|
|
|
buildConfigurations = (
|
|
|
|
|
DD3152AA1DE227FA00AC9D2C /* Debug */,
|
|
|
|
|
DD3152AB1DE227FA00AC9D2C /* Release */,
|
|
|
|
|
);
|
|
|
|
|
defaultConfigurationIsVisible = 0;
|
|
|
|
|
defaultConfigurationName = Release;
|
|
|
|
|
};
|
2016-09-07 22:37:59 +00:00
|
|
|
/* End XCConfigurationList section */
|
|
|
|
|
};
|
|
|
|
|
rootObject = 887D0B2D1D870D7E009E01F7 /* Project object */;
|
|
|
|
|
}
|