diff --git a/.travis.yml b/.travis.yml index dd5a35a..2284690 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,9 @@ cache: directories: - vendor/bundle - Example/Pods/SwiftLint +before_install: + - xcrun instruments -s devices + - xcrun instruments -w "iPhone 7 (10.3.1) [" || true install: - bundle install --jobs=3 --retry=3 --deployment - bundle exec pod install --project-directory=Example diff --git a/CHANGELOG.md b/CHANGELOG.md index dc4163a..70215c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Change Log +## Next Release + +* Add a configuration for the photo albums navigation bar shadow color [#9](https://github.com/carousell/pickle/pull/9) +* Fix the photo albums layout after device rotation [#9](https://github.com/carousell/pickle/pull/9) + ## v1.0.0 * Initial release written in Swift 3.1 diff --git a/Dangerfile b/Dangerfile index e867bc1..8cc82d1 100644 --- a/Dangerfile +++ b/Dangerfile @@ -22,8 +22,7 @@ end # Review duty members = ENV["IOS_TEAM"] ? github.api.team_members(ENV["IOS_TEAM"]).map(&:login) : [] -contributors = github.api.contributors(repo).map(&:login) -reviewer = (contributors & members - [github.pr_author]).sample +reviewer = (members - [github.pr_author]).sample assigned = github.api.issue_comments(repo, pr_number).map(&:body).any? { |m| m.end_with? "can you review this pull request?" } if reviewer && !assigned diff --git a/Example/Pickle/CarousellImagePickerController.swift b/Example/Pickle/CarousellImagePickerController.swift index 0e4445e..1d9f902 100644 --- a/Example/Pickle/CarousellImagePickerController.swift +++ b/Example/Pickle/CarousellImagePickerController.swift @@ -76,6 +76,7 @@ private struct CarousellTheme: ImagePickerConfigurable { let navigationBarTranslucent: Bool? = false let navigationBarTintColor: UIColor? = .white let navigationBarBackgroundColor: UIColor? = UIColor(red: 0xD2 / 255.0, green: 0x23 / 255.0, blue: 0x2A / 255.0, alpha: 1) + let photoAlbumsNavigationBarShadowColor: UIColor? = .clear // MARK: - Navigation Bar Title View diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 29a369a..9a41b20 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -8,39 +8,40 @@ /* Begin PBXBuildFile section */ 031511AF793B8ECD163B2AFCB62C6417 /* Pods-PickleUITests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = F319B378E34508BF0DED7EC1629652C6 /* Pods-PickleUITests-dummy.m */; }; - 085744D7CC7F529344DD24842DA61565 /* Pickle-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B99474BB1E52F19EB576530C7560D3 /* Pickle-dummy.m */; }; - 0AC2E586B10B86556F60E391879AA2F5 /* PhotoGalleryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 03C5B344C87EC4E16070F0B4C87159AA /* PhotoGalleryCell.swift */; }; - 0BD1089FA91349AF57FDD8E8DFA1FA56 /* SlideUpPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA3DF7B9ECEDD81B4AC1D0A1D6A8BA0B /* SlideUpPresentationController.swift */; }; - 1AC8BC59524648976BA1B77AB2479200 /* PhotoAlbumTitleButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 427968C3BCF9A29E87C0D1666B2FAAA4 /* PhotoAlbumTitleButton.swift */; }; - 2A392FBFDC633935DF21D6125122CDEF /* PhotoGalleryViewController+UIViewControllerPreviewing.swift in Sources */ = {isa = PBXBuildFile; fileRef = F29C2C42DB503A4314C4712A5B1024BD /* PhotoGalleryViewController+UIViewControllerPreviewing.swift */; }; - 2F45313D3908589CF9D0D7F7C4C742D9 /* Pickle-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 242325F61052BB00074390021E6C4D58 /* Pickle-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3033BD036F4F8621C793DCE5C1B0D9D5 /* PhotoAlbumsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FEA6B125EAE397A81BA1021C68BC87D4 /* PhotoAlbumsViewController.swift */; }; - 37C6294FD2E30AC52B37F18B08439B11 /* PhotoGalleryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DE7B9AE8F32D19D848B46F24F01B1F33 /* PhotoGalleryViewController.swift */; }; + 06E46A798AC8F4539B24D27A1992D92A /* PhotoAlbumCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F8D63F528E7D98B7A0EE259B955799A8 /* PhotoAlbumCell.swift */; }; + 083D9BBCC1BEC9629637A6AD5EA2A9AA /* PhotoGalleryViewController+UIViewControllerPreviewing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 75E0F90739A9A77C804E25ABC09D2DBE /* PhotoGalleryViewController+UIViewControllerPreviewing.swift */; }; + 09DC8BCD6A7031EB622DEA4ACC063A0E /* SlideDownDismissingAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 235D735964EEA339A02A3A6548355A6C /* SlideDownDismissingAnimator.swift */; }; + 0D6502C97AEC1A65DE8E2D3F16514D27 /* SlideUpPresentingAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 750660EFE8CD893E458B14D6F3B30868 /* SlideUpPresentingAnimator.swift */; }; + 12645E48C890545348C3A833022BDD80 /* PhotoGalleryTagLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9FBC352CDD42CE0721868004E2255AAB /* PhotoGalleryTagLabel.swift */; }; + 27F4503642146070ED0EAFB34E80E7AB /* UIColor+Palette.swift in Sources */ = {isa = PBXBuildFile; fileRef = 35BC333801928D3B1B70A930B4F4607F /* UIColor+Palette.swift */; }; + 2D94CC557F3A607DAE0FFCA12B5AA491 /* PhotoGalleryCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4625C7CBAE3923F2FF132B63D57C0556 /* PhotoGalleryCell.swift */; }; + 34E8BE5141EE3F853CD16243D6A34265 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D58BEE8086A3688B034C72898C21E00C /* Localizable.strings */; }; 3C9CD647F911155DF0ED294188BE4098 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F25127136F29324AC0675569034753E /* Foundation.framework */; }; - 3DC04B801B0621AB24B6BD161C040C70 /* PhotoGalleryHintLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 613542E923A1ECE360DCF3CB1B551962 /* PhotoGalleryHintLabel.swift */; }; - 40BECC273BA2E5D37FB90712F00AFD97 /* PhotoGalleryCameraCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0787E349CEF375FE8111773AE16F1FFE /* PhotoGalleryCameraCell.swift */; }; 441AE6A93A9E687565CECECD4028C56A /* Pods-PickleUITests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 37F181F529268D6313D93A1F019D9900 /* Pods-PickleUITests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 55C6E235BB26A558133D66B8877F37C1 /* ImagePickerConfigurable.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9CF06D81014E134D1D5A0C0A581135A /* ImagePickerConfigurable.swift */; }; - 56BA9FCFD790AE5A83431D3082C2D2A4 /* UIFont+Style.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9760CF554372124DC40C55537234BBA /* UIFont+Style.swift */; }; - 75E7C1CB671E5AA765492D427E1A78FB /* CameraCompatible.swift in Sources */ = {isa = PBXBuildFile; fileRef = E327E8D4E95A732BFB60A50426B308FA /* CameraCompatible.swift */; }; - 76CC8927FC8C3BC6E37565FB9D016BBA /* SlideDownDismissingAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB95DE629B51E8DB80EF038D86D62DCB /* SlideDownDismissingAnimator.swift */; }; - 7BB63245D6B866E3AABEF5ED86CAD907 /* PhotoDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64A048B6EAFDA6353338ABFF271F4E8A /* PhotoDetailViewController.swift */; }; - 7EC679FE4010905B2B41456DA0EA9C7E /* ImagePickerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 60866C8271F090341D50530749DF3EC6 /* ImagePickerController.swift */; }; - 9D056E3CEB00C79FD139E83C1C1E26AE /* PhotoAlbumCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D533ED4869AF9AA6550F44A0BAD0D17 /* PhotoAlbumCell.swift */; }; - A3396D0D39517729C4544E5C69C0AAA5 /* Photos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 783319C0CD696BE7D17336FBA98C5336 /* Photos.framework */; }; - A8C5A85932428CE4D36CCFE7BB859B38 /* SlideUpPresentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5DF882FEC25BA8F3B7A898D023DCA6 /* SlideUpPresentation.swift */; }; + 472E25489BD810316163E3C161C5BADC /* UIFont+Style.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0344970C623BB172CB4C0ED4477625E /* UIFont+Style.swift */; }; + 5548F945FB5263C1D80DC43D88D05A1B /* PhotoGalleryCameraCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F9643B8D407BA7CE347CD44CE7AF03B /* PhotoGalleryCameraCell.swift */; }; + 65C8F57D05C9FFBEDAA94B0B93D1D6C1 /* ImagePickerController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E69724A96CF31AE41B54B27AEF3EA9F0 /* ImagePickerController.swift */; }; + 6C820BA6F58FA4C1C5CCFC61D277EAEF /* ImagePickerControllerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FE947F07B82FD384CBEF7E8D871FFB0 /* ImagePickerControllerDelegate.swift */; }; + 7A42ABF59D0B5D063610EC40BA494A10 /* PhotoAlbumsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B30FFC06AAE1CD7131D43A9A97552C8 /* PhotoAlbumsViewController.swift */; }; + 7D4C512ADD25E911FD16A6F7A5485526 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7448DD3D7D061B9B624663D7A4AFE7ED /* Images.xcassets */; }; + 8BB761C9F543780903E90C0DE5D7BFE2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F25127136F29324AC0675569034753E /* Foundation.framework */; }; + 90ABC5B289BFCD76A9ECA1AEB03BC76F /* PhotoAlbumTitleButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17CFFEBF6D93523283608A96500F8744 /* PhotoAlbumTitleButton.swift */; }; + 9A4B5C3F7B63FED40A279563DEB2D5EC /* Pickle-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B99474BB1E52F19EB576530C7560D3 /* Pickle-dummy.m */; }; + 9D6391D796CEA7429822AFD0FDACE84D /* SlideUpPresentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F52475C53D241384FE1F4DBD091C316 /* SlideUpPresentation.swift */; }; + 9D83B11FDFD76C55C6FF81464735DBA6 /* PhotoGalleryHintLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2B597944C7673105785E20FF6135CA62 /* PhotoGalleryHintLabel.swift */; }; + AF7B64E7FAB1DC779B0181804530C216 /* PhotoGalleryCameraIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B2461898CD1E7014219B2FEBC1E96CD /* PhotoGalleryCameraIconView.swift */; }; + B39E817F9751F188F8531D0E1B582810 /* Photos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 783319C0CD696BE7D17336FBA98C5336 /* Photos.framework */; }; B53F1166FB53DAA7BFA20D177206E92B /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F25127136F29324AC0675569034753E /* Foundation.framework */; }; + B8079BBA803B478ABF9D2FC83ADBCEA8 /* ImagePickerConfigurable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64A187489262D5593EEEAAB64B189F1C /* ImagePickerConfigurable.swift */; }; + C0FA4F153FB2ECEB2E00FE977BE4BD84 /* CameraCompatible.swift in Sources */ = {isa = PBXBuildFile; fileRef = 08E389BACB02842553345C3C9FE623BC /* CameraCompatible.swift */; }; + C13AF2F05C0A550514971E9477B4916A /* UINavigationController+ImagePickerConfigurable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87E1662AC4645BD7C7541EAF3BBB2442 /* UINavigationController+ImagePickerConfigurable.swift */; }; + C41CDC6F2E2C90D4DEE12324D9D19EE3 /* SlideUpPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 669D4F2696FBA7015643827389C37004 /* SlideUpPresentationController.swift */; }; + D955F17267198BDD1DA16607A32C2B66 /* PhotoDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84E9B5DAB1AB808ACD3496C6DF169D62 /* PhotoDetailViewController.swift */; }; + DBF814A14069BE652D530DF9890A2DCE /* PhotoAlbumsTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAA2B2297E1B9E61F16E3E96FCF7B63F /* PhotoAlbumsTableView.swift */; }; DDC4B93653858FEBB31FCA6FF4FAE983 /* Pods-PickleExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FBD5F7A62CCC2694E90C30DE5DE6C157 /* Pods-PickleExample-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - DDDD2B26DD915FD4DDC20C069E3202C8 /* ImagePickerControllerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 678BB297859DBF396DC5509FE4340D30 /* ImagePickerControllerDelegate.swift */; }; - E10C3C33561958A621B8FC4F187FEF97 /* PhotoGalleryCameraIconView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EE61DAC6973E849B782CFCDF1CD2BA8 /* PhotoGalleryCameraIconView.swift */; }; - E3BEDA1116A6B3B51088C22E3112F81C /* SlideUpPresentingAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = AEDEBDE0CEAE582062E6AD5FEE03507C /* SlideUpPresentingAnimator.swift */; }; - E8407C4C9ADB0F9EC9D1915A365CCF05 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6F25127136F29324AC0675569034753E /* Foundation.framework */; }; + E43926665EB61F88B0DC6C89650F3C89 /* PhotoGalleryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 17C28545651F2616E4041BAA2BDD3DAB /* PhotoGalleryViewController.swift */; }; + EAC6A61A548BF43B4519CEB527C15B1F /* Pickle-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 242325F61052BB00074390021E6C4D58 /* Pickle-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; ECBA3390DBA8A9E34DFC64FFCEC56B23 /* Pods-PickleExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8470EF6F5AA31D0AB9A74E628E5FF29C /* Pods-PickleExample-dummy.m */; }; - F615B10C27DF355344488F9284166C6F /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7448DD3D7D061B9B624663D7A4AFE7ED /* Images.xcassets */; }; - F8D2C28EA7BF058FED805AACCB33B11C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D58BEE8086A3688B034C72898C21E00C /* Localizable.strings */; }; - FABDBDB807E67B0EA033BE25134AB7A7 /* UIColor+Palette.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0F048BAF71A7777A14DAD4D336273705 /* UIColor+Palette.swift */; }; - FB09C336C30BA248085A501B76A77784 /* PhotoGalleryTagLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2382205F6045F5075884051B86A9C225 /* PhotoGalleryTagLabel.swift */; }; - FD44CA4129DB2D3EED71DCFFE7552020 /* UINavigationController+ImagePickerConfigurable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3AB9E3FD8EA2ECFE7B76D66D9A6EB179 /* UINavigationController+ImagePickerConfigurable.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -48,74 +49,75 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 9E8E2A8BEFDF44241E5B7E01BFFA9DB7; + remoteGlobalIDString = 2B4BFFAA86288A982D0B3A3EC84FAEAF; remoteInfo = Pickle; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 03C5B344C87EC4E16070F0B4C87159AA /* PhotoGalleryCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoGalleryCell.swift; sourceTree = ""; }; - 0787E349CEF375FE8111773AE16F1FFE /* PhotoGalleryCameraCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoGalleryCameraCell.swift; sourceTree = ""; }; + 08E389BACB02842553345C3C9FE623BC /* CameraCompatible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraCompatible.swift; sourceTree = ""; }; 0A6F8155B4C512BF12EEF385C7F952C8 /* Pickle.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Pickle.xcconfig; sourceTree = ""; }; - 0F048BAF71A7777A14DAD4D336273705 /* UIColor+Palette.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIColor+Palette.swift"; sourceTree = ""; }; - 2382205F6045F5075884051B86A9C225 /* PhotoGalleryTagLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoGalleryTagLabel.swift; sourceTree = ""; }; + 0B2461898CD1E7014219B2FEBC1E96CD /* PhotoGalleryCameraIconView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoGalleryCameraIconView.swift; sourceTree = ""; }; + 0F9643B8D407BA7CE347CD44CE7AF03B /* PhotoGalleryCameraCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoGalleryCameraCell.swift; sourceTree = ""; }; + 17C28545651F2616E4041BAA2BDD3DAB /* PhotoGalleryViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoGalleryViewController.swift; sourceTree = ""; }; + 17CFFEBF6D93523283608A96500F8744 /* PhotoAlbumTitleButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoAlbumTitleButton.swift; sourceTree = ""; }; + 235D735964EEA339A02A3A6548355A6C /* SlideDownDismissingAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SlideDownDismissingAnimator.swift; sourceTree = ""; }; 242325F61052BB00074390021E6C4D58 /* Pickle-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pickle-umbrella.h"; sourceTree = ""; }; 26A88FB5DA5A7B214E01C28EC214F265 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 29846FB520FADDAAB4EBAA56E9FBD62B /* Localizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = Localizable.strings; path = ko.lproj/Localizable.strings; sourceTree = ""; }; + 2B597944C7673105785E20FF6135CA62 /* PhotoGalleryHintLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoGalleryHintLabel.swift; sourceTree = ""; }; 2BD2D8B7E1FFEB61D9087C5149199270 /* Pods-PickleExample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-PickleExample-resources.sh"; sourceTree = ""; }; - 2EE61DAC6973E849B782CFCDF1CD2BA8 /* PhotoGalleryCameraIconView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoGalleryCameraIconView.swift; sourceTree = ""; }; + 35BC333801928D3B1B70A930B4F4607F /* UIColor+Palette.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIColor+Palette.swift"; sourceTree = ""; }; 37F181F529268D6313D93A1F019D9900 /* Pods-PickleUITests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-PickleUITests-umbrella.h"; sourceTree = ""; }; - 3AB9E3FD8EA2ECFE7B76D66D9A6EB179 /* UINavigationController+ImagePickerConfigurable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UINavigationController+ImagePickerConfigurable.swift"; sourceTree = ""; }; - 3D533ED4869AF9AA6550F44A0BAD0D17 /* PhotoAlbumCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoAlbumCell.swift; sourceTree = ""; }; - 427968C3BCF9A29E87C0D1666B2FAAA4 /* PhotoAlbumTitleButton.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoAlbumTitleButton.swift; sourceTree = ""; }; 439FFED25A474CEFE36ABAA1340B1417 /* Pods-PickleUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PickleUITests.debug.xcconfig"; sourceTree = ""; }; + 4625C7CBAE3923F2FF132B63D57C0556 /* PhotoGalleryCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoGalleryCell.swift; sourceTree = ""; }; 4AA14C79CF972125A7D7099D61A96DAA /* Localizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = Localizable.strings; path = "zh-Hant-HK.lproj/Localizable.strings"; sourceTree = ""; }; 4D904B4D83AF80CAFD4012468C2EE58B /* Pods-PickleUITests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-PickleUITests-acknowledgements.markdown"; sourceTree = ""; }; + 4F52475C53D241384FE1F4DBD091C316 /* SlideUpPresentation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SlideUpPresentation.swift; sourceTree = ""; }; + 4FE947F07B82FD384CBEF7E8D871FFB0 /* ImagePickerControllerDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ImagePickerControllerDelegate.swift; sourceTree = ""; }; 51D553AC3183CC11DA814781E329B7AB /* Pods-PickleExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-PickleExample-acknowledgements.markdown"; sourceTree = ""; }; 5AAD3A5133D9F32B875385BA3871B269 /* Pods_PickleExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_PickleExample.framework; path = "Pods-PickleExample.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 60866C8271F090341D50530749DF3EC6 /* ImagePickerController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ImagePickerController.swift; sourceTree = ""; }; - 613542E923A1ECE360DCF3CB1B551962 /* PhotoGalleryHintLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoGalleryHintLabel.swift; sourceTree = ""; }; - 64A048B6EAFDA6353338ABFF271F4E8A /* PhotoDetailViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoDetailViewController.swift; sourceTree = ""; }; + 5B30FFC06AAE1CD7131D43A9A97552C8 /* PhotoAlbumsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoAlbumsViewController.swift; sourceTree = ""; }; + 64A187489262D5593EEEAAB64B189F1C /* ImagePickerConfigurable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ImagePickerConfigurable.swift; sourceTree = ""; }; 666C93425A4D21ED8642EA61A1EAB2D5 /* Pickle-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pickle-prefix.pch"; sourceTree = ""; }; - 678BB297859DBF396DC5509FE4340D30 /* ImagePickerControllerDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ImagePickerControllerDelegate.swift; sourceTree = ""; }; + 669D4F2696FBA7015643827389C37004 /* SlideUpPresentationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SlideUpPresentationController.swift; sourceTree = ""; }; 6BE6F59070702A467AF8D772FF26055E /* Pods_PickleUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_PickleUITests.framework; path = "Pods-PickleUITests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; 6CC7FCBEBF788A7820C94F0179BDE37F /* Pods-PickleExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PickleExample.release.xcconfig"; sourceTree = ""; }; 6F25127136F29324AC0675569034753E /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 7448DD3D7D061B9B624663D7A4AFE7ED /* Images.xcassets */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 750660EFE8CD893E458B14D6F3B30868 /* SlideUpPresentingAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SlideUpPresentingAnimator.swift; sourceTree = ""; }; + 75E0F90739A9A77C804E25ABC09D2DBE /* PhotoGalleryViewController+UIViewControllerPreviewing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "PhotoGalleryViewController+UIViewControllerPreviewing.swift"; sourceTree = ""; }; 76B4861993B48BBC765083E38466115F /* Pods-PickleExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PickleExample.debug.xcconfig"; sourceTree = ""; }; 77C67F3045900C7F08B50DA4C996E576 /* Localizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = Localizable.strings; path = id.lproj/Localizable.strings; sourceTree = ""; }; 783319C0CD696BE7D17336FBA98C5336 /* Photos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Photos.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Photos.framework; sourceTree = DEVELOPER_DIR; }; 8470EF6F5AA31D0AB9A74E628E5FF29C /* Pods-PickleExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-PickleExample-dummy.m"; sourceTree = ""; }; 84B99474BB1E52F19EB576530C7560D3 /* Pickle-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pickle-dummy.m"; sourceTree = ""; }; + 84E9B5DAB1AB808ACD3496C6DF169D62 /* PhotoDetailViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoDetailViewController.swift; sourceTree = ""; }; + 87E1662AC4645BD7C7541EAF3BBB2442 /* UINavigationController+ImagePickerConfigurable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UINavigationController+ImagePickerConfigurable.swift"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9853B377C69649BA487BB52669672891 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A9760CF554372124DC40C55537234BBA /* UIFont+Style.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIFont+Style.swift"; sourceTree = ""; }; - A9CF06D81014E134D1D5A0C0A581135A /* ImagePickerConfigurable.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ImagePickerConfigurable.swift; sourceTree = ""; }; - AEDEBDE0CEAE582062E6AD5FEE03507C /* SlideUpPresentingAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SlideUpPresentingAnimator.swift; sourceTree = ""; }; + 9FBC352CDD42CE0721868004E2255AAB /* PhotoGalleryTagLabel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoGalleryTagLabel.swift; sourceTree = ""; }; B6AA20CB6869C39A7590083AE0429139 /* Localizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = Localizable.strings; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = ""; }; BA37F71CF8064339DB9A62F1A72931A4 /* Localizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = Localizable.strings; path = Base.lproj/Localizable.strings; sourceTree = ""; }; - BD5DF882FEC25BA8F3B7A898D023DCA6 /* SlideUpPresentation.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SlideUpPresentation.swift; sourceTree = ""; }; BF31E48F78FB259FB3855B132947908C /* Pods-PickleExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-PickleExample-acknowledgements.plist"; sourceTree = ""; }; C2E214F680EE71C0C9C6301DB0D40E8A /* Pods-PickleUITests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-PickleUITests-frameworks.sh"; sourceTree = ""; }; C585382156C5910B66C2A58E9314BFDF /* Localizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = Localizable.strings; path = ms.lproj/Localizable.strings; sourceTree = ""; }; - CA3DF7B9ECEDD81B4AC1D0A1D6A8BA0B /* SlideUpPresentationController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SlideUpPresentationController.swift; sourceTree = ""; }; CFB3AA432011BEE2723A35B38F081517 /* Pods-PickleExample-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-PickleExample-frameworks.sh"; sourceTree = ""; }; D42CEDCEE78E7817B4A7010B2025F981 /* Pods-PickleUITests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-PickleUITests.modulemap"; sourceTree = ""; }; D60A7763113C8485307448EB4F1723E4 /* Pods-PickleExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-PickleExample.modulemap"; sourceTree = ""; }; D9536FE25F7A12BBF47788A472378368 /* Localizable.strings */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.strings; name = Localizable.strings; path = en.lproj/Localizable.strings; sourceTree = ""; }; D9A1AB08F443FEBD010DCBF0F3B723BB /* Pods-PickleUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-PickleUITests.release.xcconfig"; sourceTree = ""; }; DAA1AA004E3A7F56C31B8C4FF084A074 /* Pods-PickleUITests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-PickleUITests-resources.sh"; sourceTree = ""; }; + DAA2B2297E1B9E61F16E3E96FCF7B63F /* PhotoAlbumsTableView.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoAlbumsTableView.swift; sourceTree = ""; }; DB276C12C099E2055E668A4D5B3CD43C /* Pickle.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pickle.framework; path = Pickle.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DE7B9AE8F32D19D848B46F24F01B1F33 /* PhotoGalleryViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoGalleryViewController.swift; sourceTree = ""; }; - E327E8D4E95A732BFB60A50426B308FA /* CameraCompatible.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = CameraCompatible.swift; sourceTree = ""; }; - EB95DE629B51E8DB80EF038D86D62DCB /* SlideDownDismissingAnimator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = SlideDownDismissingAnimator.swift; sourceTree = ""; }; + E0344970C623BB172CB4C0ED4477625E /* UIFont+Style.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "UIFont+Style.swift"; sourceTree = ""; }; + E69724A96CF31AE41B54B27AEF3EA9F0 /* ImagePickerController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = ImagePickerController.swift; sourceTree = ""; }; EE75933CCEB39A6815F2EFB244E2DF5A /* Pods-PickleUITests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-PickleUITests-acknowledgements.plist"; sourceTree = ""; }; - F29C2C42DB503A4314C4712A5B1024BD /* PhotoGalleryViewController+UIViewControllerPreviewing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "PhotoGalleryViewController+UIViewControllerPreviewing.swift"; sourceTree = ""; }; F2FB87F9A4D94747EF98EE7965835E5B /* Pickle.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Pickle.modulemap; sourceTree = ""; }; F319B378E34508BF0DED7EC1629652C6 /* Pods-PickleUITests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-PickleUITests-dummy.m"; sourceTree = ""; }; + F8D63F528E7D98B7A0EE259B955799A8 /* PhotoAlbumCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoAlbumCell.swift; sourceTree = ""; }; FBD5F7A62CCC2694E90C30DE5DE6C157 /* Pods-PickleExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-PickleExample-umbrella.h"; sourceTree = ""; }; FD3E7130C5BFE4C7536FC61F9FC660F8 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FEA6B125EAE397A81BA1021C68BC87D4 /* PhotoAlbumsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PhotoAlbumsViewController.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -127,12 +129,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 1874C94C1D5DEA2B9662EFA60BA13CCD /* Frameworks */ = { + 4A708D5E93466702A86887B2C16CEC0C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E8407C4C9ADB0F9EC9D1915A365CCF05 /* Foundation.framework in Frameworks */, - A3396D0D39517729C4544E5C69C0AAA5 /* Photos.framework in Frameworks */, + 8BB761C9F543780903E90C0DE5D7BFE2 /* Foundation.framework in Frameworks */, + B39E817F9751F188F8531D0E1B582810 /* Photos.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -159,7 +161,7 @@ 1652005E1E04A6E20D0D43780351218D /* Pickle */ = { isa = PBXGroup; children = ( - C86F450ADFCA24F1F2F7B2150BAA7821 /* Pickle */, + 3393F86A12D5593FC7D4B8A6E5397607 /* Pickle */, E234A8B0FBD76A7709CA1B88A4286CEE /* Resources */, 712ABFFA5E504439532310D3413CB8AD /* Support Files */, ); @@ -193,34 +195,13 @@ path = SwiftLint; sourceTree = ""; }; - 39C5634C6D8E95E4EE7119A0461C0B47 /* Classes */ = { + 3393F86A12D5593FC7D4B8A6E5397607 /* Pickle */ = { isa = PBXGroup; children = ( - E327E8D4E95A732BFB60A50426B308FA /* CameraCompatible.swift */, - A9CF06D81014E134D1D5A0C0A581135A /* ImagePickerConfigurable.swift */, - 60866C8271F090341D50530749DF3EC6 /* ImagePickerController.swift */, - 678BB297859DBF396DC5509FE4340D30 /* ImagePickerControllerDelegate.swift */, - 3D533ED4869AF9AA6550F44A0BAD0D17 /* PhotoAlbumCell.swift */, - FEA6B125EAE397A81BA1021C68BC87D4 /* PhotoAlbumsViewController.swift */, - 427968C3BCF9A29E87C0D1666B2FAAA4 /* PhotoAlbumTitleButton.swift */, - 64A048B6EAFDA6353338ABFF271F4E8A /* PhotoDetailViewController.swift */, - 0787E349CEF375FE8111773AE16F1FFE /* PhotoGalleryCameraCell.swift */, - 2EE61DAC6973E849B782CFCDF1CD2BA8 /* PhotoGalleryCameraIconView.swift */, - 03C5B344C87EC4E16070F0B4C87159AA /* PhotoGalleryCell.swift */, - 613542E923A1ECE360DCF3CB1B551962 /* PhotoGalleryHintLabel.swift */, - 2382205F6045F5075884051B86A9C225 /* PhotoGalleryTagLabel.swift */, - DE7B9AE8F32D19D848B46F24F01B1F33 /* PhotoGalleryViewController.swift */, - F29C2C42DB503A4314C4712A5B1024BD /* PhotoGalleryViewController+UIViewControllerPreviewing.swift */, - EB95DE629B51E8DB80EF038D86D62DCB /* SlideDownDismissingAnimator.swift */, - BD5DF882FEC25BA8F3B7A898D023DCA6 /* SlideUpPresentation.swift */, - CA3DF7B9ECEDD81B4AC1D0A1D6A8BA0B /* SlideUpPresentationController.swift */, - AEDEBDE0CEAE582062E6AD5FEE03507C /* SlideUpPresentingAnimator.swift */, - 0F048BAF71A7777A14DAD4D336273705 /* UIColor+Palette.swift */, - A9760CF554372124DC40C55537234BBA /* UIFont+Style.swift */, - 3AB9E3FD8EA2ECFE7B76D66D9A6EB179 /* UINavigationController+ImagePickerConfigurable.swift */, + 96C552F5751697DC4B87CC53A4C51ADD /* Classes */, ); - name = Classes; - path = Classes; + name = Pickle; + path = Pickle; sourceTree = ""; }; 433CD3331B6C3787F473C941B61FC68F /* Frameworks */ = { @@ -257,6 +238,37 @@ ); sourceTree = ""; }; + 96C552F5751697DC4B87CC53A4C51ADD /* Classes */ = { + isa = PBXGroup; + children = ( + 08E389BACB02842553345C3C9FE623BC /* CameraCompatible.swift */, + 64A187489262D5593EEEAAB64B189F1C /* ImagePickerConfigurable.swift */, + E69724A96CF31AE41B54B27AEF3EA9F0 /* ImagePickerController.swift */, + 4FE947F07B82FD384CBEF7E8D871FFB0 /* ImagePickerControllerDelegate.swift */, + F8D63F528E7D98B7A0EE259B955799A8 /* PhotoAlbumCell.swift */, + DAA2B2297E1B9E61F16E3E96FCF7B63F /* PhotoAlbumsTableView.swift */, + 5B30FFC06AAE1CD7131D43A9A97552C8 /* PhotoAlbumsViewController.swift */, + 17CFFEBF6D93523283608A96500F8744 /* PhotoAlbumTitleButton.swift */, + 84E9B5DAB1AB808ACD3496C6DF169D62 /* PhotoDetailViewController.swift */, + 0F9643B8D407BA7CE347CD44CE7AF03B /* PhotoGalleryCameraCell.swift */, + 0B2461898CD1E7014219B2FEBC1E96CD /* PhotoGalleryCameraIconView.swift */, + 4625C7CBAE3923F2FF132B63D57C0556 /* PhotoGalleryCell.swift */, + 2B597944C7673105785E20FF6135CA62 /* PhotoGalleryHintLabel.swift */, + 9FBC352CDD42CE0721868004E2255AAB /* PhotoGalleryTagLabel.swift */, + 17C28545651F2616E4041BAA2BDD3DAB /* PhotoGalleryViewController.swift */, + 75E0F90739A9A77C804E25ABC09D2DBE /* PhotoGalleryViewController+UIViewControllerPreviewing.swift */, + 235D735964EEA339A02A3A6548355A6C /* SlideDownDismissingAnimator.swift */, + 4F52475C53D241384FE1F4DBD091C316 /* SlideUpPresentation.swift */, + 669D4F2696FBA7015643827389C37004 /* SlideUpPresentationController.swift */, + 750660EFE8CD893E458B14D6F3B30868 /* SlideUpPresentingAnimator.swift */, + 35BC333801928D3B1B70A930B4F4607F /* UIColor+Palette.swift */, + E0344970C623BB172CB4C0ED4477625E /* UIFont+Style.swift */, + 87E1662AC4645BD7C7541EAF3BBB2442 /* UINavigationController+ImagePickerConfigurable.swift */, + ); + name = Classes; + path = Classes; + sourceTree = ""; + }; 9758CC519AE2C57A9659FFC01AAD26F9 /* Pods */ = { isa = PBXGroup; children = ( @@ -293,15 +305,6 @@ name = "Targets Support Files"; sourceTree = ""; }; - C86F450ADFCA24F1F2F7B2150BAA7821 /* Pickle */ = { - isa = PBXGroup; - children = ( - 39C5634C6D8E95E4EE7119A0461C0B47 /* Classes */, - ); - name = Pickle; - path = Pickle; - sourceTree = ""; - }; E234A8B0FBD76A7709CA1B88A4286CEE /* Resources */ = { isa = PBXGroup; children = ( @@ -349,33 +352,51 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 13E54CBD48C09831E9D9BBBB18359062 /* Headers */ = { + 5A744CEE647ADC9C7CB6740B93FD07AF /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2F45313D3908589CF9D0D7F7C4C742D9 /* Pickle-umbrella.h in Headers */, + 441AE6A93A9E687565CECECD4028C56A /* Pods-PickleUITests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5A744CEE647ADC9C7CB6740B93FD07AF /* Headers */ = { + 6D8E34E51C66EEE6264D4F476F740FAD /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 441AE6A93A9E687565CECECD4028C56A /* Pods-PickleUITests-umbrella.h in Headers */, + DDC4B93653858FEBB31FCA6FF4FAE983 /* Pods-PickleExample-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 6D8E34E51C66EEE6264D4F476F740FAD /* Headers */ = { + CBB55B74CC174E63D9202BCDC1AED496 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - DDC4B93653858FEBB31FCA6FF4FAE983 /* Pods-PickleExample-umbrella.h in Headers */, + EAC6A61A548BF43B4519CEB527C15B1F /* Pickle-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ + 2B4BFFAA86288A982D0B3A3EC84FAEAF /* Pickle */ = { + isa = PBXNativeTarget; + buildConfigurationList = B212423ACE5784865CE2F821FD3137CC /* Build configuration list for PBXNativeTarget "Pickle" */; + buildPhases = ( + 8FB4512A3FBC178F7EA2B6ED2B5A07E4 /* Sources */, + 4A708D5E93466702A86887B2C16CEC0C /* Frameworks */, + D9FF0870B123058DE0B4C335BDE52989 /* Resources */, + CBB55B74CC174E63D9202BCDC1AED496 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Pickle; + productName = Pickle; + productReference = DB276C12C099E2055E668A4D5B3CD43C /* Pickle.framework */; + productType = "com.apple.product-type.framework"; + }; 308DD58EFF1FE0C77809389F01DFE16D /* Pods-PickleUITests */ = { isa = PBXNativeTarget; buildConfigurationList = FD3B0BBFA75E9E3B5DB0AA84D92DE383 /* Build configuration list for PBXNativeTarget "Pods-PickleUITests" */; @@ -411,24 +432,6 @@ productReference = 5AAD3A5133D9F32B875385BA3871B269 /* Pods_PickleExample.framework */; productType = "com.apple.product-type.framework"; }; - 9E8E2A8BEFDF44241E5B7E01BFFA9DB7 /* Pickle */ = { - isa = PBXNativeTarget; - buildConfigurationList = 83F5CF598B85E7B04177E97D4FA6EAEA /* Build configuration list for PBXNativeTarget "Pickle" */; - buildPhases = ( - E25E6D290B372BADE9C1942549B85D3D /* Sources */, - 1874C94C1D5DEA2B9662EFA60BA13CCD /* Frameworks */, - 280E5C20D59376D0D4CA3B026170F0CE /* Resources */, - 13E54CBD48C09831E9D9BBBB18359062 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Pickle; - productName = Pickle; - productReference = DB276C12C099E2055E668A4D5B3CD43C /* Pickle.framework */; - productType = "com.apple.product-type.framework"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -450,7 +453,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 9E8E2A8BEFDF44241E5B7E01BFFA9DB7 /* Pickle */, + 2B4BFFAA86288A982D0B3A3EC84FAEAF /* Pickle */, 98593B1B30D9FDBD6748FED9EB7D76D0 /* Pods-PickleExample */, 308DD58EFF1FE0C77809389F01DFE16D /* Pods-PickleUITests */, ); @@ -458,12 +461,12 @@ /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 280E5C20D59376D0D4CA3B026170F0CE /* Resources */ = { + D9FF0870B123058DE0B4C335BDE52989 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - F615B10C27DF355344488F9284166C6F /* Images.xcassets in Resources */, - F8D2C28EA7BF058FED805AACCB33B11C /* Localizable.strings in Resources */, + 7D4C512ADD25E911FD16A6F7A5485526 /* Images.xcassets in Resources */, + 34E8BE5141EE3F853CD16243D6A34265 /* Localizable.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -478,41 +481,42 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - C15326412B5756DF466DA44C707B0AFD /* Sources */ = { + 8FB4512A3FBC178F7EA2B6ED2B5A07E4 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 031511AF793B8ECD163B2AFCB62C6417 /* Pods-PickleUITests-dummy.m in Sources */, + C0FA4F153FB2ECEB2E00FE977BE4BD84 /* CameraCompatible.swift in Sources */, + B8079BBA803B478ABF9D2FC83ADBCEA8 /* ImagePickerConfigurable.swift in Sources */, + 65C8F57D05C9FFBEDAA94B0B93D1D6C1 /* ImagePickerController.swift in Sources */, + 6C820BA6F58FA4C1C5CCFC61D277EAEF /* ImagePickerControllerDelegate.swift in Sources */, + 06E46A798AC8F4539B24D27A1992D92A /* PhotoAlbumCell.swift in Sources */, + DBF814A14069BE652D530DF9890A2DCE /* PhotoAlbumsTableView.swift in Sources */, + 7A42ABF59D0B5D063610EC40BA494A10 /* PhotoAlbumsViewController.swift in Sources */, + 90ABC5B289BFCD76A9ECA1AEB03BC76F /* PhotoAlbumTitleButton.swift in Sources */, + D955F17267198BDD1DA16607A32C2B66 /* PhotoDetailViewController.swift in Sources */, + 5548F945FB5263C1D80DC43D88D05A1B /* PhotoGalleryCameraCell.swift in Sources */, + AF7B64E7FAB1DC779B0181804530C216 /* PhotoGalleryCameraIconView.swift in Sources */, + 2D94CC557F3A607DAE0FFCA12B5AA491 /* PhotoGalleryCell.swift in Sources */, + 9D83B11FDFD76C55C6FF81464735DBA6 /* PhotoGalleryHintLabel.swift in Sources */, + 12645E48C890545348C3A833022BDD80 /* PhotoGalleryTagLabel.swift in Sources */, + 083D9BBCC1BEC9629637A6AD5EA2A9AA /* PhotoGalleryViewController+UIViewControllerPreviewing.swift in Sources */, + E43926665EB61F88B0DC6C89650F3C89 /* PhotoGalleryViewController.swift in Sources */, + 9A4B5C3F7B63FED40A279563DEB2D5EC /* Pickle-dummy.m in Sources */, + 09DC8BCD6A7031EB622DEA4ACC063A0E /* SlideDownDismissingAnimator.swift in Sources */, + 9D6391D796CEA7429822AFD0FDACE84D /* SlideUpPresentation.swift in Sources */, + C41CDC6F2E2C90D4DEE12324D9D19EE3 /* SlideUpPresentationController.swift in Sources */, + 0D6502C97AEC1A65DE8E2D3F16514D27 /* SlideUpPresentingAnimator.swift in Sources */, + 27F4503642146070ED0EAFB34E80E7AB /* UIColor+Palette.swift in Sources */, + 472E25489BD810316163E3C161C5BADC /* UIFont+Style.swift in Sources */, + C13AF2F05C0A550514971E9477B4916A /* UINavigationController+ImagePickerConfigurable.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E25E6D290B372BADE9C1942549B85D3D /* Sources */ = { + C15326412B5756DF466DA44C707B0AFD /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 75E7C1CB671E5AA765492D427E1A78FB /* CameraCompatible.swift in Sources */, - 55C6E235BB26A558133D66B8877F37C1 /* ImagePickerConfigurable.swift in Sources */, - 7EC679FE4010905B2B41456DA0EA9C7E /* ImagePickerController.swift in Sources */, - DDDD2B26DD915FD4DDC20C069E3202C8 /* ImagePickerControllerDelegate.swift in Sources */, - 9D056E3CEB00C79FD139E83C1C1E26AE /* PhotoAlbumCell.swift in Sources */, - 3033BD036F4F8621C793DCE5C1B0D9D5 /* PhotoAlbumsViewController.swift in Sources */, - 1AC8BC59524648976BA1B77AB2479200 /* PhotoAlbumTitleButton.swift in Sources */, - 7BB63245D6B866E3AABEF5ED86CAD907 /* PhotoDetailViewController.swift in Sources */, - 40BECC273BA2E5D37FB90712F00AFD97 /* PhotoGalleryCameraCell.swift in Sources */, - E10C3C33561958A621B8FC4F187FEF97 /* PhotoGalleryCameraIconView.swift in Sources */, - 0AC2E586B10B86556F60E391879AA2F5 /* PhotoGalleryCell.swift in Sources */, - 3DC04B801B0621AB24B6BD161C040C70 /* PhotoGalleryHintLabel.swift in Sources */, - FB09C336C30BA248085A501B76A77784 /* PhotoGalleryTagLabel.swift in Sources */, - 2A392FBFDC633935DF21D6125122CDEF /* PhotoGalleryViewController+UIViewControllerPreviewing.swift in Sources */, - 37C6294FD2E30AC52B37F18B08439B11 /* PhotoGalleryViewController.swift in Sources */, - 085744D7CC7F529344DD24842DA61565 /* Pickle-dummy.m in Sources */, - 76CC8927FC8C3BC6E37565FB9D016BBA /* SlideDownDismissingAnimator.swift in Sources */, - A8C5A85932428CE4D36CCFE7BB859B38 /* SlideUpPresentation.swift in Sources */, - 0BD1089FA91349AF57FDD8E8DFA1FA56 /* SlideUpPresentationController.swift in Sources */, - E3BEDA1116A6B3B51088C22E3112F81C /* SlideUpPresentingAnimator.swift in Sources */, - FABDBDB807E67B0EA033BE25134AB7A7 /* UIColor+Palette.swift in Sources */, - 56BA9FCFD790AE5A83431D3082C2D2A4 /* UIFont+Style.swift in Sources */, - FD44CA4129DB2D3EED71DCFFE7552020 /* UINavigationController+ImagePickerConfigurable.swift in Sources */, + 031511AF793B8ECD163B2AFCB62C6417 /* Pods-PickleUITests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -522,7 +526,7 @@ 1B119D2F213B50BD01BD1C5615590EF8 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Pickle; - target = 9E8E2A8BEFDF44241E5B7E01BFFA9DB7 /* Pickle */; + target = 2B4BFFAA86288A982D0B3A3EC84FAEAF /* Pickle */; targetProxy = A0DF408074ECA46C640CACE5D4DFA94F /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -546,41 +550,6 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 24A5C692C11B8707046CEB73C024BE5D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0A6F8155B4C512BF12EEF385C7F952C8 /* Pickle.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pickle/Pickle-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pickle/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pickle/Pickle.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Pickle; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; 34FE9531DA9AF2820790339988D5FF41 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { @@ -664,9 +633,9 @@ }; name = Debug; }; - 52965118B720BF1E0D2CDAA911605216 /* Debug */ = { + 3E3170BB4324FE341F0DBEDC92D0DF66 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 439FFED25A474CEFE36ABAA1340B1417 /* Pods-PickleUITests.debug.xcconfig */; + baseConfigurationReference = 0A6F8155B4C512BF12EEF385C7F952C8 /* Pickle.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -680,59 +649,60 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-PickleUITests/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Pickle/Pickle-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Pickle/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-PickleUITests/Pods-PickleUITests.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pickle/Pickle.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_PickleUITests; + PRODUCT_NAME = Pickle; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 533C565B89B3E31453B625D1EDEC8188 /* Release */ = { + 52965118B720BF1E0D2CDAA911605216 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0A6F8155B4C512BF12EEF385C7F952C8 /* Pickle.xcconfig */; + baseConfigurationReference = 439FFED25A474CEFE36ABAA1340B1417 /* Pods-PickleUITests.debug.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Pickle/Pickle-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Pickle/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-PickleUITests/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Pickle/Pickle.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Pickle; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-PickleUITests/Pods-PickleUITests.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_PickleUITests; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 637B309D111773D15C02068DC899F868 /* Release */ = { isa = XCBuildConfiguration; @@ -856,6 +826,40 @@ }; name = Debug; }; + C4D13EC6649ACA25AC2E0C18EEBABD68 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0A6F8155B4C512BF12EEF385C7F952C8 /* Pickle.xcconfig */; + buildSettings = { + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREFIX_HEADER = "Target Support Files/Pickle/Pickle-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Pickle/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/Pickle/Pickle.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = Pickle; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -868,11 +872,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 83F5CF598B85E7B04177E97D4FA6EAEA /* Build configuration list for PBXNativeTarget "Pickle" */ = { + B212423ACE5784865CE2F821FD3137CC /* Build configuration list for PBXNativeTarget "Pickle" */ = { isa = XCConfigurationList; buildConfigurations = ( - 24A5C692C11B8707046CEB73C024BE5D /* Debug */, - 533C565B89B3E31453B625D1EDEC8188 /* Release */, + 3E3170BB4324FE341F0DBEDC92D0DF66 /* Debug */, + C4D13EC6649ACA25AC2E0C18EEBABD68 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Makefile b/Makefile index c427e04..fcbc819 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ build: set -o pipefail && xcodebuild -workspace Example/Pickle.xcworkspace -scheme Pickle clean build | bundle exec xcpretty -c test: - set -o pipefail && xcodebuild -workspace Example/Pickle.xcworkspace -scheme Pickle-Example -sdk iphonesimulator -destination 'name=iPhone SE,OS=10.3.1' clean test | bundle exec xcpretty -c + set -o pipefail && xcodebuild -workspace Example/Pickle.xcworkspace -scheme Pickle-Example -sdk iphonesimulator -destination 'name=iPhone 7,OS=10.3.1' clean test | bundle exec xcpretty -c bump: ifeq (,$(strip $(version))) diff --git a/Pickle/Classes/ImagePickerConfigurable.swift b/Pickle/Classes/ImagePickerConfigurable.swift index f31b6d3..06fbd84 100644 --- a/Pickle/Classes/ImagePickerConfigurable.swift +++ b/Pickle/Classes/ImagePickerConfigurable.swift @@ -27,6 +27,9 @@ public protocol ImagePickerConfigurable { /// The navigation bar background color (barTintColor). var navigationBarBackgroundColor: UIColor? { get } + /// The color of navigation bar 1px shadow when the album list is presented. + var photoAlbumsNavigationBarShadowColor: UIColor? { get } + // MARK: - Navigation Bar Title View /// The font for the navigation title view. diff --git a/Pickle/Classes/PhotoAlbumsTableView.swift b/Pickle/Classes/PhotoAlbumsTableView.swift new file mode 100644 index 0000000..130b318 --- /dev/null +++ b/Pickle/Classes/PhotoAlbumsTableView.swift @@ -0,0 +1,55 @@ +// +// This source file is part of the carousell/pickle open source project +// +// Copyright © 2017 Carousell and the project authors +// Licensed under Apache License v2.0 +// +// See https://github.com/carousell/pickle/blob/master/LICENSE for license information +// See https://github.com/carousell/pickle/graphs/contributors for the list of project authors +// + +import UIKit + +internal final class PhotoAlbumsTableView: UITableView { + + // MARK: - Initialization + + convenience init(configuration: ImagePickerConfigurable? = nil) { + self.init(frame: .zero, style: .plain) + + let color = configuration?.photoAlbumsNavigationBarShadowColor + guard color != .clear else { + return + } + + layer.addSublayer(shadawLayer) + shadawLayer.borderColor = color?.cgColor ?? UIColor.Palette.magnesium.cgColor + } + + // MARK: - Properties + + private var _shadawLayer: CALayer? + + private var shadawLayer: CALayer { + if let instantiated = _shadawLayer { + return instantiated + } + + let layer = CALayer() + layer.borderWidth = 1 / UIScreen.main.scale + layer.rasterizationScale = UIScreen.main.scale + layer.shouldRasterize = true + + _shadawLayer = layer + return layer + } + + // MARK: - UIView + + override var frame: CGRect { + didSet { + _shadawLayer?.frame = bounds.insetBy(dx: -1, dy: -1).offsetBy(dx: 0, dy: 1) + } + } + +} diff --git a/Pickle/Classes/PhotoAlbumsViewController.swift b/Pickle/Classes/PhotoAlbumsViewController.swift index e79c579..b548c00 100644 --- a/Pickle/Classes/PhotoAlbumsViewController.swift +++ b/Pickle/Classes/PhotoAlbumsViewController.swift @@ -49,7 +49,7 @@ internal final class PhotoAlbumsViewController: UIViewController, UITableViewDat private let configuration: ImagePickerConfigurable? private(set) lazy var tableView: UITableView = { - let tableView = UITableView(frame: CGRect.zero, style: .plain) + let tableView = PhotoAlbumsTableView(configuration: self.configuration) tableView.dataSource = self tableView.delegate = self return tableView diff --git a/Pickle/Classes/SlideUpPresentationController.swift b/Pickle/Classes/SlideUpPresentationController.swift index 08dc3f9..687b5d8 100644 --- a/Pickle/Classes/SlideUpPresentationController.swift +++ b/Pickle/Classes/SlideUpPresentationController.swift @@ -1,5 +1,11 @@ // -// Copyright © 2017 Carousell. All rights reserved. +// This source file is part of the carousell/pickle open source project +// +// Copyright © 2017 Carousell and the project authors +// Licensed under Apache License v2.0 +// +// See https://github.com/carousell/pickle/blob/master/LICENSE for license information +// See https://github.com/carousell/pickle/graphs/contributors for the list of project authors // import UIKit @@ -7,12 +13,26 @@ import UIKit internal final class SlideUpPresentationController: UIPresentationController { override func presentationTransitionWillBegin() { + adjustContainerFrame() + } + + // MARK: - UITraitEnvironment + + override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { + if previousTraitCollection != nil { + // Update the frame for the container view after device rotation. + adjustContainerFrame() + } + } + + // MARK: - Private + + private func adjustContainerFrame() { // Calculate the presented frame that doesn't cover the navigation bar. let targetFrame: CGRect - let shadow = 1 / UIScreen.main.scale if let navigationBar = presentingViewController.view.subviews.filter({ $0 is UINavigationBar }).first { - targetFrame = presentingViewController.view.frame.divided(atDistance: navigationBar.frame.maxY + shadow, from: .minYEdge).remainder + targetFrame = presentingViewController.view.frame.divided(atDistance: navigationBar.frame.maxY, from: .minYEdge).remainder } else { targetFrame = presentingViewController.view.frame } diff --git a/Pickle/Classes/UIColor+Palette.swift b/Pickle/Classes/UIColor+Palette.swift index e634f62..3956c2e 100644 --- a/Pickle/Classes/UIColor+Palette.swift +++ b/Pickle/Classes/UIColor+Palette.swift @@ -17,6 +17,7 @@ internal extension UIColor { static let lightGray = UIColor(hex: 0x8F939C) static let gray = UIColor(hex: 0x8F939C) static let darkGray = UIColor(hex: 0x8F939C) + static let magnesium = UIColor(hex: 0xB2B2B2) } internal convenience init(hex: Int) {