diff --git a/Example/MWPhotoBrowser.xcodeproj/project.pbxproj b/Example/MWPhotoBrowser.xcodeproj/project.pbxproj
index 9eb939fd4..524227734 100644
--- a/Example/MWPhotoBrowser.xcodeproj/project.pbxproj
+++ b/Example/MWPhotoBrowser.xcodeproj/project.pbxproj
@@ -1,1767 +1,704 @@
-
-
-
-
- archiveVersion
- 1
- classes
-
- objectVersion
- 46
- objects
-
- 02040E41C46EB311FEA82F90
-
- buildActionMask
- 2147483647
- files
-
- inputPaths
-
- isa
- PBXShellScriptBuildPhase
- name
- Embed Pods Frameworks
- outputPaths
-
- runOnlyForDeploymentPostprocessing
- 0
- shellPath
- /bin/sh
- shellScript
- "${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests-frameworks.sh"
-
- showEnvVarsInLog
- 0
-
- 0EC5D4A41B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo1.jpg
- path
- MWPhotoBrowser/Local Media/photo1.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4A51B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo1t.jpg
- path
- MWPhotoBrowser/Local Media/photo1t.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4A61B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo2.jpg
- path
- MWPhotoBrowser/Local Media/photo2.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4A71B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo2t.jpg
- path
- MWPhotoBrowser/Local Media/photo2t.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4A81B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo3.jpg
- path
- MWPhotoBrowser/Local Media/photo3.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4A91B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo3t.jpg
- path
- MWPhotoBrowser/Local Media/photo3t.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4AA1B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo4.jpg
- path
- MWPhotoBrowser/Local Media/photo4.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4AB1B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo4t.jpg
- path
- MWPhotoBrowser/Local Media/photo4t.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4AC1B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo5.jpg
- path
- MWPhotoBrowser/Local Media/photo5.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4AD1B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo5t.jpg
- path
- MWPhotoBrowser/Local Media/photo5t.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4AE1B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo6.jpg
- path
- MWPhotoBrowser/Local Media/photo6.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4AF1B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo6t.jpg
- path
- MWPhotoBrowser/Local Media/photo6t.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4B01B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo7.jpg
- path
- MWPhotoBrowser/Local Media/photo7.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4B11B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo7t.jpg
- path
- MWPhotoBrowser/Local Media/photo7t.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4B21B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo8.jpg
- path
- MWPhotoBrowser/Local Media/photo8.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4B31B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- photo8t.jpg
- path
- MWPhotoBrowser/Local Media/photo8t.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4B41B4C46E50092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- file
- name
- video.mp4
- path
- MWPhotoBrowser/Local Media/video.mp4
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4B51B4C46E50092ACC1
-
- fileRef
- 0EC5D4A41B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4B61B4C46E50092ACC1
-
- fileRef
- 0EC5D4A51B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4B71B4C46E50092ACC1
-
- fileRef
- 0EC5D4A61B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4B81B4C46E50092ACC1
-
- fileRef
- 0EC5D4A71B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4B91B4C46E50092ACC1
-
- fileRef
- 0EC5D4A81B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4BA1B4C46E50092ACC1
-
- fileRef
- 0EC5D4A91B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4BB1B4C46E50092ACC1
-
- fileRef
- 0EC5D4AA1B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4BC1B4C46E50092ACC1
-
- fileRef
- 0EC5D4AB1B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4BD1B4C46E50092ACC1
-
- fileRef
- 0EC5D4AC1B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4BE1B4C46E50092ACC1
-
- fileRef
- 0EC5D4AD1B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4BF1B4C46E50092ACC1
-
- fileRef
- 0EC5D4AE1B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4C01B4C46E50092ACC1
-
- fileRef
- 0EC5D4AF1B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4C11B4C46E50092ACC1
-
- fileRef
- 0EC5D4B01B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4C21B4C46E50092ACC1
-
- fileRef
- 0EC5D4B11B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4C31B4C46E50092ACC1
-
- fileRef
- 0EC5D4B21B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4C41B4C46E50092ACC1
-
- fileRef
- 0EC5D4B31B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4C51B4C46E50092ACC1
-
- fileRef
- 0EC5D4B41B4C46E50092ACC1
- isa
- PBXBuildFile
-
- 0EC5D4C81B4C480E0092ACC1
-
- isa
- PBXFileReference
- lastKnownFileType
- image.jpeg
- name
- video_thumb.jpg
- path
- MWPhotoBrowser/Local Media/video_thumb.jpg
- sourceTree
- SOURCE_ROOT
-
- 0EC5D4C91B4C480E0092ACC1
-
- fileRef
- 0EC5D4C81B4C480E0092ACC1
- isa
- PBXBuildFile
-
- 234A7CACC7671133BED1A091
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- name
- Pods-MWPhotoBrowser_Tests.release.xcconfig
- path
- Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests.release.xcconfig
- sourceTree
- <group>
-
- 2BD41C6E3DA363EE7B81636E
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- path
- libPods-MWPhotoBrowser_Tests.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 3CC5A2FF9CBF1B37D7CB6F91
-
- buildActionMask
- 2147483647
- files
-
- inputPaths
-
- isa
- PBXShellScriptBuildPhase
- name
- Copy Pods Resources
- outputPaths
-
- runOnlyForDeploymentPostprocessing
- 0
- shellPath
- /bin/sh
- shellScript
- "${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests-resources.sh"
-
- showEnvVarsInLog
- 0
-
- 42FCB8D314CA85E2DF2C6434
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text
- name
- LICENSE
- path
- ../LICENSE
- sourceTree
- <group>
-
- 4C18E1171B47E72800E3D63A
-
- fileEncoding
- 4
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- AppDelegate.h
- sourceTree
- <group>
-
- 4C18E1181B47E72800E3D63A
-
- fileEncoding
- 4
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- AppDelegate.m
- sourceTree
- <group>
-
- 4C18E1191B47E72800E3D63A
-
- fileEncoding
- 4
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- Menu.h
- sourceTree
- <group>
-
- 4C18E11A1B47E72800E3D63A
-
- fileEncoding
- 4
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- Menu.m
- sourceTree
- <group>
-
- 4C18E11B1B47E72800E3D63A
-
- fileRef
- 4C18E1181B47E72800E3D63A
- isa
- PBXBuildFile
-
- 4C18E11C1B47E72800E3D63A
-
- fileRef
- 4C18E11A1B47E72800E3D63A
- isa
- PBXBuildFile
-
- 4C18E1431B47F05900E3D63A
-
- children
-
- 0EC5D4C81B4C480E0092ACC1
- 0EC5D4A41B4C46E50092ACC1
- 0EC5D4A51B4C46E50092ACC1
- 0EC5D4A61B4C46E50092ACC1
- 0EC5D4A71B4C46E50092ACC1
- 0EC5D4A81B4C46E50092ACC1
- 0EC5D4A91B4C46E50092ACC1
- 0EC5D4AA1B4C46E50092ACC1
- 0EC5D4AB1B4C46E50092ACC1
- 0EC5D4AC1B4C46E50092ACC1
- 0EC5D4AD1B4C46E50092ACC1
- 0EC5D4AE1B4C46E50092ACC1
- 0EC5D4AF1B4C46E50092ACC1
- 0EC5D4B01B4C46E50092ACC1
- 0EC5D4B11B4C46E50092ACC1
- 0EC5D4B21B4C46E50092ACC1
- 0EC5D4B31B4C46E50092ACC1
- 0EC5D4B41B4C46E50092ACC1
-
- isa
- PBXGroup
- name
- Local Media
- path
- Photos
- sourceTree
- <group>
-
- 4D7FBE8AC8249BBC4ADD838E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- name
- Pods-MWPhotoBrowser_Example.release.xcconfig
- path
- Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example.release.xcconfig
- sourceTree
- <group>
-
- 4E0A14EFB687307A0833E979
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text
- name
- MWPhotoBrowser.podspec
- path
- ../MWPhotoBrowser.podspec
- sourceTree
- <group>
-
- 542176705B9DBC22BBCDF3E4
-
- children
-
- 6E2C60685D353B336094E4E7
- 4D7FBE8AC8249BBC4ADD838E
- CA6EC4575DA50FD5A6F8685B
- 234A7CACC7671133BED1A091
-
- isa
- PBXGroup
- name
- Pods
- sourceTree
- <group>
-
- 5FDE805C8BB47D59B5BCB5FA
-
- buildActionMask
- 2147483647
- files
-
- inputPaths
-
- isa
- PBXShellScriptBuildPhase
- name
- Copy Pods Resources
- outputPaths
-
- runOnlyForDeploymentPostprocessing
- 0
- shellPath
- /bin/sh
- shellScript
- "${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example-resources.sh"
-
- showEnvVarsInLog
- 0
-
- 6003F581195388D10070C39A
-
- children
-
- 4E0A14EFB687307A0833E979
- B5C85CB7FE89F584D392C9CF
- 42FCB8D314CA85E2DF2C6434
- 6003F593195388D20070C39A
- 6003F5B5195388D20070C39A
- 6003F58C195388D20070C39A
- 6003F58B195388D20070C39A
- 542176705B9DBC22BBCDF3E4
-
- isa
- PBXGroup
- sourceTree
- <group>
-
- 6003F582195388D10070C39A
-
- attributes
-
- CLASSPREFIX
- MW
- LastUpgradeCheck
- 0730
- ORGANIZATIONNAME
- Michael Waterfall
- TargetAttributes
-
- 6003F5AD195388D20070C39A
-
- TestTargetID
- 6003F589195388D20070C39A
-
-
-
- buildConfigurationList
- 6003F585195388D10070C39A
- compatibilityVersion
- Xcode 3.2
- developmentRegion
- English
- hasScannedForEncodings
- 0
- isa
- PBXProject
- knownRegions
-
- en
- Base
-
- mainGroup
- 6003F581195388D10070C39A
- productRefGroup
- 6003F58B195388D20070C39A
- projectDirPath
-
- projectReferences
-
- projectRoot
-
- targets
-
- 6003F589195388D20070C39A
- 6003F5AD195388D20070C39A
-
-
- 6003F585195388D10070C39A
-
- buildConfigurations
-
- 6003F5BD195388D20070C39A
- 6003F5BE195388D20070C39A
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 6003F586195388D20070C39A
-
- buildActionMask
- 2147483647
- files
-
- 4C18E11B1B47E72800E3D63A
- 6003F59A195388D20070C39A
- 4C18E11C1B47E72800E3D63A
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 6003F587195388D20070C39A
-
- buildActionMask
- 2147483647
- files
-
- 6003F590195388D20070C39A
- 6003F592195388D20070C39A
- 6003F58E195388D20070C39A
- BDF7E0625C136532C64B3038
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 6003F588195388D20070C39A
-
- buildActionMask
- 2147483647
- files
-
- 0EC5D4B51B4C46E50092ACC1
- 0EC5D4C31B4C46E50092ACC1
- 0EC5D4B71B4C46E50092ACC1
- 873B8AEB1B1F5CCA007FD442
- 6003F5A9195388D20070C39A
- 0EC5D4BD1B4C46E50092ACC1
- 0EC5D4BF1B4C46E50092ACC1
- 0EC5D4BE1B4C46E50092ACC1
- 6003F598195388D20070C39A
- 0EC5D4BB1B4C46E50092ACC1
- 0EC5D4C41B4C46E50092ACC1
- 0EC5D4C51B4C46E50092ACC1
- 0EC5D4C21B4C46E50092ACC1
- 0EC5D4C01B4C46E50092ACC1
- 0EC5D4C11B4C46E50092ACC1
- 0EC5D4B61B4C46E50092ACC1
- 0EC5D4C91B4C480E0092ACC1
- 0EC5D4BC1B4C46E50092ACC1
- 0EC5D4BA1B4C46E50092ACC1
- 0EC5D4B91B4C46E50092ACC1
- 0EC5D4B81B4C46E50092ACC1
-
- isa
- PBXResourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 6003F589195388D20070C39A
-
- buildConfigurationList
- 6003F5BF195388D20070C39A
- buildPhases
-
- 81B3EFFED33BEA59184A897C
- 6003F586195388D20070C39A
- 6003F587195388D20070C39A
- 6003F588195388D20070C39A
- 5FDE805C8BB47D59B5BCB5FA
- C7E06D0576A92A1C834427BE
-
- buildRules
-
- dependencies
-
- isa
- PBXNativeTarget
- name
- MWPhotoBrowser_Example
- productName
- MWPhotoBrowser
- productReference
- 6003F58A195388D20070C39A
- productType
- com.apple.product-type.application
-
- 6003F58A195388D20070C39A
-
- explicitFileType
- wrapper.application
- includeInIndex
- 0
- isa
- PBXFileReference
- path
- MWPhotoBrowser_Example.app
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 6003F58B195388D20070C39A
-
- children
-
- 6003F58A195388D20070C39A
- 6003F5AE195388D20070C39A
-
- isa
- PBXGroup
- name
- Products
- sourceTree
- <group>
-
- 6003F58C195388D20070C39A
-
- children
-
- 6003F58D195388D20070C39A
- 6003F58F195388D20070C39A
- 6003F591195388D20070C39A
- 6003F5AF195388D20070C39A
- 9C165E5EE0D40A4673EB6CB0
- 2BD41C6E3DA363EE7B81636E
-
- isa
- PBXGroup
- name
- Frameworks
- sourceTree
- <group>
-
- 6003F58D195388D20070C39A
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- Foundation.framework
- path
- System/Library/Frameworks/Foundation.framework
- sourceTree
- SDKROOT
-
- 6003F58E195388D20070C39A
-
- fileRef
- 6003F58D195388D20070C39A
- isa
- PBXBuildFile
-
- 6003F58F195388D20070C39A
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- CoreGraphics.framework
- path
- System/Library/Frameworks/CoreGraphics.framework
- sourceTree
- SDKROOT
-
- 6003F590195388D20070C39A
-
- fileRef
- 6003F58F195388D20070C39A
- isa
- PBXBuildFile
-
- 6003F591195388D20070C39A
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- UIKit.framework
- path
- System/Library/Frameworks/UIKit.framework
- sourceTree
- SDKROOT
-
- 6003F592195388D20070C39A
-
- fileRef
- 6003F591195388D20070C39A
- isa
- PBXBuildFile
-
- 6003F593195388D20070C39A
-
- children
-
- 4C18E1171B47E72800E3D63A
- 4C18E1181B47E72800E3D63A
- 4C18E1191B47E72800E3D63A
- 4C18E11A1B47E72800E3D63A
- 873B8AEA1B1F5CCA007FD442
- 6003F5A8195388D20070C39A
- 4C18E1431B47F05900E3D63A
- 6003F594195388D20070C39A
-
- isa
- PBXGroup
- name
- Example
- path
- MWPhotoBrowser
- sourceTree
- <group>
-
- 6003F594195388D20070C39A
-
- children
-
- 6003F595195388D20070C39A
- 6003F596195388D20070C39A
- 6003F599195388D20070C39A
- 6003F59B195388D20070C39A
-
- isa
- PBXGroup
- name
- Supporting Files
- sourceTree
- <group>
-
- 6003F595195388D20070C39A
-
- isa
- PBXFileReference
- lastKnownFileType
- text.plist.xml
- path
- MWPhotoBrowser-Info.plist
- sourceTree
- <group>
-
- 6003F596195388D20070C39A
-
- children
-
- 6003F597195388D20070C39A
-
- isa
- PBXVariantGroup
- name
- InfoPlist.strings
- sourceTree
- <group>
-
- 6003F597195388D20070C39A
-
- isa
- PBXFileReference
- lastKnownFileType
- text.plist.strings
- name
- en
- path
- en.lproj/InfoPlist.strings
- sourceTree
- <group>
-
- 6003F598195388D20070C39A
-
- fileRef
- 6003F596195388D20070C39A
- isa
- PBXBuildFile
-
- 6003F599195388D20070C39A
-
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- main.m
- sourceTree
- <group>
-
- 6003F59A195388D20070C39A
-
- fileRef
- 6003F599195388D20070C39A
- isa
- PBXBuildFile
-
- 6003F59B195388D20070C39A
-
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWPhotoBrowser-Prefix.pch
- sourceTree
- <group>
-
- 6003F5A8195388D20070C39A
-
- isa
- PBXFileReference
- lastKnownFileType
- folder.assetcatalog
- path
- Images.xcassets
- sourceTree
- <group>
-
- 6003F5A9195388D20070C39A
-
- fileRef
- 6003F5A8195388D20070C39A
- isa
- PBXBuildFile
-
- 6003F5AA195388D20070C39A
-
- buildActionMask
- 2147483647
- files
-
- 6003F5BC195388D20070C39A
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 6003F5AB195388D20070C39A
-
- buildActionMask
- 2147483647
- files
-
- 6003F5B0195388D20070C39A
- 6003F5B2195388D20070C39A
- 6003F5B1195388D20070C39A
- BBD9ABBBC6D859245030E9BA
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 6003F5AC195388D20070C39A
-
- buildActionMask
- 2147483647
- files
-
- 6003F5BA195388D20070C39A
-
- isa
- PBXResourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 6003F5AD195388D20070C39A
-
- buildConfigurationList
- 6003F5C2195388D20070C39A
- buildPhases
-
- F7D70421FEADB9922E5F26C7
- 6003F5AA195388D20070C39A
- 6003F5AB195388D20070C39A
- 6003F5AC195388D20070C39A
- 3CC5A2FF9CBF1B37D7CB6F91
- 02040E41C46EB311FEA82F90
-
- buildRules
-
- dependencies
-
- 6003F5B4195388D20070C39A
-
- isa
- PBXNativeTarget
- name
- MWPhotoBrowser_Tests
- productName
- MWPhotoBrowserTests
- productReference
- 6003F5AE195388D20070C39A
- productType
- com.apple.product-type.bundle.unit-test
-
- 6003F5AE195388D20070C39A
-
- explicitFileType
- wrapper.cfbundle
- includeInIndex
- 0
- isa
- PBXFileReference
- path
- MWPhotoBrowser_Tests.xctest
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 6003F5AF195388D20070C39A
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- XCTest.framework
- path
- Library/Frameworks/XCTest.framework
- sourceTree
- DEVELOPER_DIR
-
- 6003F5B0195388D20070C39A
-
- fileRef
- 6003F5AF195388D20070C39A
- isa
- PBXBuildFile
-
- 6003F5B1195388D20070C39A
-
- fileRef
- 6003F58D195388D20070C39A
- isa
- PBXBuildFile
-
- 6003F5B2195388D20070C39A
-
- fileRef
- 6003F591195388D20070C39A
- isa
- PBXBuildFile
-
- 6003F5B3195388D20070C39A
-
- containerPortal
- 6003F582195388D10070C39A
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- 6003F589195388D20070C39A
- remoteInfo
- MWPhotoBrowser
-
- 6003F5B4195388D20070C39A
-
- isa
- PBXTargetDependency
- target
- 6003F589195388D20070C39A
- targetProxy
- 6003F5B3195388D20070C39A
-
- 6003F5B5195388D20070C39A
-
- children
-
- 6003F5BB195388D20070C39A
- 6003F5B6195388D20070C39A
-
- isa
- PBXGroup
- path
- Tests
- sourceTree
- <group>
-
- 6003F5B6195388D20070C39A
-
- children
-
- 6003F5B7195388D20070C39A
- 6003F5B8195388D20070C39A
- 606FC2411953D9B200FFA9A0
-
- isa
- PBXGroup
- name
- Supporting Files
- sourceTree
- <group>
-
- 6003F5B7195388D20070C39A
-
- isa
- PBXFileReference
- lastKnownFileType
- text.plist.xml
- path
- Tests-Info.plist
- sourceTree
- <group>
-
- 6003F5B8195388D20070C39A
-
- children
-
- 6003F5B9195388D20070C39A
-
- isa
- PBXVariantGroup
- name
- InfoPlist.strings
- sourceTree
- <group>
-
- 6003F5B9195388D20070C39A
-
- isa
- PBXFileReference
- lastKnownFileType
- text.plist.strings
- name
- en
- path
- en.lproj/InfoPlist.strings
- sourceTree
- <group>
-
- 6003F5BA195388D20070C39A
-
- fileRef
- 6003F5B8195388D20070C39A
- isa
- PBXBuildFile
-
- 6003F5BB195388D20070C39A
-
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- Tests.m
- sourceTree
- <group>
-
- 6003F5BC195388D20070C39A
-
- fileRef
- 6003F5BB195388D20070C39A
- isa
- PBXBuildFile
-
- 6003F5BD195388D20070C39A
-
- buildSettings
-
- ALWAYS_SEARCH_USER_PATHS
- NO
- CLANG_CXX_LANGUAGE_STANDARD
- gnu++0x
- CLANG_CXX_LIBRARY
- libc++
- CLANG_ENABLE_MODULES
- YES
- CLANG_ENABLE_OBJC_ARC
- YES
- CLANG_WARN_BOOL_CONVERSION
- YES
- CLANG_WARN_CONSTANT_CONVERSION
- YES
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE
- YES_ERROR
- CLANG_WARN_EMPTY_BODY
- YES
- CLANG_WARN_ENUM_CONVERSION
- YES
- CLANG_WARN_INT_CONVERSION
- YES
- CLANG_WARN_OBJC_ROOT_CLASS
- YES_ERROR
- CLANG_WARN__DUPLICATE_METHOD_MATCH
- YES
- CODE_SIGN_IDENTITY[sdk=iphoneos*]
- iPhone Developer
- COPY_PHASE_STRIP
- NO
- ENABLE_TESTABILITY
- YES
- GCC_C_LANGUAGE_STANDARD
- gnu99
- GCC_DYNAMIC_NO_PIC
- NO
- GCC_OPTIMIZATION_LEVEL
- 0
- GCC_PREPROCESSOR_DEFINITIONS
-
- DEBUG=1
- $(inherited)
-
- GCC_SYMBOLS_PRIVATE_EXTERN
- NO
- GCC_WARN_64_TO_32_BIT_CONVERSION
- YES
- 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
- IPHONEOS_DEPLOYMENT_TARGET
- 7.1
- ONLY_ACTIVE_ARCH
- YES
- SDKROOT
- iphoneos
- TARGETED_DEVICE_FAMILY
- 1,2
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 6003F5BE195388D20070C39A
-
- buildSettings
-
- ALWAYS_SEARCH_USER_PATHS
- NO
- CLANG_CXX_LANGUAGE_STANDARD
- gnu++0x
- CLANG_CXX_LIBRARY
- libc++
- CLANG_ENABLE_MODULES
- YES
- CLANG_ENABLE_OBJC_ARC
- YES
- CLANG_WARN_BOOL_CONVERSION
- YES
- CLANG_WARN_CONSTANT_CONVERSION
- YES
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE
- YES_ERROR
- CLANG_WARN_EMPTY_BODY
- YES
- CLANG_WARN_ENUM_CONVERSION
- YES
- CLANG_WARN_INT_CONVERSION
- YES
- CLANG_WARN_OBJC_ROOT_CLASS
- YES_ERROR
- CLANG_WARN__DUPLICATE_METHOD_MATCH
- YES
- CODE_SIGN_IDENTITY[sdk=iphoneos*]
- iPhone Developer
- COPY_PHASE_STRIP
- YES
- ENABLE_NS_ASSERTIONS
- NO
- GCC_C_LANGUAGE_STANDARD
- gnu99
- GCC_WARN_64_TO_32_BIT_CONVERSION
- YES
- 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
- IPHONEOS_DEPLOYMENT_TARGET
- 7.1
- SDKROOT
- iphoneos
- TARGETED_DEVICE_FAMILY
- 1,2
- VALIDATE_PRODUCT
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 6003F5BF195388D20070C39A
-
- buildConfigurations
-
- 6003F5C0195388D20070C39A
- 6003F5C1195388D20070C39A
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 6003F5C0195388D20070C39A
-
- baseConfigurationReference
- 6E2C60685D353B336094E4E7
- buildSettings
-
- ASSETCATALOG_COMPILER_APPICON_NAME
- AppIcon
- ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME
- LaunchImage
- GCC_PRECOMPILE_PREFIX_HEADER
- YES
- GCC_PREFIX_HEADER
- MWPhotoBrowser/MWPhotoBrowser-Prefix.pch
- INFOPLIST_FILE
- MWPhotoBrowser/MWPhotoBrowser-Info.plist
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MODULE_NAME
- ExampleApp
- PRODUCT_BUNDLE_IDENTIFIER
- org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}
- PRODUCT_NAME
- $(TARGET_NAME)
- WRAPPER_EXTENSION
- app
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 6003F5C1195388D20070C39A
-
- baseConfigurationReference
- 4D7FBE8AC8249BBC4ADD838E
- buildSettings
-
- ASSETCATALOG_COMPILER_APPICON_NAME
- AppIcon
- ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME
- LaunchImage
- GCC_PRECOMPILE_PREFIX_HEADER
- YES
- GCC_PREFIX_HEADER
- MWPhotoBrowser/MWPhotoBrowser-Prefix.pch
- INFOPLIST_FILE
- MWPhotoBrowser/MWPhotoBrowser-Info.plist
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MODULE_NAME
- ExampleApp
- PRODUCT_BUNDLE_IDENTIFIER
- org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}
- PRODUCT_NAME
- $(TARGET_NAME)
- WRAPPER_EXTENSION
- app
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 6003F5C2195388D20070C39A
-
- buildConfigurations
-
- 6003F5C3195388D20070C39A
- 6003F5C4195388D20070C39A
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 6003F5C3195388D20070C39A
-
- baseConfigurationReference
- CA6EC4575DA50FD5A6F8685B
- buildSettings
-
- BUNDLE_LOADER
- $(TEST_HOST)
- FRAMEWORK_SEARCH_PATHS
-
- $(SDKROOT)/Developer/Library/Frameworks
- $(inherited)
- $(DEVELOPER_FRAMEWORKS_DIR)
-
- GCC_PRECOMPILE_PREFIX_HEADER
- YES
- GCC_PREFIX_HEADER
- Tests/Tests-Prefix.pch
- GCC_PREPROCESSOR_DEFINITIONS
-
- DEBUG=1
- $(inherited)
-
- INFOPLIST_FILE
- Tests/Tests-Info.plist
- PRODUCT_BUNDLE_IDENTIFIER
- org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}
- PRODUCT_NAME
- $(TARGET_NAME)
- TEST_HOST
- $(BUILT_PRODUCTS_DIR)/MWPhotoBrowser_Example.app/MWPhotoBrowser_Example
- WRAPPER_EXTENSION
- xctest
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 6003F5C4195388D20070C39A
-
- baseConfigurationReference
- 234A7CACC7671133BED1A091
- buildSettings
-
- BUNDLE_LOADER
- $(TEST_HOST)
- FRAMEWORK_SEARCH_PATHS
-
- $(SDKROOT)/Developer/Library/Frameworks
- $(inherited)
- $(DEVELOPER_FRAMEWORKS_DIR)
-
- GCC_PRECOMPILE_PREFIX_HEADER
- YES
- GCC_PREFIX_HEADER
- Tests/Tests-Prefix.pch
- INFOPLIST_FILE
- Tests/Tests-Info.plist
- PRODUCT_BUNDLE_IDENTIFIER
- org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}
- PRODUCT_NAME
- $(TARGET_NAME)
- TEST_HOST
- $(BUILT_PRODUCTS_DIR)/MWPhotoBrowser_Example.app/MWPhotoBrowser_Example
- WRAPPER_EXTENSION
- xctest
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 606FC2411953D9B200FFA9A0
-
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- Tests-Prefix.pch
- sourceTree
- <group>
-
- 6E2C60685D353B336094E4E7
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- name
- Pods-MWPhotoBrowser_Example.debug.xcconfig
- path
- Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example.debug.xcconfig
- sourceTree
- <group>
-
- 81B3EFFED33BEA59184A897C
-
- buildActionMask
- 2147483647
- files
-
- inputPaths
-
- isa
- PBXShellScriptBuildPhase
- name
- Check Pods Manifest.lock
- outputPaths
-
- runOnlyForDeploymentPostprocessing
- 0
- shellPath
- /bin/sh
- shellScript
- diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
-if [[ $? != 0 ]] ; then
- cat << EOM
-error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
-EOM
- exit 1
-fi
-
- showEnvVarsInLog
- 0
-
- 873B8AEA1B1F5CCA007FD442
-
- fileEncoding
- 4
- isa
- PBXFileReference
- lastKnownFileType
- file.storyboard
- path
- Main.storyboard
- sourceTree
- <group>
-
- 873B8AEB1B1F5CCA007FD442
-
- fileRef
- 873B8AEA1B1F5CCA007FD442
- isa
- PBXBuildFile
-
- 9C165E5EE0D40A4673EB6CB0
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- path
- libPods-MWPhotoBrowser_Example.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- B5C85CB7FE89F584D392C9CF
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- net.daringfireball.markdown
- name
- README.md
- path
- ../README.md
- sourceTree
- <group>
-
- BBD9ABBBC6D859245030E9BA
-
- fileRef
- 2BD41C6E3DA363EE7B81636E
- isa
- PBXBuildFile
-
- BDF7E0625C136532C64B3038
-
- fileRef
- 9C165E5EE0D40A4673EB6CB0
- isa
- PBXBuildFile
-
- C7E06D0576A92A1C834427BE
-
- buildActionMask
- 2147483647
- files
-
- inputPaths
-
- isa
- PBXShellScriptBuildPhase
- name
- Embed Pods Frameworks
- outputPaths
-
- runOnlyForDeploymentPostprocessing
- 0
- shellPath
- /bin/sh
- shellScript
- "${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example-frameworks.sh"
-
- showEnvVarsInLog
- 0
-
- CA6EC4575DA50FD5A6F8685B
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- name
- Pods-MWPhotoBrowser_Tests.debug.xcconfig
- path
- Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests.debug.xcconfig
- sourceTree
- <group>
-
- F7D70421FEADB9922E5F26C7
-
- buildActionMask
- 2147483647
- files
-
- inputPaths
-
- isa
- PBXShellScriptBuildPhase
- name
- Check Pods Manifest.lock
- outputPaths
-
- runOnlyForDeploymentPostprocessing
- 0
- shellPath
- /bin/sh
- shellScript
- diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
-if [[ $? != 0 ]] ; then
- cat << EOM
-error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
-EOM
- exit 1
-fi
-
- showEnvVarsInLog
- 0
-
-
- rootObject
- 6003F582195388D10070C39A
-
-
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 0EC5D4B51B4C46E50092ACC1 /* photo1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4A41B4C46E50092ACC1 /* photo1.jpg */; };
+ 0EC5D4B61B4C46E50092ACC1 /* photo1t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4A51B4C46E50092ACC1 /* photo1t.jpg */; };
+ 0EC5D4B71B4C46E50092ACC1 /* photo2.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4A61B4C46E50092ACC1 /* photo2.jpg */; };
+ 0EC5D4B81B4C46E50092ACC1 /* photo2t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4A71B4C46E50092ACC1 /* photo2t.jpg */; };
+ 0EC5D4B91B4C46E50092ACC1 /* photo3.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4A81B4C46E50092ACC1 /* photo3.jpg */; };
+ 0EC5D4BA1B4C46E50092ACC1 /* photo3t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4A91B4C46E50092ACC1 /* photo3t.jpg */; };
+ 0EC5D4BB1B4C46E50092ACC1 /* photo4.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4AA1B4C46E50092ACC1 /* photo4.jpg */; };
+ 0EC5D4BC1B4C46E50092ACC1 /* photo4t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4AB1B4C46E50092ACC1 /* photo4t.jpg */; };
+ 0EC5D4BD1B4C46E50092ACC1 /* photo5.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4AC1B4C46E50092ACC1 /* photo5.jpg */; };
+ 0EC5D4BE1B4C46E50092ACC1 /* photo5t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4AD1B4C46E50092ACC1 /* photo5t.jpg */; };
+ 0EC5D4BF1B4C46E50092ACC1 /* photo6.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4AE1B4C46E50092ACC1 /* photo6.jpg */; };
+ 0EC5D4C01B4C46E50092ACC1 /* photo6t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4AF1B4C46E50092ACC1 /* photo6t.jpg */; };
+ 0EC5D4C11B4C46E50092ACC1 /* photo7.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4B01B4C46E50092ACC1 /* photo7.jpg */; };
+ 0EC5D4C21B4C46E50092ACC1 /* photo7t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4B11B4C46E50092ACC1 /* photo7t.jpg */; };
+ 0EC5D4C31B4C46E50092ACC1 /* photo8.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4B21B4C46E50092ACC1 /* photo8.jpg */; };
+ 0EC5D4C41B4C46E50092ACC1 /* photo8t.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4B31B4C46E50092ACC1 /* photo8t.jpg */; };
+ 0EC5D4C51B4C46E50092ACC1 /* video.mp4 in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4B41B4C46E50092ACC1 /* video.mp4 */; };
+ 0EC5D4C91B4C480E0092ACC1 /* video_thumb.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 0EC5D4C81B4C480E0092ACC1 /* video_thumb.jpg */; };
+ 130E9FCB15C425D2AC277DA5 /* libPods-MWPhotoBrowser_Tests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1FB97AB79685DB57E79168BA /* libPods-MWPhotoBrowser_Tests.a */; };
+ 4C18E11B1B47E72800E3D63A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C18E1181B47E72800E3D63A /* AppDelegate.m */; };
+ 4C18E11C1B47E72800E3D63A /* Menu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C18E11A1B47E72800E3D63A /* Menu.m */; };
+ 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; };
+ 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58F195388D20070C39A /* CoreGraphics.framework */; };
+ 6003F592195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; };
+ 6003F598195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F596195388D20070C39A /* InfoPlist.strings */; };
+ 6003F59A195388D20070C39A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F599195388D20070C39A /* main.m */; };
+ 6003F5A9195388D20070C39A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5A8195388D20070C39A /* Images.xcassets */; };
+ 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F5AF195388D20070C39A /* XCTest.framework */; };
+ 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F58D195388D20070C39A /* Foundation.framework */; };
+ 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6003F591195388D20070C39A /* UIKit.framework */; };
+ 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6003F5B8195388D20070C39A /* InfoPlist.strings */; };
+ 6003F5BC195388D20070C39A /* Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6003F5BB195388D20070C39A /* Tests.m */; };
+ 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */; };
+ DD7959A2AD4CBE6772321169 /* libPods-MWPhotoBrowser_Example.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7F3BF3792300FFF4276AAFCD /* libPods-MWPhotoBrowser_Example.a */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 6003F5B3195388D20070C39A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 6003F582195388D10070C39A /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 6003F589195388D20070C39A;
+ remoteInfo = MWPhotoBrowser;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 0EC5D4A41B4C46E50092ACC1 /* photo1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo1.jpg; path = "MWPhotoBrowser/Local Media/photo1.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4A51B4C46E50092ACC1 /* photo1t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo1t.jpg; path = "MWPhotoBrowser/Local Media/photo1t.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4A61B4C46E50092ACC1 /* photo2.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo2.jpg; path = "MWPhotoBrowser/Local Media/photo2.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4A71B4C46E50092ACC1 /* photo2t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo2t.jpg; path = "MWPhotoBrowser/Local Media/photo2t.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4A81B4C46E50092ACC1 /* photo3.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo3.jpg; path = "MWPhotoBrowser/Local Media/photo3.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4A91B4C46E50092ACC1 /* photo3t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo3t.jpg; path = "MWPhotoBrowser/Local Media/photo3t.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4AA1B4C46E50092ACC1 /* photo4.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo4.jpg; path = "MWPhotoBrowser/Local Media/photo4.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4AB1B4C46E50092ACC1 /* photo4t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo4t.jpg; path = "MWPhotoBrowser/Local Media/photo4t.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4AC1B4C46E50092ACC1 /* photo5.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo5.jpg; path = "MWPhotoBrowser/Local Media/photo5.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4AD1B4C46E50092ACC1 /* photo5t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo5t.jpg; path = "MWPhotoBrowser/Local Media/photo5t.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4AE1B4C46E50092ACC1 /* photo6.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo6.jpg; path = "MWPhotoBrowser/Local Media/photo6.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4AF1B4C46E50092ACC1 /* photo6t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo6t.jpg; path = "MWPhotoBrowser/Local Media/photo6t.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4B01B4C46E50092ACC1 /* photo7.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo7.jpg; path = "MWPhotoBrowser/Local Media/photo7.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4B11B4C46E50092ACC1 /* photo7t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo7t.jpg; path = "MWPhotoBrowser/Local Media/photo7t.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4B21B4C46E50092ACC1 /* photo8.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo8.jpg; path = "MWPhotoBrowser/Local Media/photo8.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4B31B4C46E50092ACC1 /* photo8t.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = photo8t.jpg; path = "MWPhotoBrowser/Local Media/photo8t.jpg"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4B41B4C46E50092ACC1 /* video.mp4 */ = {isa = PBXFileReference; lastKnownFileType = file; name = video.mp4; path = "MWPhotoBrowser/Local Media/video.mp4"; sourceTree = SOURCE_ROOT; };
+ 0EC5D4C81B4C480E0092ACC1 /* video_thumb.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = video_thumb.jpg; path = "MWPhotoBrowser/Local Media/video_thumb.jpg"; sourceTree = SOURCE_ROOT; };
+ 1FB97AB79685DB57E79168BA /* libPods-MWPhotoBrowser_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MWPhotoBrowser_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 42FCB8D314CA85E2DF2C6434 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = ""; };
+ 4C18E1171B47E72800E3D63A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+ 4C18E1181B47E72800E3D63A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
+ 4C18E1191B47E72800E3D63A /* Menu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Menu.h; sourceTree = ""; };
+ 4C18E11A1B47E72800E3D63A /* Menu.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Menu.m; sourceTree = ""; };
+ 4E0A14EFB687307A0833E979 /* MWPhotoBrowser.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = MWPhotoBrowser.podspec; path = ../MWPhotoBrowser.podspec; sourceTree = ""; };
+ 6003F58A195388D20070C39A /* MWPhotoBrowser_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MWPhotoBrowser_Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 6003F58D195388D20070C39A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ 6003F58F195388D20070C39A /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ 6003F591195388D20070C39A /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ 6003F595195388D20070C39A /* MWPhotoBrowser-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "MWPhotoBrowser-Info.plist"; sourceTree = ""; };
+ 6003F597195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
+ 6003F599195388D20070C39A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
+ 6003F59B195388D20070C39A /* MWPhotoBrowser-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MWPhotoBrowser-Prefix.pch"; sourceTree = ""; };
+ 6003F5A8195388D20070C39A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
+ 6003F5AE195388D20070C39A /* MWPhotoBrowser_Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MWPhotoBrowser_Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 6003F5AF195388D20070C39A /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
+ 6003F5B7195388D20070C39A /* Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Tests-Info.plist"; sourceTree = ""; };
+ 6003F5B9195388D20070C39A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
+ 6003F5BB195388D20070C39A /* Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Tests.m; sourceTree = ""; };
+ 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Tests-Prefix.pch"; sourceTree = ""; };
+ 6A7FE569732B12BD7CA02F46 /* Pods-MWPhotoBrowser_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MWPhotoBrowser_Tests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests.debug.xcconfig"; sourceTree = ""; };
+ 765FC167748A22364E02F1E3 /* Pods-MWPhotoBrowser_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MWPhotoBrowser_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example.release.xcconfig"; sourceTree = ""; };
+ 7F3BF3792300FFF4276AAFCD /* libPods-MWPhotoBrowser_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-MWPhotoBrowser_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; };
+ 97BF54E04E98F85D42FBDFD6 /* Pods-MWPhotoBrowser_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MWPhotoBrowser_Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example.debug.xcconfig"; sourceTree = ""; };
+ B5C85CB7FE89F584D392C9CF /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = ""; };
+ FC11C9CDC84AD89E203DB77A /* Pods-MWPhotoBrowser_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-MWPhotoBrowser_Tests.release.xcconfig"; path = "Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests.release.xcconfig"; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 6003F587195388D20070C39A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 6003F590195388D20070C39A /* CoreGraphics.framework in Frameworks */,
+ 6003F592195388D20070C39A /* UIKit.framework in Frameworks */,
+ 6003F58E195388D20070C39A /* Foundation.framework in Frameworks */,
+ DD7959A2AD4CBE6772321169 /* libPods-MWPhotoBrowser_Example.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 6003F5AB195388D20070C39A /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 6003F5B0195388D20070C39A /* XCTest.framework in Frameworks */,
+ 6003F5B2195388D20070C39A /* UIKit.framework in Frameworks */,
+ 6003F5B1195388D20070C39A /* Foundation.framework in Frameworks */,
+ 130E9FCB15C425D2AC277DA5 /* libPods-MWPhotoBrowser_Tests.a in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 4C18E1431B47F05900E3D63A /* Local Media */ = {
+ isa = PBXGroup;
+ children = (
+ 0EC5D4C81B4C480E0092ACC1 /* video_thumb.jpg */,
+ 0EC5D4A41B4C46E50092ACC1 /* photo1.jpg */,
+ 0EC5D4A51B4C46E50092ACC1 /* photo1t.jpg */,
+ 0EC5D4A61B4C46E50092ACC1 /* photo2.jpg */,
+ 0EC5D4A71B4C46E50092ACC1 /* photo2t.jpg */,
+ 0EC5D4A81B4C46E50092ACC1 /* photo3.jpg */,
+ 0EC5D4A91B4C46E50092ACC1 /* photo3t.jpg */,
+ 0EC5D4AA1B4C46E50092ACC1 /* photo4.jpg */,
+ 0EC5D4AB1B4C46E50092ACC1 /* photo4t.jpg */,
+ 0EC5D4AC1B4C46E50092ACC1 /* photo5.jpg */,
+ 0EC5D4AD1B4C46E50092ACC1 /* photo5t.jpg */,
+ 0EC5D4AE1B4C46E50092ACC1 /* photo6.jpg */,
+ 0EC5D4AF1B4C46E50092ACC1 /* photo6t.jpg */,
+ 0EC5D4B01B4C46E50092ACC1 /* photo7.jpg */,
+ 0EC5D4B11B4C46E50092ACC1 /* photo7t.jpg */,
+ 0EC5D4B21B4C46E50092ACC1 /* photo8.jpg */,
+ 0EC5D4B31B4C46E50092ACC1 /* photo8t.jpg */,
+ 0EC5D4B41B4C46E50092ACC1 /* video.mp4 */,
+ );
+ name = "Local Media";
+ path = Photos;
+ sourceTree = "";
+ };
+ 6003F581195388D10070C39A = {
+ isa = PBXGroup;
+ children = (
+ 4E0A14EFB687307A0833E979 /* MWPhotoBrowser.podspec */,
+ B5C85CB7FE89F584D392C9CF /* README.md */,
+ 42FCB8D314CA85E2DF2C6434 /* LICENSE */,
+ 6003F593195388D20070C39A /* Example */,
+ 6003F5B5195388D20070C39A /* Tests */,
+ 6003F58C195388D20070C39A /* Frameworks */,
+ 6003F58B195388D20070C39A /* Products */,
+ ECAA1D9ED15A905CD1404249 /* Pods */,
+ );
+ sourceTree = "";
+ };
+ 6003F58B195388D20070C39A /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 6003F58A195388D20070C39A /* MWPhotoBrowser_Example.app */,
+ 6003F5AE195388D20070C39A /* MWPhotoBrowser_Tests.xctest */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 6003F58C195388D20070C39A /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 6003F58D195388D20070C39A /* Foundation.framework */,
+ 6003F58F195388D20070C39A /* CoreGraphics.framework */,
+ 6003F591195388D20070C39A /* UIKit.framework */,
+ 6003F5AF195388D20070C39A /* XCTest.framework */,
+ 7F3BF3792300FFF4276AAFCD /* libPods-MWPhotoBrowser_Example.a */,
+ 1FB97AB79685DB57E79168BA /* libPods-MWPhotoBrowser_Tests.a */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 6003F593195388D20070C39A /* Example */ = {
+ isa = PBXGroup;
+ children = (
+ 4C18E1171B47E72800E3D63A /* AppDelegate.h */,
+ 4C18E1181B47E72800E3D63A /* AppDelegate.m */,
+ 4C18E1191B47E72800E3D63A /* Menu.h */,
+ 4C18E11A1B47E72800E3D63A /* Menu.m */,
+ 873B8AEA1B1F5CCA007FD442 /* Main.storyboard */,
+ 6003F5A8195388D20070C39A /* Images.xcassets */,
+ 4C18E1431B47F05900E3D63A /* Local Media */,
+ 6003F594195388D20070C39A /* Supporting Files */,
+ );
+ name = Example;
+ path = MWPhotoBrowser;
+ sourceTree = "";
+ };
+ 6003F594195388D20070C39A /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 6003F595195388D20070C39A /* MWPhotoBrowser-Info.plist */,
+ 6003F596195388D20070C39A /* InfoPlist.strings */,
+ 6003F599195388D20070C39A /* main.m */,
+ 6003F59B195388D20070C39A /* MWPhotoBrowser-Prefix.pch */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+ 6003F5B5195388D20070C39A /* Tests */ = {
+ isa = PBXGroup;
+ children = (
+ 6003F5BB195388D20070C39A /* Tests.m */,
+ 6003F5B6195388D20070C39A /* Supporting Files */,
+ );
+ path = Tests;
+ sourceTree = "";
+ };
+ 6003F5B6195388D20070C39A /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 6003F5B7195388D20070C39A /* Tests-Info.plist */,
+ 6003F5B8195388D20070C39A /* InfoPlist.strings */,
+ 606FC2411953D9B200FFA9A0 /* Tests-Prefix.pch */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+ ECAA1D9ED15A905CD1404249 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 97BF54E04E98F85D42FBDFD6 /* Pods-MWPhotoBrowser_Example.debug.xcconfig */,
+ 765FC167748A22364E02F1E3 /* Pods-MWPhotoBrowser_Example.release.xcconfig */,
+ 6A7FE569732B12BD7CA02F46 /* Pods-MWPhotoBrowser_Tests.debug.xcconfig */,
+ FC11C9CDC84AD89E203DB77A /* Pods-MWPhotoBrowser_Tests.release.xcconfig */,
+ );
+ name = Pods;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 6003F589195388D20070C39A /* MWPhotoBrowser_Example */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "MWPhotoBrowser_Example" */;
+ buildPhases = (
+ 9DAD8CD35623B01CF9C3756E /* [CP] Check Pods Manifest.lock */,
+ 6003F586195388D20070C39A /* Sources */,
+ 6003F587195388D20070C39A /* Frameworks */,
+ 6003F588195388D20070C39A /* Resources */,
+ FBB7F8D143B505501827A53C /* [CP] Embed Pods Frameworks */,
+ B037F4771D2220897DFD6AD9 /* [CP] Copy Pods Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = MWPhotoBrowser_Example;
+ productName = MWPhotoBrowser;
+ productReference = 6003F58A195388D20070C39A /* MWPhotoBrowser_Example.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 6003F5AD195388D20070C39A /* MWPhotoBrowser_Tests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "MWPhotoBrowser_Tests" */;
+ buildPhases = (
+ 95E3F4E49C6CDE6FBF52A29A /* [CP] Check Pods Manifest.lock */,
+ 6003F5AA195388D20070C39A /* Sources */,
+ 6003F5AB195388D20070C39A /* Frameworks */,
+ 6003F5AC195388D20070C39A /* Resources */,
+ 19BD8D0774CF980AE7658D5D /* [CP] Embed Pods Frameworks */,
+ ED7E910A14F442880B7BE2D5 /* [CP] Copy Pods Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 6003F5B4195388D20070C39A /* PBXTargetDependency */,
+ );
+ name = MWPhotoBrowser_Tests;
+ productName = MWPhotoBrowserTests;
+ productReference = 6003F5AE195388D20070C39A /* MWPhotoBrowser_Tests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 6003F582195388D10070C39A /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ CLASSPREFIX = MW;
+ LastUpgradeCheck = 0830;
+ ORGANIZATIONNAME = "Michael Waterfall";
+ TargetAttributes = {
+ 6003F5AD195388D20070C39A = {
+ TestTargetID = 6003F589195388D20070C39A;
+ };
+ };
+ };
+ buildConfigurationList = 6003F585195388D10070C39A /* Build configuration list for PBXProject "MWPhotoBrowser" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 6003F581195388D10070C39A;
+ productRefGroup = 6003F58B195388D20070C39A /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 6003F589195388D20070C39A /* MWPhotoBrowser_Example */,
+ 6003F5AD195388D20070C39A /* MWPhotoBrowser_Tests */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 6003F588195388D20070C39A /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 0EC5D4B51B4C46E50092ACC1 /* photo1.jpg in Resources */,
+ 0EC5D4C31B4C46E50092ACC1 /* photo8.jpg in Resources */,
+ 0EC5D4B71B4C46E50092ACC1 /* photo2.jpg in Resources */,
+ 873B8AEB1B1F5CCA007FD442 /* Main.storyboard in Resources */,
+ 6003F5A9195388D20070C39A /* Images.xcassets in Resources */,
+ 0EC5D4BD1B4C46E50092ACC1 /* photo5.jpg in Resources */,
+ 0EC5D4BF1B4C46E50092ACC1 /* photo6.jpg in Resources */,
+ 0EC5D4BE1B4C46E50092ACC1 /* photo5t.jpg in Resources */,
+ 6003F598195388D20070C39A /* InfoPlist.strings in Resources */,
+ 0EC5D4BB1B4C46E50092ACC1 /* photo4.jpg in Resources */,
+ 0EC5D4C41B4C46E50092ACC1 /* photo8t.jpg in Resources */,
+ 0EC5D4C51B4C46E50092ACC1 /* video.mp4 in Resources */,
+ 0EC5D4C21B4C46E50092ACC1 /* photo7t.jpg in Resources */,
+ 0EC5D4C01B4C46E50092ACC1 /* photo6t.jpg in Resources */,
+ 0EC5D4C11B4C46E50092ACC1 /* photo7.jpg in Resources */,
+ 0EC5D4B61B4C46E50092ACC1 /* photo1t.jpg in Resources */,
+ 0EC5D4C91B4C480E0092ACC1 /* video_thumb.jpg in Resources */,
+ 0EC5D4BC1B4C46E50092ACC1 /* photo4t.jpg in Resources */,
+ 0EC5D4BA1B4C46E50092ACC1 /* photo3t.jpg in Resources */,
+ 0EC5D4B91B4C46E50092ACC1 /* photo3.jpg in Resources */,
+ 0EC5D4B81B4C46E50092ACC1 /* photo2t.jpg in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 6003F5AC195388D20070C39A /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 6003F5BA195388D20070C39A /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 19BD8D0774CF980AE7658D5D /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 95E3F4E49C6CDE6FBF52A29A /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
+ showEnvVarsInLog = 0;
+ };
+ 9DAD8CD35623B01CF9C3756E /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
+ showEnvVarsInLog = 0;
+ };
+ B037F4771D2220897DFD6AD9 /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Copy Pods Resources";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ ED7E910A14F442880B7BE2D5 /* [CP] Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Copy Pods Resources";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Tests/Pods-MWPhotoBrowser_Tests-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ FBB7F8D143B505501827A53C /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-MWPhotoBrowser_Example/Pods-MWPhotoBrowser_Example-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 6003F586195388D20070C39A /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 4C18E11B1B47E72800E3D63A /* AppDelegate.m in Sources */,
+ 6003F59A195388D20070C39A /* main.m in Sources */,
+ 4C18E11C1B47E72800E3D63A /* Menu.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 6003F5AA195388D20070C39A /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 6003F5BC195388D20070C39A /* Tests.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 6003F5B4195388D20070C39A /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 6003F589195388D20070C39A /* MWPhotoBrowser_Example */;
+ targetProxy = 6003F5B3195388D20070C39A /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 6003F596195388D20070C39A /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 6003F597195388D20070C39A /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "";
+ };
+ 6003F5B8195388D20070C39A /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 6003F5B9195388D20070C39A /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 6003F5BD195388D20070C39A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ 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_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ 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;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ 6003F5BE195388D20070C39A /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INFINITE_RECURSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_SUSPICIOUS_MOVE = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = YES;
+ 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;
+ 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;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 6003F5C0195388D20070C39A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 97BF54E04E98F85D42FBDFD6 /* Pods-MWPhotoBrowser_Example.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "MWPhotoBrowser/MWPhotoBrowser-Prefix.pch";
+ INFOPLIST_FILE = "MWPhotoBrowser/MWPhotoBrowser-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MODULE_NAME = ExampleApp;
+ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ 6003F5C1195388D20070C39A /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 765FC167748A22364E02F1E3 /* Pods-MWPhotoBrowser_Example.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "MWPhotoBrowser/MWPhotoBrowser-Prefix.pch";
+ INFOPLIST_FILE = "MWPhotoBrowser/MWPhotoBrowser-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MODULE_NAME = ExampleApp;
+ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ 6003F5C3195388D20070C39A /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = 6A7FE569732B12BD7CA02F46 /* Pods-MWPhotoBrowser_Tests.debug.xcconfig */;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SDKROOT)/Developer/Library/Frameworks",
+ "$(inherited)",
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
+ );
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ INFOPLIST_FILE = "Tests/Tests-Info.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MWPhotoBrowser_Example.app/MWPhotoBrowser_Example";
+ WRAPPER_EXTENSION = xctest;
+ };
+ name = Debug;
+ };
+ 6003F5C4195388D20070C39A /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = FC11C9CDC84AD89E203DB77A /* Pods-MWPhotoBrowser_Tests.release.xcconfig */;
+ buildSettings = {
+ BUNDLE_LOADER = "$(TEST_HOST)";
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(SDKROOT)/Developer/Library/Frameworks",
+ "$(inherited)",
+ "$(DEVELOPER_FRAMEWORKS_DIR)",
+ );
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Tests/Tests-Prefix.pch";
+ INFOPLIST_FILE = "Tests/Tests-Info.plist";
+ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.${PRODUCT_NAME:rfc1034identifier}";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MWPhotoBrowser_Example.app/MWPhotoBrowser_Example";
+ WRAPPER_EXTENSION = xctest;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 6003F585195388D10070C39A /* Build configuration list for PBXProject "MWPhotoBrowser" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 6003F5BD195388D20070C39A /* Debug */,
+ 6003F5BE195388D20070C39A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "MWPhotoBrowser_Example" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 6003F5C0195388D20070C39A /* Debug */,
+ 6003F5C1195388D20070C39A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 6003F5C2195388D20070C39A /* Build configuration list for PBXNativeTarget "MWPhotoBrowser_Tests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 6003F5C3195388D20070C39A /* Debug */,
+ 6003F5C4195388D20070C39A /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 6003F582195388D10070C39A /* Project object */;
+}
diff --git a/Example/MWPhotoBrowser.xcodeproj/xcshareddata/xcschemes/MWPhotoBrowser-Example.xcscheme b/Example/MWPhotoBrowser.xcodeproj/xcshareddata/xcschemes/MWPhotoBrowser-Example.xcscheme
index de61be57c..08542093d 100644
--- a/Example/MWPhotoBrowser.xcodeproj/xcshareddata/xcschemes/MWPhotoBrowser-Example.xcscheme
+++ b/Example/MWPhotoBrowser.xcodeproj/xcshareddata/xcschemes/MWPhotoBrowser-Example.xcscheme
@@ -1,6 +1,6 @@
true do
+target 'MWPhotoBrowser_Example' do
pod "MWPhotoBrowser", :path => "../"
end
-target 'MWPhotoBrowser_Tests', :exclusive => true do
+target 'MWPhotoBrowser_Tests' do
pod "MWPhotoBrowser", :path => "../"
- pod 'Specta'
- pod 'Expecta'
- pod 'FBSnapshotTestCase'
- pod 'Expecta+Snapshots'
+ pod 'XCDYouTubeKit'
end
diff --git a/Example/Podfile.lock b/Example/Podfile.lock
index b2e52edfd..4b134f331 100644
--- a/Example/Podfile.lock
+++ b/Example/Podfile.lock
@@ -1,26 +1,19 @@
PODS:
- DACircularProgress (2.3.1)
- - Expecta (1.0.0)
- - Expecta+Snapshots (1.3.4):
- - Expecta (~> 1.0)
- - FBSnapshotTestCase (~> 1.8)
- - FBSnapshotTestCase (1.8.1)
- - MBProgressHUD (0.9.2)
+ - MBProgressHUD (1.0.0)
- MWPhotoBrowser (2.1.2):
- DACircularProgress (~> 2.3)
- - MBProgressHUD (~> 0.9)
- - SDWebImage (!= 3.7.2, ~> 3.7)
- - SDWebImage (3.7.5):
- - SDWebImage/Core (= 3.7.5)
- - SDWebImage/Core (3.7.5)
- - Specta (1.0.2)
+ - MBProgressHUD
+ - SDWebImage
+ - XCDYouTubeKit
+ - SDWebImage (4.0.0):
+ - SDWebImage/Core (= 4.0.0)
+ - SDWebImage/Core (4.0.0)
+ - XCDYouTubeKit (2.5.5)
DEPENDENCIES:
- - Expecta
- - Expecta+Snapshots
- - FBSnapshotTestCase
- MWPhotoBrowser (from `../`)
- - Specta
+ - XCDYouTubeKit
EXTERNAL SOURCES:
MWPhotoBrowser:
@@ -28,12 +21,11 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
DACircularProgress: 4dd437c0fc3da5161cb289e07ac449493d41db71
- Expecta: 32604574add2c46a36f8d2f716b6c5736eb75024
- Expecta+Snapshots: ca15bfb57e7a0f78f86c7699c2c54ffacfa4ad2a
- FBSnapshotTestCase: 3dc3899168747a0319c5278f5b3445c13a6532dd
- MBProgressHUD: 1569cf7ace17a8bac47aabfbb8580a49690386d1
- MWPhotoBrowser: 5836d7aa041dc05a13de380c246826578adc5ea5
- SDWebImage: 69c6303e3348fba97e03f65d65d4fbc26740f461
- Specta: 9cec98310dca411f7c7ffd6943552b501622abfe
+ MBProgressHUD: 4890f671c94e8a0f3cf959aa731e9de2f036d71a
+ MWPhotoBrowser: ff1338bbaa18628f4c0ddb1cda2400e4eb76f3f2
+ SDWebImage: 76a6348bdc74eb5a55dd08a091ef298e56b55e41
+ XCDYouTubeKit: 86f4e7a9c2baa7b7adf6abfc28ac3ab34927be2d
-COCOAPODS: 0.39.0
+PODFILE CHECKSUM: 8d80a550b39a400bc48ef7231048ba8671fc89d2
+
+COCOAPODS: 1.0.1
diff --git a/Example/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h b/Example/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h
deleted file mode 100644
index 37466e4d2..000000000
--- a/Example/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h
+++ /dev/null
@@ -1,21 +0,0 @@
-//
-// EXPMatchers+FBSnapshotTest.h
-// Artsy
-//
-// Created by Daniel Doubrovkine on 1/14/14.
-// Copyright (c) 2014 Artsy Inc. All rights reserved.
-//
-
-#import
-
-@interface EXPExpectFBSnapshotTest : NSObject
-@end
-
-/// Set the default folder for image tests to run in
-extern void setGlobalReferenceImageDir(char *reference);
-
-EXPMatcherInterface(haveValidSnapshot, (void));
-EXPMatcherInterface(recordSnapshot, (void));
-
-EXPMatcherInterface(haveValidSnapshotNamed, (NSString *snapshot));
-EXPMatcherInterface(recordSnapshotNamed, (NSString *snapshot));
diff --git a/Example/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.m b/Example/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.m
deleted file mode 100644
index 230d448fa..000000000
--- a/Example/Pods/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.m
+++ /dev/null
@@ -1,317 +0,0 @@
-//
-// EXPMatchers+FBSnapshotTest.h
-// Artsy
-//
-// Created by Daniel Doubrovkine on 1/14/14.
-// Copyright (c) 2014 Artsy Inc. All rights reserved.
-//
-
-#import "EXPMatchers+FBSnapshotTest.h"
-#import
-#import
-
-@interface EXPExpectFBSnapshotTest()
-@property (nonatomic, strong) NSString *referenceImagesDirectory;
-@end
-
-@implementation EXPExpectFBSnapshotTest
-
-+ (id)instance
-{
- static EXPExpectFBSnapshotTest *instance = nil;
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- instance = [[self alloc] init];
- });
- return instance;
-}
-
-+ (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer snapshot:(NSString *)snapshot testCase:(id)testCase record:(BOOL)record referenceDirectory:(NSString *)referenceDirectory error:(NSError **)error
-
-{
- FBSnapshotTestController *snapshotController = [[FBSnapshotTestController alloc] initWithTestClass:[testCase class]];
- snapshotController.recordMode = record;
- snapshotController.referenceImagesDirectory = referenceDirectory;
-
- if (! snapshotController.referenceImagesDirectory) {
- [NSException raise:@"Missing value for referenceImagesDirectory" format:@"Call [[EXPExpectFBSnapshotTest instance] setReferenceImagesDirectory"];
- }
-
- return [snapshotController compareSnapshotOfViewOrLayer:viewOrLayer
- selector:NSSelectorFromString(snapshot)
- identifier:nil
- error:error];
-}
-
-+ (NSString *)combinedError:(NSString *)message test:(NSString *)test error:(NSError *)error
-{
- NSAssert(message, @"missing message");
- NSAssert(test, @"missing test name");
-
- NSMutableArray *ary = [NSMutableArray array];
-
- [ary addObject:[NSString stringWithFormat:@"%@ %@", message, test]];
-
- for(NSString *key in error.userInfo.keyEnumerator) {
- [ary addObject:[NSString stringWithFormat:@" %@: %@", key, [error.userInfo valueForKey:key]]];
- }
-
- return [ary componentsJoinedByString:@"\n"];
-}
-
-@end
-
-void setGlobalReferenceImageDir(char *reference) {
- NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%s", reference];
- [[EXPExpectFBSnapshotTest instance] setReferenceImagesDirectory:referenceImagesDirectory];
-};
-
-@interface EXPExpect(ReferenceDirExtension)
-- (NSString *)_getDefaultReferenceDirectory;
-@end
-
-@implementation EXPExpect(ReferenceDirExtension)
-
-- (NSString *)_getDefaultReferenceDirectory
-{
- NSString *globalReference = [[EXPExpectFBSnapshotTest instance] referenceImagesDirectory];
- if (globalReference) {
- return globalReference;
- }
-
- // Search the test file's path to find the first folder with the substring "tests"
- // then append "/ReferenceImages" and use that
-
- NSString *testFileName = [NSString stringWithCString:self.fileName encoding:NSUTF8StringEncoding];
- NSArray *pathComponents = [testFileName pathComponents];
-
- for (NSString *folder in pathComponents) {
- if ([folder.lowercaseString rangeOfString:@"tests"].location != NSNotFound) {
-
- NSArray *folderPathComponents = [pathComponents subarrayWithRange:NSMakeRange(0, [pathComponents indexOfObject:folder] + 1)];
- return [NSString stringWithFormat:@"%@/ReferenceImages", [folderPathComponents componentsJoinedByString:@"/"]];
-
- }
- }
-
- [NSException raise:@"Could not infer reference image folder" format:@"You should provide a reference dir using setGlobalReferenceImageDir(FB_REFERENCE_IMAGE_DIR);"];
- return nil;
-}
-@end
-
-
-
-// If you're bringing in Speca via CocoaPods
-// use the test path to get the test's image file URL
-
-#if __has_include()
-#import
-#import
-#import
-
-NSString *sanitizedTestPath();
-
-NSString *sanitizedTestPath(){
- id compiledExample = [[NSThread currentThread] threadDictionary][@"SPTCurrentSpec"]; // SPTSpec
- NSString *name;
- if ([compiledExample respondsToSelector:@selector(name)]) {
- // Specta 0.3 syntax
- name = [compiledExample performSelector:@selector(name)];
- } else if ([compiledExample respondsToSelector:@selector(fileName)]) {
- // Specta 0.2 syntax
- name = [compiledExample performSelector:@selector(fileName)];
- }
- name = [[[[name componentsSeparatedByString:@" test_"] lastObject] stringByReplacingOccurrencesOfString:@"__" withString:@"_"] stringByReplacingOccurrencesOfString:@"]" withString:@""];
- return name;
-}
-
-EXPMatcherImplementationBegin(haveValidSnapshot, (void)){
- __block NSError *error = nil;
-
- match(^BOOL{
- NSString *referenceImageDir = [self _getDefaultReferenceDirectory];
- NSString *name = sanitizedTestPath();
- if ([actual isKindOfClass:UIViewController.class]) {
- [actual beginAppearanceTransition:YES animated:NO];
- [actual endAppearanceTransition];
-
- actual = [actual view];
- }
-
- return [EXPExpectFBSnapshotTest compareSnapshotOfViewOrLayer:actual snapshot:name testCase:[self testCase] record:NO referenceDirectory:referenceImageDir error:&error];
- });
-
- failureMessageForTo(^NSString *{
- return [EXPExpectFBSnapshotTest combinedError:@"expected a matching snapshot in" test:sanitizedTestPath() error:error];
- });
-
- failureMessageForNotTo(^NSString *{
- return [EXPExpectFBSnapshotTest combinedError:@"expected to not have a matching snapshot in" test:sanitizedTestPath() error:error];
- });
-}
-EXPMatcherImplementationEnd
-
-EXPMatcherImplementationBegin(recordSnapshot, (void)) {
- __block NSError *error = nil;
-
- BOOL actualIsViewLayerOrViewController = ([actual isKindOfClass:UIView.class] || [actual isKindOfClass:CALayer.class] || [actual isKindOfClass:UIViewController.class]);
-
- prerequisite(^BOOL{
- return actualIsViewLayerOrViewController;
- });
-
- match(^BOOL{
- NSString *referenceImageDir = [self _getDefaultReferenceDirectory];
-
- // For view controllers do the viewWill/viewDid dance, then pass view through
- if ([actual isKindOfClass:UIViewController.class]) {
-
- [actual beginAppearanceTransition:YES animated:NO];
- [actual endAppearanceTransition];
- actual = [actual view];
- }
-
- [EXPExpectFBSnapshotTest compareSnapshotOfViewOrLayer:actual snapshot:sanitizedTestPath() testCase:[self testCase] record:YES referenceDirectory:referenceImageDir error:&error];
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- if (!actualIsViewLayerOrViewController) {
- return [EXPExpectFBSnapshotTest combinedError:@"Expected a View, Layer or View Controller." test:sanitizedTestPath() error:nil];
- }
- if (error) {
- return [EXPExpectFBSnapshotTest combinedError:@"expected to record a snapshot in" test:sanitizedTestPath() error:error];
- } else {
- return [NSString stringWithFormat:@"snapshot %@ successfully recorded, replace recordSnapshot with a check", sanitizedTestPath()];
- }
- });
-
- failureMessageForNotTo(^NSString *{
- if (error) {
- return [EXPExpectFBSnapshotTest combinedError:@"expected to record a snapshot in" test:sanitizedTestPath() error:error];
- } else {
- return [NSString stringWithFormat:@"snapshot %@ successfully recorded, replace recordSnapshot with a check", sanitizedTestPath()];
- }
- });
-}
-EXPMatcherImplementationEnd
-
-#else
-
-// If you don't have Speca stub the functions
-
-EXPMatcherImplementationBegin(haveValidSnapshot, (void)){
-
- prerequisite(^BOOL{
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- return @"you need Specta installed via CocoaPods to use haveValidSnapshot, use haveValidSnapshotNamed instead";
- });
-
- failureMessageForNotTo(^NSString *{
- return @"you need Specta installed via CocoaPods to use haveValidSnapshot, use haveValidSnapshotNamed instead";
- });
-}
-EXPMatcherImplementationEnd
-
-
-EXPMatcherImplementationBegin(recordSnapshot, (void)) {
-
- prerequisite(^BOOL{
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- return @"you need Specta installed via CocoaPods to use recordSnapshot, use recordSnapshotNamed instead";
- });
-
- failureMessageForNotTo(^NSString *{
- return @"you need Specta installed via CocoaPods to use recordSnapshot, use recordSnapshotNamed instead";
- });
-}
-EXPMatcherImplementationEnd
-
-
-#endif
-
-
-
-EXPMatcherImplementationBegin(haveValidSnapshotNamed, (NSString *snapshot)){
- BOOL snapshotIsNil = (snapshot == nil);
- __block NSError *error = nil;
-
- prerequisite(^BOOL{
- return !(snapshotIsNil);
- });
-
- match(^BOOL{
- NSString *referenceImageDir = [self _getDefaultReferenceDirectory];
- if ([actual isKindOfClass:UIViewController.class]) {
- [actual beginAppearanceTransition:YES animated:NO];
- [actual endAppearanceTransition];
-
- actual = [actual view];
- }
- return [EXPExpectFBSnapshotTest compareSnapshotOfViewOrLayer:actual snapshot:snapshot testCase:[self testCase] record:NO referenceDirectory:referenceImageDir error:&error];
- });
-
- failureMessageForTo(^NSString *{
- return [EXPExpectFBSnapshotTest combinedError:@"expected a matching snapshot named" test:snapshot error:error];
-
- });
-
- failureMessageForNotTo(^NSString *{
- return [EXPExpectFBSnapshotTest combinedError:@"expected not to have a matching snapshot named" test:snapshot error:error];
- });
-}
-EXPMatcherImplementationEnd
-
-EXPMatcherImplementationBegin(recordSnapshotNamed, (NSString *snapshot)) {
- BOOL snapshotExists = (snapshot != nil);
- BOOL actualIsViewLayerOrViewController = ([actual isKindOfClass:UIView.class] || [actual isKindOfClass:CALayer.class] || [actual isKindOfClass:UIViewController.class]);
- __block NSError *error = nil;
- id actualRef = actual;
-
- prerequisite(^BOOL{
- return actualRef && snapshotExists && actualIsViewLayerOrViewController;
- });
-
- match(^BOOL{
- NSString *referenceImageDir = [self _getDefaultReferenceDirectory];
-
- // For view controllers do the viewWill/viewDid dance, then pass view through
- if ([actual isKindOfClass:UIViewController.class]) {
- [actual beginAppearanceTransition:YES animated:NO];
- [actual endAppearanceTransition];
- actual = [actual view];
- }
-
- [EXPExpectFBSnapshotTest compareSnapshotOfViewOrLayer:actual snapshot:snapshot testCase:[self testCase] record:YES referenceDirectory:referenceImageDir error:&error];
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- if (!actualIsViewLayerOrViewController) {
- return [EXPExpectFBSnapshotTest combinedError:@"Expected a View, Layer or View Controller." test:snapshot error:nil];
- }
- if (error) {
- return [EXPExpectFBSnapshotTest combinedError:@"expected to record a matching snapshot named" test:snapshot error:error];
- } else {
- return [NSString stringWithFormat:@"snapshot %@ successfully recorded, replace recordSnapshot with a check", snapshot];
- }
- });
-
- failureMessageForNotTo(^NSString *{
- if (!actualIsViewLayerOrViewController) {
- return [EXPExpectFBSnapshotTest combinedError:@"Expected a View, Layer or View Controller." test:snapshot error:nil];
- }
- if (error) {
- return [EXPExpectFBSnapshotTest combinedError:@"expected to record a matching snapshot named" test:snapshot error:error];
- } else {
- return [NSString stringWithFormat:@"snapshot %@ successfully recorded, replace recordSnapshot with a check", snapshot];
- }
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta+Snapshots/LICENSE.md b/Example/Pods/Expecta+Snapshots/LICENSE.md
deleted file mode 100644
index 47c9a3d63..000000000
--- a/Example/Pods/Expecta+Snapshots/LICENSE.md
+++ /dev/null
@@ -1,22 +0,0 @@
-MIT License
-
-Copyright (c) 2014 Daniel Doubrovkine, Artsy Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/Example/Pods/Expecta+Snapshots/README.md b/Example/Pods/Expecta+Snapshots/README.md
deleted file mode 100644
index ada0015a7..000000000
--- a/Example/Pods/Expecta+Snapshots/README.md
+++ /dev/null
@@ -1,85 +0,0 @@
-Expecta Matchers for FBSnapshotTestCase
-=======================================
-
-[Expecta](https://github.com/specta/expecta) matchers for [ios-snapshot-test-case](https://github.com/facebook/ios-snapshot-test-case).
-
-[](https://travis-ci.org/dblock/ios-snapshot-test-case-expecta)
-
-### Usage
-
-Add `Expecta+Snapshots` to your Podfile, the latest `FBSnapshotTestCase` will come in as a dependency.
-
-``` ruby
-pod 'Expecta+Snapshots'
-```
-
-### App setup
-
-Use `expect(view).to.recordSnapshotNamed(@"unique snapshot name")` to record a snapshot and `expect(view).to.haveValidSnapshotNamed(@"unique snapshot name")` to check it.
-
-If you project was compiled with Specta included, you have two extra methods that use the spec hierarchy to generate the snapshot name for you: `recordSnapshot()` and `haveValidSnapshot()`. You should only call these once per `it()` block.
-
-``` Objective-C
-#define EXP_SHORTHAND
-#include
-#include
-#include
-#include "FBExampleView.h"
-
-SpecBegin(FBExampleView)
-
-describe(@"manual matching", ^{
-
- it(@"matches view", ^{
- FBExampleView *view = [[FBExampleView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)];
- expect(view).to.recordSnapshotNamed(@"FBExampleView");
- expect(view).to.haveValidSnapshotNamed(@"FBExampleView");
- });
-
- it(@"doesn't match a view", ^{
- FBExampleView *view = [[FBExampleView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)];
- expect(view).toNot.haveValidSnapshotNamed(@"FBExampleViewDoesNotExist");
- });
-
-});
-
-describe(@"test name derived matching", ^{
-
- it(@"matches view", ^{
- FBExampleView *view = [[FBExampleView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)];
- expect(view).to.recordSnapshot();
- expect(view).to.haveValidSnapshot();
- });
-
- it(@"doesn't match a view", ^{
- FBExampleView *view = [[FBExampleView alloc] initWithFrame:CGRectMake(0, 0, 64, 64)];
- expect(view).toNot.haveValidSnapshot();
- });
-
-});
-
-SpecEnd
-```
-
-### Sane defaults
-
-`EXPMatchers+FBSnapshotTest` will automatically figure out the tests folder, and [add a reference image](https://github.com/dblock/ios-snapshot-test-case-expecta/blob/master/EXPMatchers%2BFBSnapshotTest.m#L84-L85) directory, if you'd like to override this, you should include a `beforeAll` block setting the `setGlobalReferenceImageDir` in each file containing tests.
-
-```
-beforeAll(^{
- setGlobalReferenceImageDir(FB_REFERENCE_IMAGE_DIR);
-});
-```
-
-
-### Example
-
-A complete project can be found in [FBSnapshotTestCaseDemo](FBSnapshotTestCaseDemo).
-
-Notably, take a look at [FBSnapshotTestCaseDemoSpecs.m](FBSnapshotTestCaseDemo/FBSnapshotTestCaseDemoTests/FBSnapshotTestCaseDemoSpecs.m) for a complete example, which is an expanded Specta version version of [FBSnapshotTestCaseDemoTests.m](https://github.com/facebook/ios-snapshot-test-case/blob/master/FBSnapshotTestCaseDemo/FBSnapshotTestCaseDemoTests/FBSnapshotTestCaseDemoTests.m).
-
-Finally you can consult the tests for [ARTiledImageView](https://github.com/dblock/ARTiledImageView/tree/master/IntegrationTests) or [NAMapKit](https://github.com/neilang/NAMapKit/tree/master/Demo/DemoTests).
-
-### License
-
-MIT, see [LICENSE](LICENSE.md)
diff --git a/Example/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.h b/Example/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.h
deleted file mode 100644
index 58b128283..000000000
--- a/Example/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.h
+++ /dev/null
@@ -1,25 +0,0 @@
-//
-// EXPRuntimeMatcher.h
-// Expecta
-//
-// Created by Luke Redpath on 26/03/2012.
-// Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
-//
-
-#import
-#import "EXPMatcher.h"
-#import "EXPDefines.h"
-
-@interface EXPBlockDefinedMatcher : NSObject {
- EXPBoolBlock prerequisiteBlock;
- EXPBoolBlock matchBlock;
- EXPStringBlock failureMessageForToBlock;
- EXPStringBlock failureMessageForNotToBlock;
-}
-
-@property(nonatomic, copy) EXPBoolBlock prerequisiteBlock;
-@property(nonatomic, copy) EXPBoolBlock matchBlock;
-@property(nonatomic, copy) EXPStringBlock failureMessageForToBlock;
-@property(nonatomic, copy) EXPStringBlock failureMessageForNotToBlock;
-
-@end
diff --git a/Example/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.m b/Example/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.m
deleted file mode 100644
index 89bba3773..000000000
--- a/Example/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.m
+++ /dev/null
@@ -1,60 +0,0 @@
-//
-// EXPRuntimeMatcher.m
-// Expecta
-//
-// Created by Luke Redpath on 26/03/2012.
-// Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
-//
-
-#import "EXPBlockDefinedMatcher.h"
-
-@implementation EXPBlockDefinedMatcher
-
-- (void)dealloc
-{
- self.prerequisiteBlock = nil;
- self.matchBlock = nil;
- self.failureMessageForToBlock = nil;
- self.failureMessageForNotToBlock = nil;
-
- [super dealloc];
-}
-
-@synthesize prerequisiteBlock;
-@synthesize matchBlock;
-@synthesize failureMessageForToBlock;
-@synthesize failureMessageForNotToBlock;
-
-- (BOOL)meetsPrerequesiteFor:(id)actual
-{
- if (self.prerequisiteBlock) {
- return self.prerequisiteBlock();
- }
- return YES;
-}
-
-- (BOOL)matches:(id)actual
-{
- if (self.matchBlock) {
- return self.matchBlock();
- }
- return YES;
-}
-
-- (NSString *)failureMessageForTo:(id)actual
-{
- if (self.failureMessageForToBlock) {
- return self.failureMessageForToBlock();
- }
- return nil;
-}
-
-- (NSString *)failureMessageForNotTo:(id)actual
-{
- if (self.failureMessageForNotToBlock) {
- return self.failureMessageForNotToBlock();
- }
- return nil;
-}
-
-@end
diff --git a/Example/Pods/Expecta/Expecta/EXPDefines.h b/Example/Pods/Expecta/Expecta/EXPDefines.h
deleted file mode 100644
index 52af72191..000000000
--- a/Example/Pods/Expecta/Expecta/EXPDefines.h
+++ /dev/null
@@ -1,17 +0,0 @@
-//
-// EXPDefines.h
-// Expecta
-//
-// Created by Luke Redpath on 26/03/2012.
-// Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
-//
-
-#ifndef Expecta_EXPDefines_h
-#define Expecta_EXPDefines_h
-
-typedef void (^EXPBasicBlock)();
-typedef id (^EXPIdBlock)();
-typedef BOOL (^EXPBoolBlock)();
-typedef NSString *(^EXPStringBlock)();
-
-#endif
diff --git a/Example/Pods/Expecta/Expecta/EXPDoubleTuple.h b/Example/Pods/Expecta/Expecta/EXPDoubleTuple.h
deleted file mode 100644
index 4bd231c57..000000000
--- a/Example/Pods/Expecta/Expecta/EXPDoubleTuple.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#import
-
-@interface EXPDoubleTuple : NSObject {
- double *_values;
- size_t _size;
-}
-
-@property (nonatomic, assign) double *values;
-@property (nonatomic, assign) size_t size;
-
-- (instancetype)initWithDoubleValues:(double *)values size:(size_t)size NS_DESIGNATED_INITIALIZER;
-
-@end
diff --git a/Example/Pods/Expecta/Expecta/EXPDoubleTuple.m b/Example/Pods/Expecta/Expecta/EXPDoubleTuple.m
deleted file mode 100644
index 829e35422..000000000
--- a/Example/Pods/Expecta/Expecta/EXPDoubleTuple.m
+++ /dev/null
@@ -1,42 +0,0 @@
-#import "EXPDoubleTuple.h"
-
-@implementation EXPDoubleTuple
-
-@synthesize values = _values, size = _size;
-
-- (instancetype)initWithDoubleValues:(double *)values size:(size_t)size {
- if ((self = [super init])) {
- self.values = malloc(sizeof(double) * size);
- memcpy(self.values, values, sizeof(double) * size);
- self.size = size;
- }
- return self;
-}
-
-- (void)dealloc {
- free(self.values);
- [super dealloc];
-}
-
-- (BOOL)isEqual:(id)object {
- if (![object isKindOfClass:[EXPDoubleTuple class]]) return NO;
- EXPDoubleTuple *other = (EXPDoubleTuple *)object;
- if (self.size == other.size) {
- for (int i = 0; i < self.size; ++i) {
- if (self.values[i] != other.values[i]) return NO;
- }
- return YES;
- }
- return NO;
-}
-
-- (NSString *)description {
- if (self.size == 2) {
- return [NSString stringWithFormat:@"Double tuple: {%f, %f}", self.values[0], self.values[1]];
- } else if (self.size == 4) {
- return [NSString stringWithFormat:@"Double tuple: {%f, %f, %f, %f}", self.values[0], self.values[1], self.values[2], self.values[3]];
- }
- return [NSString stringWithFormat:@"Double tuple of unexpected size %zd, sadly", self.size];
-}
-
-@end
diff --git a/Example/Pods/Expecta/Expecta/EXPExpect.h b/Example/Pods/Expecta/Expecta/EXPExpect.h
deleted file mode 100644
index 985c1200d..000000000
--- a/Example/Pods/Expecta/Expecta/EXPExpect.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#import
-#import "EXPMatcher.h"
-#import "EXPDefines.h"
-
-@interface EXPExpect : NSObject {
- EXPIdBlock _actualBlock;
- id _testCase;
- int _lineNumber;
- char *_fileName;
- BOOL _negative;
- BOOL _asynchronous;
- NSTimeInterval _timeout;
-}
-
-@property(nonatomic, copy) EXPIdBlock actualBlock;
-@property(nonatomic, readonly) id actual;
-@property(nonatomic, assign) id testCase;
-@property(nonatomic) int lineNumber;
-@property(nonatomic) const char *fileName;
-@property(nonatomic) BOOL negative;
-@property(nonatomic) BOOL asynchronous;
-@property(nonatomic) NSTimeInterval timeout;
-
-@property(nonatomic, readonly) EXPExpect *to;
-@property(nonatomic, readonly) EXPExpect *toNot;
-@property(nonatomic, readonly) EXPExpect *notTo;
-@property(nonatomic, readonly) EXPExpect *will;
-@property(nonatomic, readonly) EXPExpect *willNot;
-@property(nonatomic, readonly) EXPExpect *(^after)(NSTimeInterval timeInterval);
-
-- (instancetype)initWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName NS_DESIGNATED_INITIALIZER;
-+ (EXPExpect *)expectWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName;
-
-- (void)applyMatcher:(id)matcher;
-- (void)applyMatcher:(id)matcher to:(NSObject **)actual;
-
-@end
-
-@interface EXPDynamicPredicateMatcher : NSObject {
- EXPExpect *_expectation;
- SEL _selector;
-}
-- (instancetype)initWithExpectation:(EXPExpect *)expectation selector:(SEL)selector NS_DESIGNATED_INITIALIZER;
-@property (nonatomic, readonly, copy) void (^dispatch)(void);
-@end
diff --git a/Example/Pods/Expecta/Expecta/EXPExpect.m b/Example/Pods/Expecta/Expecta/EXPExpect.m
deleted file mode 100644
index 729794d69..000000000
--- a/Example/Pods/Expecta/Expecta/EXPExpect.m
+++ /dev/null
@@ -1,214 +0,0 @@
-#import "EXPExpect.h"
-#import "NSObject+Expecta.h"
-#import "Expecta.h"
-#import "EXPUnsupportedObject.h"
-#import "EXPMatcher.h"
-#import "EXPBlockDefinedMatcher.h"
-#import
-
-@implementation EXPExpect
-
-@dynamic
- actual,
- to,
- toNot,
- notTo,
- will,
- willNot,
- after;
-
-@synthesize
- actualBlock=_actualBlock,
- testCase=_testCase,
- negative=_negative,
- asynchronous=_asynchronous,
- timeout=_timeout,
- lineNumber=_lineNumber,
- fileName=_fileName;
-
-- (instancetype)initWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName {
- self = [super init];
- if(self) {
- self.actualBlock = actualBlock;
- self.testCase = testCase;
- self.negative = NO;
- self.asynchronous = NO;
- self.timeout = [Expecta asynchronousTestTimeout];
- self.lineNumber = lineNumber;
- self.fileName = fileName;
- }
- return self;
-}
-
-- (void)dealloc
-{
- _actualBlock = nil;
- [super dealloc];
-}
-
-+ (EXPExpect *)expectWithActualBlock:(id)actualBlock testCase:(id)testCase lineNumber:(int)lineNumber fileName:(const char *)fileName {
- return [[[EXPExpect alloc] initWithActualBlock:actualBlock testCase:(id)testCase lineNumber:lineNumber fileName:fileName] autorelease];
-}
-
-#pragma mark -
-
-- (EXPExpect *)to {
- return self;
-}
-
-- (EXPExpect *)toNot {
- self.negative = !self.negative;
- return self;
-}
-
-- (EXPExpect *)notTo {
- return [self toNot];
-}
-
-- (EXPExpect *)will {
- self.asynchronous = YES;
- return self;
-}
-
-- (EXPExpect *)willNot {
- return self.will.toNot;
-}
-
-- (EXPExpect *(^)(NSTimeInterval))after
-{
- EXPExpect * (^block)(NSTimeInterval) = [^EXPExpect *(NSTimeInterval timeout) {
- self.asynchronous = YES;
- self.timeout = timeout;
- return self;
- } copy];
-
- return [block autorelease];
-}
-
-#pragma mark -
-
-- (id)actual {
- if(self.actualBlock) {
- return self.actualBlock();
- }
- return nil;
-}
-
-- (void)applyMatcher:(id)matcher
-{
- id actual = [self actual];
- [self applyMatcher:matcher to:&actual];
-}
-
-- (void)applyMatcher:(id)matcher to:(NSObject **)actual {
- if([*actual isKindOfClass:[EXPUnsupportedObject class]]) {
- EXPFail(self.testCase, self.lineNumber, self.fileName,
- [NSString stringWithFormat:@"expecting a %@ is not supported", ((EXPUnsupportedObject *)*actual).type]);
- } else {
- BOOL failed = NO;
- if([matcher respondsToSelector:@selector(meetsPrerequesiteFor:)] &&
- ![matcher meetsPrerequesiteFor:*actual]) {
- failed = YES;
- } else {
- BOOL matchResult = NO;
- if(self.asynchronous) {
- NSTimeInterval timeOut = self.timeout;
- NSDate *expiryDate = [NSDate dateWithTimeIntervalSinceNow:timeOut];
- while(1) {
- matchResult = [matcher matches:*actual];
- failed = self.negative ? matchResult : !matchResult;
- if(!failed || ([(NSDate *)[NSDate date] compare:expiryDate] == NSOrderedDescending)) {
- break;
- }
- [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]];
- OSMemoryBarrier();
- *actual = self.actual;
- }
- } else {
- matchResult = [matcher matches:*actual];
- }
- failed = self.negative ? matchResult : !matchResult;
- }
- if(failed) {
- NSString *message = nil;
-
- if(self.negative) {
- if ([matcher respondsToSelector:@selector(failureMessageForNotTo:)]) {
- message = [matcher failureMessageForNotTo:*actual];
- }
- } else {
- if ([matcher respondsToSelector:@selector(failureMessageForTo:)]) {
- message = [matcher failureMessageForTo:*actual];
- }
- }
- if (message == nil) {
- message = @"Match Failed.";
- }
-
- EXPFail(self.testCase, self.lineNumber, self.fileName, message);
- }
- }
- self.negative = NO;
-}
-
-#pragma mark - Dynamic predicate dispatch
-
-- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
-{
- if ([self.actual respondsToSelector:aSelector]) {
- return [self.actual methodSignatureForSelector:aSelector];
- }
- return [super methodSignatureForSelector:aSelector];
-}
-
-- (void)forwardInvocation:(NSInvocation *)anInvocation
-{
- if ([self.actual respondsToSelector:anInvocation.selector]) {
- EXPDynamicPredicateMatcher *matcher = [[EXPDynamicPredicateMatcher alloc] initWithExpectation:self selector:anInvocation.selector];
- [anInvocation setSelector:@selector(dispatch)];
- [anInvocation invokeWithTarget:matcher];
- [matcher release];
- }
- else {
- [super forwardInvocation:anInvocation];
- }
-}
-
-@end
-
-@implementation EXPDynamicPredicateMatcher
-
-- (instancetype)initWithExpectation:(EXPExpect *)expectation selector:(SEL)selector
-{
- if ((self = [super init])) {
- _expectation = expectation;
- _selector = selector;
- }
- return self;
-}
-
-- (BOOL)matches:(id)actual
-{
- return (BOOL)[actual performSelector:_selector];
-}
-
-- (NSString *)failureMessageForTo:(id)actual
-{
- return [NSString stringWithFormat:@"expected %@ to be true", NSStringFromSelector(_selector)];
-}
-
-- (NSString *)failureMessageForNotTo:(id)actual
-{
- return [NSString stringWithFormat:@"expected %@ to be false", NSStringFromSelector(_selector)];
-}
-
-- (void (^)(void))dispatch
-{
- __block id blockExpectation = _expectation;
-
- return [[^{
- [blockExpectation applyMatcher:self];
- } copy] autorelease];
-}
-
-@end
diff --git a/Example/Pods/Expecta/Expecta/EXPFloatTuple.h b/Example/Pods/Expecta/Expecta/EXPFloatTuple.h
deleted file mode 100644
index ea8ee810b..000000000
--- a/Example/Pods/Expecta/Expecta/EXPFloatTuple.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#import
-
-@interface EXPFloatTuple : NSObject {
- float *_values;
- size_t _size;
-}
-
-@property (nonatomic, assign) float *values;
-@property (nonatomic, assign) size_t size;
-
-- (instancetype)initWithFloatValues:(float *)values size:(size_t)size NS_DESIGNATED_INITIALIZER;
-
-@end
diff --git a/Example/Pods/Expecta/Expecta/EXPFloatTuple.m b/Example/Pods/Expecta/Expecta/EXPFloatTuple.m
deleted file mode 100644
index 8e8505bca..000000000
--- a/Example/Pods/Expecta/Expecta/EXPFloatTuple.m
+++ /dev/null
@@ -1,52 +0,0 @@
-#import "EXPFloatTuple.h"
-
-@implementation EXPFloatTuple
-
-@synthesize values = _values, size = _size;
-
-- (instancetype)initWithFloatValues:(float *)values size:(size_t)size {
- if ((self = [super init])) {
- self.values = malloc(sizeof(float) * size);
- memcpy(self.values, values, sizeof(float) * size);
- self.size = size;
- }
- return self;
-}
-
-- (void)dealloc {
- free(self.values);
- [super dealloc];
-}
-
-- (BOOL)isEqual:(id)object {
- if (![object isKindOfClass:[EXPFloatTuple class]]) return NO;
- EXPFloatTuple *other = (EXPFloatTuple *)object;
- if (self.size == other.size) {
- for (int i = 0; i < self.size; ++i) {
- if (self.values[i] != other.values[i]) return NO;
- }
- return YES;
- }
- return NO;
-}
-
-- (NSUInteger)hash
-{
- NSUInteger prime = 31;
- NSUInteger hash = 0;
- for (int i=0; i
-
-@protocol EXPMatcher
-
-- (BOOL)matches:(id)actual;
-
-@optional
-- (BOOL)meetsPrerequesiteFor:(id)actual;
-- (NSString *)failureMessageForTo:(id)actual;
-- (NSString *)failureMessageForNotTo:(id)actual;
-
-@end
diff --git a/Example/Pods/Expecta/Expecta/EXPUnsupportedObject.h b/Example/Pods/Expecta/Expecta/EXPUnsupportedObject.h
deleted file mode 100644
index 3ad0561ef..000000000
--- a/Example/Pods/Expecta/Expecta/EXPUnsupportedObject.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#import
-
-@interface EXPUnsupportedObject : NSObject {
- NSString *_type;
-}
-
-@property (nonatomic, retain) NSString *type;
-
-- (instancetype)initWithType:(NSString *)type NS_DESIGNATED_INITIALIZER;
-
-@end
diff --git a/Example/Pods/Expecta/Expecta/EXPUnsupportedObject.m b/Example/Pods/Expecta/Expecta/EXPUnsupportedObject.m
deleted file mode 100644
index 4312beff1..000000000
--- a/Example/Pods/Expecta/Expecta/EXPUnsupportedObject.m
+++ /dev/null
@@ -1,20 +0,0 @@
-#import "EXPUnsupportedObject.h"
-
-@implementation EXPUnsupportedObject
-
-@synthesize type=_type;
-
-- (instancetype)initWithType:(NSString *)type {
- self = [super init];
- if(self) {
- self.type = type;
- }
- return self;
-}
-
-- (void)dealloc {
- self.type = nil;
- [super dealloc];
-}
-
-@end
diff --git a/Example/Pods/Expecta/Expecta/Expecta.h b/Example/Pods/Expecta/Expecta/Expecta.h
deleted file mode 100644
index 6e5188e62..000000000
--- a/Example/Pods/Expecta/Expecta/Expecta.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#import
-
-//! Project version number for Expecta.
-FOUNDATION_EXPORT double ExpectaVersionNumber;
-
-//! Project version string for Expecta.
-FOUNDATION_EXPORT const unsigned char ExpectaVersionString[];
-
-#import
-#import
-#import
-
-// Enable shorthand by default
-#define expect(...) EXP_expect((__VA_ARGS__))
-#define failure(...) EXP_failure((__VA_ARGS__))
\ No newline at end of file
diff --git a/Example/Pods/Expecta/Expecta/ExpectaObject.h b/Example/Pods/Expecta/Expecta/ExpectaObject.h
deleted file mode 100644
index ef2a38aaf..000000000
--- a/Example/Pods/Expecta/Expecta/ExpectaObject.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#import
-
-#define EXPObjectify(value) _EXPObjectify(@encode(__typeof__((value))), (value))
-#define EXP_expect(actual) _EXP_expect(self, __LINE__, __FILE__, ^id{ return EXPObjectify((actual)); })
-#define EXPMatcherInterface(matcherName, matcherArguments) _EXPMatcherInterface(matcherName, matcherArguments)
-#define EXPMatcherImplementationBegin(matcherName, matcherArguments) _EXPMatcherImplementationBegin(matcherName, matcherArguments)
-#define EXPMatcherImplementationEnd _EXPMatcherImplementationEnd
-#define EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments) _EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments)
-
-#define EXP_failure(message) EXPFail(self, __LINE__, __FILE__, message)
-
-
-@interface Expecta : NSObject
-
-+ (NSTimeInterval)asynchronousTestTimeout;
-+ (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout;
-
-@end
diff --git a/Example/Pods/Expecta/Expecta/ExpectaObject.m b/Example/Pods/Expecta/Expecta/ExpectaObject.m
deleted file mode 100644
index b51e00a9b..000000000
--- a/Example/Pods/Expecta/Expecta/ExpectaObject.m
+++ /dev/null
@@ -1,15 +0,0 @@
-#import "ExpectaObject.h"
-
-@implementation Expecta
-
-static NSTimeInterval _asynchronousTestTimeout = 1.0;
-
-+ (NSTimeInterval)asynchronousTestTimeout {
- return _asynchronousTestTimeout;
-}
-
-+ (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout {
- _asynchronousTestTimeout = timeout;
-}
-
-@end
\ No newline at end of file
diff --git a/Example/Pods/Expecta/Expecta/ExpectaSupport.h b/Example/Pods/Expecta/Expecta/ExpectaSupport.h
deleted file mode 100644
index fb0ef4f46..000000000
--- a/Example/Pods/Expecta/Expecta/ExpectaSupport.h
+++ /dev/null
@@ -1,73 +0,0 @@
-#import "EXPExpect.h"
-#import "EXPBlockDefinedMatcher.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-id _EXPObjectify(const char *type, ...);
-EXPExpect *_EXP_expect(id testCase, int lineNumber, const char *fileName, EXPIdBlock actualBlock);
-
-void EXPFail(id testCase, int lineNumber, const char *fileName, NSString *message);
-NSString *EXPDescribeObject(id obj);
-
-void EXP_prerequisite(EXPBoolBlock block);
-void EXP_match(EXPBoolBlock block);
-void EXP_failureMessageForTo(EXPStringBlock block);
-void EXP_failureMessageForNotTo(EXPStringBlock block);
-
-#if __has_feature(objc_arc)
-#define _EXP_release(x)
-#define _EXP_autorelease(x) (x)
-
-#else
-#define _EXP_release(x) [x release]
-#define _EXP_autorelease(x) [x autorelease]
-#endif
-
-// workaround for the categories bug: http://developer.apple.com/library/mac/#qa/qa1490/_index.html
-#define EXPFixCategoriesBug(name) \
-__attribute__((constructor)) static void EXPFixCategoriesBug##name() {}
-
-#define _EXPMatcherInterface(matcherName, matcherArguments) \
-@interface EXPExpect (matcherName##Matcher) \
-@property (nonatomic, readonly) void(^ matcherName) matcherArguments; \
-@end
-
-#define _EXPMatcherImplementationBegin(matcherName, matcherArguments) \
-EXPFixCategoriesBug(EXPMatcher##matcherName##Matcher); \
-@implementation EXPExpect (matcherName##Matcher) \
-@dynamic matcherName;\
-- (void(^) matcherArguments) matcherName { \
- EXPBlockDefinedMatcher *matcher = [[EXPBlockDefinedMatcher alloc] init]; \
- [[[NSThread currentThread] threadDictionary] setObject:matcher forKey:@"EXP_currentMatcher"]; \
- __block id actual = self.actual; \
- __block void (^prerequisite)(EXPBoolBlock block) = ^(EXPBoolBlock block) { EXP_prerequisite(block); }; \
- __block void (^match)(EXPBoolBlock block) = ^(EXPBoolBlock block) { EXP_match(block); }; \
- __block void (^failureMessageForTo)(EXPStringBlock block) = ^(EXPStringBlock block) { EXP_failureMessageForTo(block); }; \
- __block void (^failureMessageForNotTo)(EXPStringBlock block) = ^(EXPStringBlock block) { EXP_failureMessageForNotTo(block); }; \
- prerequisite(nil); match(nil); failureMessageForTo(nil); failureMessageForNotTo(nil); \
- void (^matcherBlock) matcherArguments = [^ matcherArguments { \
- {
-
-#define _EXPMatcherImplementationEnd \
- } \
- [self applyMatcher:matcher to:&actual]; \
- } copy]; \
- _EXP_release(matcher); \
- return _EXP_autorelease(matcherBlock); \
-} \
-@end
-
-#define _EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments) \
-EXPFixCategoriesBug(EXPMatcher##newMatcherName##Matcher); \
-@implementation EXPExpect (newMatcherName##Matcher) \
-@dynamic newMatcherName;\
-- (void(^) matcherArguments) newMatcherName { \
- return [self oldMatcherName]; \
-}\
-@end
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/Example/Pods/Expecta/Expecta/ExpectaSupport.m b/Example/Pods/Expecta/Expecta/ExpectaSupport.m
deleted file mode 100644
index 8abe415ed..000000000
--- a/Example/Pods/Expecta/Expecta/ExpectaSupport.m
+++ /dev/null
@@ -1,176 +0,0 @@
-#import "ExpectaSupport.h"
-#import "NSValue+Expecta.h"
-#import "NSObject+Expecta.h"
-#import "EXPUnsupportedObject.h"
-#import "EXPFloatTuple.h"
-#import "EXPDoubleTuple.h"
-#import "EXPDefines.h"
-#import
-
-@interface NSObject (ExpectaXCTestRecordFailure)
-
-// suppress warning
-- (void)recordFailureWithDescription:(NSString *)description inFile:(NSString *)filename atLine:(NSUInteger)lineNumber expected:(BOOL)expected;
-
-@end
-
-id _EXPObjectify(const char *type, ...) {
- va_list v;
- va_start(v, type);
- id obj = nil;
- if(strcmp(type, @encode(char)) == 0) {
- char actual = (char)va_arg(v, int);
- obj = @(actual);
- } else if(strcmp(type, @encode(_Bool)) == 0) {
- _Static_assert(sizeof(_Bool) <= sizeof(int), "Expected _Bool to be subject to vararg type promotion");
- _Bool actual = (_Bool)va_arg(v, int);
- obj = @(actual);
- } else if(strcmp(type, @encode(double)) == 0) {
- double actual = (double)va_arg(v, double);
- obj = @(actual);
- } else if(strcmp(type, @encode(float)) == 0) {
- float actual = (float)va_arg(v, double);
- obj = @(actual);
- } else if(strcmp(type, @encode(int)) == 0) {
- int actual = (int)va_arg(v, int);
- obj = @(actual);
- } else if(strcmp(type, @encode(long)) == 0) {
- long actual = (long)va_arg(v, long);
- obj = @(actual);
- } else if(strcmp(type, @encode(long long)) == 0) {
- long long actual = (long long)va_arg(v, long long);
- obj = @(actual);
- } else if(strcmp(type, @encode(short)) == 0) {
- short actual = (short)va_arg(v, int);
- obj = @(actual);
- } else if(strcmp(type, @encode(unsigned char)) == 0) {
- unsigned char actual = (unsigned char)va_arg(v, unsigned int);
- obj = @(actual);
- } else if(strcmp(type, @encode(unsigned int)) == 0) {
- unsigned int actual = (int)va_arg(v, unsigned int);
- obj = @(actual);
- } else if(strcmp(type, @encode(unsigned long)) == 0) {
- unsigned long actual = (unsigned long)va_arg(v, unsigned long);
- obj = @(actual);
- } else if(strcmp(type, @encode(unsigned long long)) == 0) {
- unsigned long long actual = (unsigned long long)va_arg(v, unsigned long long);
- obj = @(actual);
- } else if(strcmp(type, @encode(unsigned short)) == 0) {
- unsigned short actual = (unsigned short)va_arg(v, unsigned int);
- obj = @(actual);
- } else if(strstr(type, @encode(EXPBasicBlock)) != NULL) {
- // @encode(EXPBasicBlock) returns @? as of clang 4.1.
- // This condition must occur before the test for id/class type,
- // otherwise blocks will be treated as vanilla objects.
- id actual = va_arg(v, EXPBasicBlock);
- obj = [[actual copy] autorelease];
- } else if((strstr(type, @encode(id)) != NULL) || (strstr(type, @encode(Class)) != 0)) {
- id actual = va_arg(v, id);
- obj = actual;
- } else if(strcmp(type, @encode(__typeof__(nil))) == 0) {
- obj = nil;
- } else if(strstr(type, "ff}{") != NULL) { //TODO: of course this only works for a 2x2 e.g. CGRect
- obj = [[[EXPFloatTuple alloc] initWithFloatValues:(float *)va_arg(v, float[4]) size:4] autorelease];
- } else if(strstr(type, "=ff}") != NULL) {
- obj = [[[EXPFloatTuple alloc] initWithFloatValues:(float *)va_arg(v, float[2]) size:2] autorelease];
- } else if(strstr(type, "=ffff}") != NULL) {
- obj = [[[EXPFloatTuple alloc] initWithFloatValues:(float *)va_arg(v, float[4]) size:4] autorelease];
- } else if(strstr(type, "dd}{") != NULL) { //TODO: same here
- obj = [[[EXPDoubleTuple alloc] initWithDoubleValues:(double *)va_arg(v, double[4]) size:4] autorelease];
- } else if(strstr(type, "=dd}") != NULL) {
- obj = [[[EXPDoubleTuple alloc] initWithDoubleValues:(double *)va_arg(v, double[2]) size:2] autorelease];
- } else if(strstr(type, "=dddd}") != NULL) {
- obj = [[[EXPDoubleTuple alloc] initWithDoubleValues:(double *)va_arg(v, double[4]) size:4] autorelease];
- } else if(type[0] == '{') {
- EXPUnsupportedObject *actual = [[[EXPUnsupportedObject alloc] initWithType:@"struct"] autorelease];
- obj = actual;
- } else if(type[0] == '(') {
- EXPUnsupportedObject *actual = [[[EXPUnsupportedObject alloc] initWithType:@"union"] autorelease];
- obj = actual;
- } else {
- void *actual = va_arg(v, void *);
- obj = (actual == NULL ? nil :[NSValue valueWithPointer:actual]);
- }
- if([obj isKindOfClass:[NSValue class]] && ![obj isKindOfClass:[NSNumber class]]) {
- [(NSValue *)obj set_EXP_objCType:type];
- }
- va_end(v);
- return obj;
-}
-
-EXPExpect *_EXP_expect(id testCase, int lineNumber, const char *fileName, EXPIdBlock actualBlock) {
- return [EXPExpect expectWithActualBlock:actualBlock testCase:testCase lineNumber:lineNumber fileName:fileName];
-}
-
-void EXPFail(id testCase, int lineNumber, const char *fileName, NSString *message) {
- NSLog(@"%s:%d %@", fileName, lineNumber, message);
- NSString *reason = [NSString stringWithFormat:@"%s:%d %@", fileName, lineNumber, message];
- NSException *exception = [NSException exceptionWithName:@"Expecta Error" reason:reason userInfo:nil];
-
- if(testCase && [testCase respondsToSelector:@selector(recordFailureWithDescription:inFile:atLine:expected:)]){
- [testCase recordFailureWithDescription:message
- inFile:@(fileName)
- atLine:lineNumber
- expected:NO];
- } else {
- [exception raise];
- }
-}
-
-NSString *EXPDescribeObject(id obj) {
- if(obj == nil) {
- return @"nil/null";
- } else if([obj isKindOfClass:[NSValue class]] && ![obj isKindOfClass:[NSNumber class]]) {
- const char *type = [(NSValue *)obj _EXP_objCType];
- if(type) {
- if(strcmp(type, @encode(SEL)) == 0) {
- return [NSString stringWithFormat:@"@selector(%@)", NSStringFromSelector([obj pointerValue])];
- } else if(strcmp(type, @encode(Class)) == 0) {
- return NSStringFromClass([obj pointerValue]);
- }
- }
- }
- NSString *description = [obj description];
- if([obj isKindOfClass:[NSArray class]]) {
- NSMutableArray *arr = [NSMutableArray arrayWithCapacity:[obj count]];
- for(id o in obj) {
- [arr addObject:EXPDescribeObject(o)];
- }
- description = [NSString stringWithFormat:@"(%@)", [arr componentsJoinedByString:@", "]];
- } else if([obj isKindOfClass:[NSSet class]] || [obj isKindOfClass:[NSOrderedSet class]]) {
- NSMutableArray *arr = [NSMutableArray arrayWithCapacity:[obj count]];
- for(id o in obj) {
- [arr addObject:EXPDescribeObject(o)];
- }
- description = [NSString stringWithFormat:@"{(%@)}", [arr componentsJoinedByString:@", "]];
- } else if([obj isKindOfClass:[NSDictionary class]]) {
- NSMutableArray *arr = [NSMutableArray arrayWithCapacity:[obj count]];
- for(id k in obj) {
- id v = obj[k];
- [arr addObject:[NSString stringWithFormat:@"%@ = %@;",EXPDescribeObject(k), EXPDescribeObject(v)]];
- }
- description = [NSString stringWithFormat:@"{%@}", [arr componentsJoinedByString:@" "]];
- } else if([obj isKindOfClass:[NSAttributedString class]]) {
- description = [obj string];
- } else {
- description = [description stringByReplacingOccurrencesOfString:@"\n" withString:@"\\n"];
- }
- return description;
-}
-
-void EXP_prerequisite(EXPBoolBlock block) {
- [[[NSThread currentThread] threadDictionary][@"EXP_currentMatcher"] setPrerequisiteBlock:block];
-}
-
-void EXP_match(EXPBoolBlock block) {
- [[[NSThread currentThread] threadDictionary][@"EXP_currentMatcher"] setMatchBlock:block];
-}
-
-void EXP_failureMessageForTo(EXPStringBlock block) {
- [[[NSThread currentThread] threadDictionary][@"EXP_currentMatcher"] setFailureMessageForToBlock:block];
-}
-
-void EXP_failureMessageForNotTo(EXPStringBlock block) {
- [[[NSThread currentThread] threadDictionary][@"EXP_currentMatcher"] setFailureMessageForNotToBlock:block];
-}
-
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.h
deleted file mode 100644
index 5780ff632..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#import
-
-BOOL EXPIsValuePointer(NSValue *value);
-BOOL EXPIsNumberFloat(NSNumber *number);
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.m
deleted file mode 100644
index cec034344..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.m
+++ /dev/null
@@ -1,9 +0,0 @@
-#import "EXPMatcherHelpers.h"
-
-BOOL EXPIsValuePointer(NSValue *value) {
- return [value objCType][0] == @encode(void *)[0];
-}
-
-BOOL EXPIsNumberFloat(NSNumber *number) {
- return strcmp([number objCType], @encode(float)) == 0;
-}
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h
deleted file mode 100644
index f683d6b08..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(_beCloseToWithin, (id expected, id within));
-EXPMatcherInterface(beCloseToWithin, (id expected, id within));
-
-#define beCloseTo(expected) _beCloseToWithin(EXPObjectify((expected)), nil)
-#define beCloseToWithin(expected, range) _beCloseToWithin(EXPObjectify((expected)), EXPObjectify((range)))
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.m
deleted file mode 100644
index c55431aa6..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.m
+++ /dev/null
@@ -1,49 +0,0 @@
-#import "EXPMatchers+beCloseTo.h"
-#import "EXPMatcherHelpers.h"
-
-EXPMatcherImplementationBegin(_beCloseToWithin, (id expected, id within)) {
- prerequisite(^BOOL{
- return [actual isKindOfClass:[NSNumber class]] &&
- [expected isKindOfClass:[NSNumber class]] &&
- ([within isKindOfClass:[NSNumber class]] || (within == nil));
- });
-
- match(^BOOL{
- double actualValue = [actual doubleValue];
- double expectedValue = [expected doubleValue];
-
- if (within != nil) {
- double withinValue = [within doubleValue];
- double lowerBound = expectedValue - withinValue;
- double upperBound = expectedValue + withinValue;
- return (actualValue >= lowerBound) && (actualValue <= upperBound);
- } else {
- double diff = fabs(actualValue - expectedValue);
- actualValue = fabs(actualValue);
- expectedValue = fabs(expectedValue);
- double largest = (expectedValue > actualValue) ? expectedValue : actualValue;
- return (diff <= largest * FLT_EPSILON);
- }
- });
-
- failureMessageForTo(^NSString *{
- if (within) {
- return [NSString stringWithFormat:@"expected %@ to be close to %@ within %@",
- EXPDescribeObject(actual), EXPDescribeObject(expected), EXPDescribeObject(within)];
- } else {
- return [NSString stringWithFormat:@"expected %@ to be close to %@",
- EXPDescribeObject(actual), EXPDescribeObject(expected)];
- }
- });
-
- failureMessageForNotTo(^NSString *{
- if (within) {
- return [NSString stringWithFormat:@"expected %@ not to be close to %@ within %@",
- EXPDescribeObject(actual), EXPDescribeObject(expected), EXPDescribeObject(within)];
- } else {
- return [NSString stringWithFormat:@"expected %@ not to be close to %@",
- EXPDescribeObject(actual), EXPDescribeObject(expected)];
- }
- });
-}
-EXPMatcherImplementationEnd
\ No newline at end of file
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h
deleted file mode 100644
index 89c8e003e..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(beFalsy, (void));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.m
deleted file mode 100644
index 382cab8b9..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.m
+++ /dev/null
@@ -1,24 +0,0 @@
-#import "EXPMatchers+beFalsy.h"
-#import "EXPMatcherHelpers.h"
-
-EXPMatcherImplementationBegin(beFalsy, (void)) {
- match(^BOOL{
- if([actual isKindOfClass:[NSNumber class]]) {
- return ![(NSNumber *)actual boolValue];
- } else if([actual isKindOfClass:[NSValue class]]) {
- if(EXPIsValuePointer((NSValue *)actual)) {
- return ![(NSValue *)actual pointerValue];
- }
- }
- return !actual;
- });
-
- failureMessageForTo(^NSString *{
- return [NSString stringWithFormat:@"expected: a falsy value, got: %@, which is truthy", EXPDescribeObject(actual)];
- });
-
- failureMessageForNotTo(^NSString *{
- return [NSString stringWithFormat:@"expected: a non-falsy value, got: %@, which is falsy", EXPDescribeObject(actual)];
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h
deleted file mode 100644
index a2f9fbac4..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(_beGreaterThan, (id expected));
-EXPMatcherInterface(beGreaterThan, (id expected));
-
-#define beGreaterThan(expected) _beGreaterThan(EXPObjectify((expected)))
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.m
deleted file mode 100644
index d7253878b..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.m
+++ /dev/null
@@ -1,20 +0,0 @@
-#import "EXPMatchers+beGreaterThan.h"
-#import "EXPMatcherHelpers.h"
-
-EXPMatcherImplementationBegin(_beGreaterThan, (id expected)) {
- match(^BOOL{
- if ([actual respondsToSelector:@selector(compare:)]) {
- return [actual compare:expected] == NSOrderedDescending;
- }
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@ to be greater than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-
- failureMessageForNotTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@ not to be greater than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-}
-EXPMatcherImplementationEnd
\ No newline at end of file
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h
deleted file mode 100644
index 3e91c64cd..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(_beGreaterThanOrEqualTo, (id expected));
-EXPMatcherInterface(beGreaterThanOrEqualTo, (id expected));
-
-#define beGreaterThanOrEqualTo(expected) _beGreaterThanOrEqualTo(EXPObjectify((expected)))
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m
deleted file mode 100644
index 32763449c..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m
+++ /dev/null
@@ -1,20 +0,0 @@
-#import "EXPMatchers+beGreaterThanOrEqualTo.h"
-#import "EXPMatcherHelpers.h"
-
-EXPMatcherImplementationBegin(_beGreaterThanOrEqualTo, (id expected)) {
- match(^BOOL{
- if ([actual respondsToSelector:@selector(compare:)]) {
- return [actual compare:expected] != NSOrderedAscending;
- }
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@ to be greater than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-
- failureMessageForNotTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@ not to be greater than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-}
-EXPMatcherImplementationEnd
\ No newline at end of file
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h
deleted file mode 100644
index d13619f84..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(_beIdenticalTo, (void *expected));
-EXPMatcherInterface(beIdenticalTo, (void *expected)); // to aid code completion
-
-#if __has_feature(objc_arc)
-#define beIdenticalTo(expected) _beIdenticalTo((__bridge void*)expected)
-#else
-#define beIdenticalTo(expected) _beIdenticalTo(expected)
-#endif
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.m
deleted file mode 100644
index b62b0fe6a..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.m
+++ /dev/null
@@ -1,24 +0,0 @@
-#import "EXPMatchers+equal.h"
-#import "EXPMatcherHelpers.h"
-
-EXPMatcherImplementationBegin(_beIdenticalTo, (void *expected)) {
- match(^BOOL{
- if(actual == expected) {
- return YES;
- } else if([actual isKindOfClass:[NSValue class]] && EXPIsValuePointer((NSValue *)actual)) {
- if([(NSValue *)actual pointerValue] == expected) {
- return YES;
- }
- }
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- return [NSString stringWithFormat:@"expected: <%p>, got: <%p>", expected, actual];
- });
-
- failureMessageForNotTo(^NSString *{
- return [NSString stringWithFormat:@"expected: not <%p>, got: <%p>", expected, actual];
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h
deleted file mode 100644
index 8ea990e23..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(_beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound));
-EXPMatcherInterface(beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound));
-
-#define beInTheRangeOf(expectedLowerBound, expectedUpperBound) _beInTheRangeOf(EXPObjectify((expectedLowerBound)), EXPObjectify((expectedUpperBound)))
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.m
deleted file mode 100644
index 1631f2480..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.m
+++ /dev/null
@@ -1,30 +0,0 @@
-#import "EXPMatchers+beInTheRangeOf.h"
-#import "EXPMatcherHelpers.h"
-
-EXPMatcherImplementationBegin(_beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound)) {
- match(^BOOL{
- if ([actual respondsToSelector:@selector(compare:)]) {
- NSComparisonResult compareLowerBound = [expectedLowerBound compare: actual];
- NSComparisonResult compareUpperBound = [expectedUpperBound compare: actual];
- if (compareLowerBound == NSOrderedSame) {
- return YES;
- }
- if (compareUpperBound == NSOrderedSame) {
- return YES;
- }
- if ((compareLowerBound == NSOrderedAscending) && (compareUpperBound == NSOrderedDescending)) {
- return YES;
- }
- }
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@ to be in the range [%@, %@] (inclusive)", EXPDescribeObject(actual), EXPDescribeObject(expectedLowerBound), EXPDescribeObject(expectedUpperBound)];
- });
-
- failureMessageForNotTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@ not to be in the range [%@, %@] (inclusive)", EXPDescribeObject(actual), EXPDescribeObject(expectedLowerBound), EXPDescribeObject(expectedUpperBound)];
- });
-}
-EXPMatcherImplementationEnd
\ No newline at end of file
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h
deleted file mode 100644
index a8e8175dc..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(beInstanceOf, (Class expected));
-EXPMatcherInterface(beAnInstanceOf, (Class expected));
-EXPMatcherInterface(beMemberOf, (Class expected));
-EXPMatcherInterface(beAMemberOf, (Class expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.m
deleted file mode 100644
index 9535e1e71..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.m
+++ /dev/null
@@ -1,31 +0,0 @@
-#import "EXPMatchers+beInstanceOf.h"
-
-EXPMatcherImplementationBegin(beInstanceOf, (Class expected)) {
- BOOL actualIsNil = (actual == nil);
- BOOL expectedIsNil = (expected == nil);
-
- prerequisite(^BOOL{
- return !(actualIsNil || expectedIsNil);
- });
-
- match(^BOOL{
- return [actual isMemberOfClass:expected];
- });
-
- failureMessageForTo(^NSString *{
- if(actualIsNil) return @"the actual value is nil/null";
- if(expectedIsNil) return @"the expected value is nil/null";
- return [NSString stringWithFormat:@"expected: an instance of %@, got: an instance of %@", [expected class], [actual class]];
- });
-
- failureMessageForNotTo(^NSString *{
- if(actualIsNil) return @"the actual value is nil/null";
- if(expectedIsNil) return @"the expected value is nil/null";
- return [NSString stringWithFormat:@"expected: not an instance of %@, got: an instance of %@", [expected class], [actual class]];
- });
-}
-EXPMatcherImplementationEnd
-
-EXPMatcherAliasImplementation(beAnInstanceOf, beInstanceOf, (Class expected));
-EXPMatcherAliasImplementation(beMemberOf, beInstanceOf, (Class expected));
-EXPMatcherAliasImplementation(beAMemberOf, beInstanceOf, (Class expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h
deleted file mode 100644
index b8623e0b5..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(beKindOf, (Class expected));
-EXPMatcherInterface(beAKindOf, (Class expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.m
deleted file mode 100644
index f13ffb54a..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.m
+++ /dev/null
@@ -1,29 +0,0 @@
-#import "EXPMatchers+beKindOf.h"
-
-EXPMatcherImplementationBegin(beKindOf, (Class expected)) {
- BOOL actualIsNil = (actual == nil);
- BOOL expectedIsNil = (expected == nil);
-
- prerequisite(^BOOL{
- return !(actualIsNil || expectedIsNil);
- });
-
- match(^BOOL{
- return [actual isKindOfClass:expected];
- });
-
- failureMessageForTo(^NSString *{
- if(actualIsNil) return @"the actual value is nil/null";
- if(expectedIsNil) return @"the expected value is nil/null";
- return [NSString stringWithFormat:@"expected: a kind of %@, got: an instance of %@, which is not a kind of %@", [expected class], [actual class], [expected class]];
- });
-
- failureMessageForNotTo(^NSString *{
- if(actualIsNil) return @"the actual value is nil/null";
- if(expectedIsNil) return @"the expected value is nil/null";
- return [NSString stringWithFormat:@"expected: not a kind of %@, got: an instance of %@, which is a kind of %@", [expected class], [actual class], [expected class]];
- });
-}
-EXPMatcherImplementationEnd
-
-EXPMatcherAliasImplementation(beAKindOf, beKindOf, (Class expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h
deleted file mode 100644
index 5ed0a24c3..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(_beLessThan, (id expected));
-EXPMatcherInterface(beLessThan, (id expected));
-
-#define beLessThan(expected) _beLessThan(EXPObjectify((expected)))
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.m
deleted file mode 100644
index 39b68830d..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.m
+++ /dev/null
@@ -1,20 +0,0 @@
-#import "EXPMatchers+beLessThan.h"
-#import "EXPMatcherHelpers.h"
-
-EXPMatcherImplementationBegin(_beLessThan, (id expected)) {
- match(^BOOL{
- if ([actual respondsToSelector:@selector(compare:)]) {
- return [actual compare:expected] == NSOrderedAscending;
- }
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@ to be less than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-
- failureMessageForNotTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@ not to be less than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-}
-EXPMatcherImplementationEnd
\ No newline at end of file
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h
deleted file mode 100644
index 2c3134150..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(_beLessThanOrEqualTo, (id expected));
-EXPMatcherInterface(beLessThanOrEqualTo, (id expected));
-
-#define beLessThanOrEqualTo(expected) _beLessThanOrEqualTo(EXPObjectify((expected)))
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m
deleted file mode 100644
index 401c194bd..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m
+++ /dev/null
@@ -1,20 +0,0 @@
-#import "EXPMatchers+beLessThanOrEqualTo.h"
-#import "EXPMatcherHelpers.h"
-
-EXPMatcherImplementationBegin(_beLessThanOrEqualTo, (id expected)) {
- match(^BOOL{
- if ([actual respondsToSelector:@selector(compare:)]) {
- return [actual compare:expected] != NSOrderedDescending;
- }
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@ to be less than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-
- failureMessageForNotTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@ not to be less than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-}
-EXPMatcherImplementationEnd
\ No newline at end of file
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.h
deleted file mode 100644
index 6d781620d..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(beNil, (void));
-EXPMatcherInterface(beNull, (void));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.m
deleted file mode 100644
index 161067ff0..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.m
+++ /dev/null
@@ -1,18 +0,0 @@
-#import "EXPMatchers+beNil.h"
-
-EXPMatcherImplementationBegin(beNil, (void)) {
- match(^BOOL{
- return actual == nil;
- });
-
- failureMessageForTo(^NSString *{
- return [NSString stringWithFormat:@"expected: nil/null, got: %@", EXPDescribeObject(actual)];
- });
-
- failureMessageForNotTo(^NSString *{
- return [NSString stringWithFormat:@"expected: not nil/null, got: %@", EXPDescribeObject(actual)];
- });
-}
-EXPMatcherImplementationEnd
-
-EXPMatcherAliasImplementation(beNull, beNil, (void));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h
deleted file mode 100644
index 65401c593..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(beSubclassOf, (Class expected));
-EXPMatcherInterface(beASubclassOf, (Class expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.m
deleted file mode 100644
index d4976d582..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.m
+++ /dev/null
@@ -1,29 +0,0 @@
-#import "EXPMatchers+beSubclassOf.h"
-#import "NSValue+Expecta.h"
-#import
-
-EXPMatcherImplementationBegin(beSubclassOf, (Class expected)) {
- __block BOOL actualIsClass = YES;
-
- prerequisite(^BOOL {
- actualIsClass = class_isMetaClass(object_getClass(actual));
- return actualIsClass;
- });
-
- match(^BOOL{
- return [actual isSubclassOfClass:expected];
- });
-
- failureMessageForTo(^NSString *{
- if(!actualIsClass) return @"the actual value is not a Class";
- return [NSString stringWithFormat:@"expected: a subclass of %@, got: a class %@, which is not a subclass of %@", [expected class], actual, [expected class]];
- });
-
- failureMessageForNotTo(^NSString *{
- if(!actualIsClass) return @"the actual value is not a Class";
- return [NSString stringWithFormat:@"expected: not a subclass of %@, got: a class %@, which is a subclass of %@", [expected class], actual, [expected class]];
- });
-}
-EXPMatcherImplementationEnd
-
-EXPMatcherAliasImplementation(beASubclassOf, beSubclassOf, (Class expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h
deleted file mode 100644
index f9a47ba66..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(beSupersetOf, (id subset));
-
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.m
deleted file mode 100644
index f4d05c09d..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.m
+++ /dev/null
@@ -1,62 +0,0 @@
-#import "EXPMatchers+contain.h"
-
-EXPMatcherImplementationBegin(beSupersetOf, (id subset)) {
- BOOL actualIsCompatible = [actual isKindOfClass:[NSDictionary class]] || [actual respondsToSelector:@selector(containsObject:)];
- BOOL subsetIsNil = (subset == nil);
-
- // For some instances the isKindOfClass: method returns false, even though
- // they are both actually dictionaries. e.g. Comparing a NSCFDictionary and a
- // NSDictionary.
- // Or in cases when you compare NSMutableArray (which implementation is __NSArrayM:NSMutableArray:NSArray)
- // and NSArray (which implementation is __NSArrayI:NSArray)
- BOOL bothAreIdenticalCollectionClasses = ([actual isKindOfClass:[NSDictionary class]] && [subset isKindOfClass:[NSDictionary class]]) ||
- ([actual isKindOfClass:[NSArray class]] && [subset isKindOfClass:[NSArray class]]) ||
- ([actual isKindOfClass:[NSSet class]] && [subset isKindOfClass:[NSSet class]]) ||
- ([actual isKindOfClass:[NSOrderedSet class]] && [subset isKindOfClass:[NSOrderedSet class]]);
-
- BOOL classMatches = bothAreIdenticalCollectionClasses || [subset isKindOfClass:[actual class]];
-
- prerequisite(^BOOL{
- return actualIsCompatible && !subsetIsNil && classMatches;
- });
-
- match(^BOOL{
- if(!actualIsCompatible) return NO;
-
- if([actual isKindOfClass:[NSDictionary class]]) {
- for (id key in subset) {
- id actualValue = [actual valueForKey:key];
- id subsetValue = [subset valueForKey:key];
-
- if (![subsetValue isEqual:actualValue]) return NO;
- }
- } else {
- for (id object in subset) {
- if (![actual containsObject:object]) return NO;
- }
- }
-
- return YES;
- });
-
- failureMessageForTo(^NSString *{
- if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSDictionary and does not implement -containsObject:", EXPDescribeObject(actual)];
-
- if(subsetIsNil) return @"the expected value is nil/null";
-
- if(!classMatches) return [NSString stringWithFormat:@"%@ does not match the class of %@", EXPDescribeObject(subset), EXPDescribeObject(actual)];
-
- return [NSString stringWithFormat:@"expected %@ to be a superset of %@", EXPDescribeObject(actual), EXPDescribeObject(subset)];
- });
-
- failureMessageForNotTo(^NSString *{
- if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSDictionary and does not implement -containsObject:", EXPDescribeObject(actual)];
-
- if(subsetIsNil) return @"the expected value is nil/null";
-
- if(!classMatches) return [NSString stringWithFormat:@"%@ does not match the class of %@", EXPDescribeObject(subset), EXPDescribeObject(actual)];
-
- return [NSString stringWithFormat:@"expected %@ not to be a superset of %@", EXPDescribeObject(actual), EXPDescribeObject(subset)];
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h
deleted file mode 100644
index 1e4e78f9b..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(beTruthy, (void));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.m
deleted file mode 100644
index 02fa6e79f..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.m
+++ /dev/null
@@ -1,24 +0,0 @@
-#import "EXPMatchers+beTruthy.h"
-#import "EXPMatcherHelpers.h"
-
-EXPMatcherImplementationBegin(beTruthy, (void)) {
- match(^BOOL{
- if([actual isKindOfClass:[NSNumber class]]) {
- return !![(NSNumber *)actual boolValue];
- } else if([actual isKindOfClass:[NSValue class]]) {
- if(EXPIsValuePointer((NSValue *)actual)) {
- return !![(NSValue *)actual pointerValue];
- }
- }
- return !!actual;
- });
-
- failureMessageForTo(^NSString *{
- return [NSString stringWithFormat:@"expected: a truthy value, got: %@, which is falsy", EXPDescribeObject(actual)];
- });
-
- failureMessageForNotTo(^NSString *{
- return [NSString stringWithFormat:@"expected: a non-truthy value, got: %@, which is truthy", EXPDescribeObject(actual)];
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.h
deleted file mode 100644
index 07ddd6c2d..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(beginWith, (id expected));
-EXPMatcherInterface(startWith, (id expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.m
deleted file mode 100644
index a7c9e5996..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.m
+++ /dev/null
@@ -1,51 +0,0 @@
-#import "EXPMatchers+beginWith.h"
-
-EXPMatcherImplementationBegin(beginWith, (id expected)) {
- BOOL actualIsNil = (actual == nil);
- BOOL expectedIsNil = (expected == nil);
- //This condition allows the comparison of an immutable string or ordered collection to the mutable type of the same
- BOOL actualAndExpectedAreCompatible = (([actual isKindOfClass:[NSString class]] && [expected isKindOfClass:[NSString class]])
- || ([actual isKindOfClass:[NSArray class]] && [expected isKindOfClass:[NSArray class]])
- || ([actual isKindOfClass:[NSOrderedSet class]] && [expected isKindOfClass:[NSOrderedSet class]]));
-
- prerequisite(^BOOL {
- return actualAndExpectedAreCompatible;
- });
-
- match(^BOOL {
- if ([actual isKindOfClass:[NSString class]]) {
- return [actual hasPrefix:expected];
- } else if ([actual isKindOfClass:[NSArray class]]) {
- if ([expected count] > [actual count] || [expected count] == 0) {
- return NO;
- }
- NSArray *subArray = [actual subarrayWithRange:NSMakeRange(0, [expected count])];
- return [subArray isEqualToArray:expected];
- } else {
- if ([expected count] > [actual count] || [expected count] == 0) {
- return NO;
- }
-
- NSOrderedSet *subset = [NSOrderedSet orderedSetWithOrderedSet:actual range:NSMakeRange(0, [expected count]) copyItems:NO];
- return [subset isEqualToOrderedSet:expected];
- }
- });
-
- failureMessageForTo(^NSString *{
- if (actualIsNil) return @"the object is nil/null";
- if (expectedIsNil) return @"the expected value is nil/null";
- if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];
- return [NSString stringWithFormat:@"expected: %@ to begin with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-
- failureMessageForNotTo(^NSString *{
- if (actualIsNil) return @"the object is nil/null";
- if (expectedIsNil) return @"the expected value is nil/null";
- if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];
-
- return [NSString stringWithFormat:@"expected: %@ not to begin with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-}
-EXPMatcherImplementationEnd
-
-EXPMatcherAliasImplementation(startWith, beginWith, (id expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.h
deleted file mode 100644
index efc7b9823..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(conformTo, (Protocol *expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.m
deleted file mode 100644
index b88014d65..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.m
+++ /dev/null
@@ -1,33 +0,0 @@
-#import "EXPMatchers+conformTo.h"
-#import "NSValue+Expecta.h"
-#import
-
-EXPMatcherImplementationBegin(conformTo, (Protocol *expected)) {
- BOOL actualIsNil = (actual == nil);
- BOOL expectedIsNil = (expected == nil);
-
- prerequisite(^BOOL{
- return !(actualIsNil || expectedIsNil);
- });
-
- match(^BOOL{
- return [actual conformsToProtocol:expected];
- });
-
- failureMessageForTo(^NSString *{
- if(actualIsNil) return @"the object is nil/null";
- if(expectedIsNil) return @"the protocol is nil/null";
-
- NSString *name = NSStringFromProtocol(expected);
- return [NSString stringWithFormat:@"expected: %@ to conform to %@", actual, name];
- });
-
- failureMessageForNotTo(^NSString *{
- if(actualIsNil) return @"the object is nil/null";
- if(expectedIsNil) return @"the protocol is nil/null";
-
- NSString *name = NSStringFromProtocol(expected);
- return [NSString stringWithFormat:@"expected: %@ not to conform to %@", actual, name];
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.h
deleted file mode 100644
index 580314612..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(_contain, (id expected));
-EXPMatcherInterface(contain, (id expected)); // to aid code completion
-#define contain(expected) _contain(EXPObjectify((expected)))
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.m
deleted file mode 100644
index b8a6f8690..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.m
+++ /dev/null
@@ -1,38 +0,0 @@
-#import "EXPMatchers+contain.h"
-
-EXPMatcherImplementationBegin(_contain, (id expected)) {
- BOOL actualIsCompatible = [actual isKindOfClass:[NSString class]] || [actual conformsToProtocol:@protocol(NSFastEnumeration)];
- BOOL expectedIsNil = (expected == nil);
-
- prerequisite(^BOOL{
- return actualIsCompatible && !expectedIsNil;
- });
-
- match(^BOOL{
- if(actualIsCompatible) {
- if([actual isKindOfClass:[NSString class]]) {
- return [(NSString *)actual rangeOfString:[expected description]].location != NSNotFound;
- } else {
- for (id object in actual) {
- if ([object isEqual:expected]) {
- return YES;
- }
- }
- }
- }
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString or NSFastEnumeration", EXPDescribeObject(actual)];
- if(expectedIsNil) return @"the expected value is nil/null";
- return [NSString stringWithFormat:@"expected %@ to contain %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-
- failureMessageForNotTo(^NSString *{
- if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString or NSFastEnumeration", EXPDescribeObject(actual)];
- if(expectedIsNil) return @"the expected value is nil/null";
- return [NSString stringWithFormat:@"expected %@ not to contain %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.h
deleted file mode 100644
index 228cea95d..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(endWith, (id expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.m
deleted file mode 100644
index f34bd9002..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.m
+++ /dev/null
@@ -1,49 +0,0 @@
-#import "EXPMatchers+endWith.h"
-
-EXPMatcherImplementationBegin(endWith, (id expected)) {
- BOOL actualIsNil = (actual == nil);
- BOOL expectedIsNil = (expected == nil);
- //This condition allows the comparison of an immutable string or ordered collection to the mutable type of the same
- BOOL actualAndExpectedAreCompatible = (([actual isKindOfClass:[NSString class]] && [expected isKindOfClass:[NSString class]])
- || ([actual isKindOfClass:[NSArray class]] && [expected isKindOfClass:[NSArray class]])
- || ([actual isKindOfClass:[NSOrderedSet class]] && [expected isKindOfClass:[NSOrderedSet class]]));
-
- prerequisite(^BOOL {
- return actualAndExpectedAreCompatible;
- });
-
- match(^BOOL {
- if ([actual isKindOfClass:[NSString class]]) {
- return [actual hasSuffix:expected];
- } else if ([actual isKindOfClass:[NSArray class]]) {
- if ([expected count] > [actual count] || [expected count] == 0) {
- return NO;
- }
- NSArray *subArray = [actual subarrayWithRange:NSMakeRange([actual count] - [expected count], [expected count])];
- return [subArray isEqualToArray:expected];
- } else {
- if ([expected count] > [actual count] || [expected count] == 0) {
- return NO;
- }
-
- NSOrderedSet *subset = [NSOrderedSet orderedSetWithOrderedSet:actual range:NSMakeRange([actual count] - [expected count], [expected count]) copyItems:NO];
- return [subset isEqualToOrderedSet:expected];
- }
- });
-
- failureMessageForTo(^NSString *{
- if (actualIsNil) return @"the object is nil/null";
- if (expectedIsNil) return @"the expected value is nil/null";
- if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];
- return [NSString stringWithFormat:@"expected: %@ to end with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-
- failureMessageForNotTo(^NSString *{
- if (actualIsNil) return @"the object is nil/null";
- if (expectedIsNil) return @"the expected value is nil/null";
- if (!actualAndExpectedAreCompatible) return [NSString stringWithFormat:@"%@ and %@ are not instances of one of %@, %@, or %@", EXPDescribeObject(actual), EXPDescribeObject(expected), [NSString class], [NSArray class], [NSOrderedSet class]];
-
- return [NSString stringWithFormat:@"expected: %@ not to end with %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.h
deleted file mode 100644
index b4047c0ea..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(_equal, (id expected));
-EXPMatcherInterface(equal, (id expected)); // to aid code completion
-#define equal(...) _equal(EXPObjectify((__VA_ARGS__)))
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.m
deleted file mode 100644
index a610df029..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.m
+++ /dev/null
@@ -1,31 +0,0 @@
-#import "EXPMatchers+equal.h"
-#import "EXPMatcherHelpers.h"
-
-EXPMatcherImplementationBegin(_equal, (id expected)) {
- match(^BOOL{
- if((actual == expected) || [actual isEqual:expected]) {
- return YES;
- } else if([actual isKindOfClass:[NSNumber class]] && [expected isKindOfClass:[NSNumber class]]) {
- if([actual isKindOfClass:[NSDecimalNumber class]] || [expected isKindOfClass:[NSDecimalNumber class]]) {
- NSDecimalNumber *actualDecimalNumber = [NSDecimalNumber decimalNumberWithDecimal:[(NSNumber *) actual decimalValue]];
- NSDecimalNumber *expectedDecimalNumber = [NSDecimalNumber decimalNumberWithDecimal:[(NSNumber *) expected decimalValue]];
- return [actualDecimalNumber isEqualToNumber:expectedDecimalNumber];
- }
- else {
- if(EXPIsNumberFloat((NSNumber *)actual) || EXPIsNumberFloat((NSNumber *)expected)) {
- return [(NSNumber *)actual floatValue] == [(NSNumber *)expected floatValue];
- }
- }
- }
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@, got: %@", EXPDescribeObject(expected), EXPDescribeObject(actual)];
- });
-
- failureMessageForNotTo(^NSString *{
- return [NSString stringWithFormat:@"expected: not %@, got: %@", EXPDescribeObject(expected), EXPDescribeObject(actual)];
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h
deleted file mode 100644
index 2e9aef570..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(haveCountOf, (NSUInteger expected));
-EXPMatcherInterface(haveCount, (NSUInteger expected));
-EXPMatcherInterface(haveACountOf, (NSUInteger expected));
-EXPMatcherInterface(haveLength, (NSUInteger expected));
-EXPMatcherInterface(haveLengthOf, (NSUInteger expected));
-EXPMatcherInterface(haveALengthOf, (NSUInteger expected));
-
-#define beEmpty() haveCountOf(0)
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.m
deleted file mode 100644
index ecc483173..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.m
+++ /dev/null
@@ -1,42 +0,0 @@
-#import "EXPMatchers+haveCountOf.h"
-
-EXPMatcherImplementationBegin(haveCountOf, (NSUInteger expected)) {
- BOOL actualIsStringy = [actual isKindOfClass:[NSString class]] || [actual isKindOfClass:[NSAttributedString class]];
- BOOL actualIsCompatible = actualIsStringy || [actual respondsToSelector:@selector(count)];
-
- prerequisite(^BOOL{
- return actualIsCompatible;
- });
-
- NSUInteger (^count)(id) = ^(id actual) {
- if(actualIsStringy) {
- return [actual length];
- } else {
- return [actual count];
- }
- };
-
- match(^BOOL{
- if(actualIsCompatible) {
- return count(actual) == expected;
- }
- return NO;
- });
-
- failureMessageForTo(^NSString *{
- if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString, NSAttributedString, NSArray, NSSet, NSOrderedSet, or NSDictionary", EXPDescribeObject(actual)];
- return [NSString stringWithFormat:@"expected %@ to have a count of %zi but got %zi", EXPDescribeObject(actual), expected, count(actual)];
- });
-
- failureMessageForNotTo(^NSString *{
- if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString, NSAttributedString, NSArray, NSSet, NSOrderedSet, or NSDictionary", EXPDescribeObject(actual)];
- return [NSString stringWithFormat:@"expected %@ not to have a count of %zi", EXPDescribeObject(actual), expected];
- });
-}
-EXPMatcherImplementationEnd
-
-EXPMatcherAliasImplementation(haveCount, haveCountOf, (NSUInteger expected));
-EXPMatcherAliasImplementation(haveACountOf, haveCountOf, (NSUInteger expected));
-EXPMatcherAliasImplementation(haveLength, haveCountOf, (NSUInteger expected));
-EXPMatcherAliasImplementation(haveLengthOf, haveCountOf, (NSUInteger expected));
-EXPMatcherAliasImplementation(haveALengthOf, haveCountOf, (NSUInteger expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.h
deleted file mode 100644
index 4f0e8e475..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(match, (NSString *expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.m
deleted file mode 100644
index a21746731..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.m
+++ /dev/null
@@ -1,38 +0,0 @@
-#import "EXPMatchers+match.h"
-#import "EXPMatcherHelpers.h"
-
-EXPMatcherImplementationBegin(match, (NSString *expected)) {
- BOOL actualIsNil = (actual == nil);
- BOOL expectedIsNil = (expected == nil);
-
- __block NSRegularExpression *regex = nil;
- __block NSError *regexError = nil;
-
- prerequisite (^BOOL {
- BOOL nilInput = (actualIsNil || expectedIsNil);
- if (!nilInput) {
- regex = [NSRegularExpression regularExpressionWithPattern:expected options:0 error:®exError];
- }
- return !nilInput && regex;
- });
-
- match(^BOOL {
- NSRange range = [regex rangeOfFirstMatchInString:actual options:0 range:NSMakeRange(0, [actual length])];
- return !NSEqualRanges(range, NSMakeRange(NSNotFound, 0));
- });
-
- failureMessageForTo(^NSString *{
- if (actualIsNil) return @"the object is nil/null";
- if (expectedIsNil) return @"the expression is nil/null";
- if (regexError) return [NSString stringWithFormat:@"unable to create regular expression from given parameter: %@", [regexError localizedDescription]];
- return [NSString stringWithFormat:@"expected: %@ to match to %@", EXPDescribeObject(actual), expected];
- });
-
- failureMessageForNotTo(^NSString *{
- if (actualIsNil) return @"the object is nil/null";
- if (expectedIsNil) return @"the expression is nil/null";
- if (regexError) return [NSString stringWithFormat:@"unable to create regular expression from given parameter: %@", [regexError localizedDescription]];
- return [NSString stringWithFormat:@"expected: %@ not to match to %@", EXPDescribeObject(actual), expected];
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.h
deleted file mode 100644
index cdba4a347..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(postNotification, (id expectedNotification));
-EXPMatcherInterface(notify, (id expectedNotification));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.m
deleted file mode 100644
index 6e517c410..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.m
+++ /dev/null
@@ -1,88 +0,0 @@
-#import "EXPMatchers+postNotification.h"
-
-@implementation NSNotification (EXPEquality)
-
-- (BOOL)exp_isFunctionallyEqualTo:(NSNotification *)otherNotification
-{
- if (![otherNotification isKindOfClass:[NSNotification class]]) return NO;
-
- BOOL namesMatch = [otherNotification.name isEqualToString:self.name];
-
- BOOL objectsMatch = YES;
- if (otherNotification.object || self.object) {
- objectsMatch = [otherNotification.object isEqual:self.object];
- }
-
- BOOL userInfoMatches = YES;
- if (otherNotification.userInfo || self.userInfo) {
- userInfoMatches = [otherNotification.userInfo isEqual:self.userInfo];
- }
-
- return (namesMatch && objectsMatch && userInfoMatches);
-}
-
-@end
-
-EXPMatcherImplementationBegin(postNotification, (id expected)){
- BOOL actualIsNil = (actual == nil);
- BOOL expectedIsNil = (expected == nil);
- BOOL isNotification = [expected isKindOfClass:[NSNotification class]];
- BOOL isName = [expected isKindOfClass:[NSString class]];
-
- __block NSString *expectedName;
- __block BOOL expectedNotificationOccurred = NO;
- __block id observer;
-
- prerequisite(^BOOL{
- expectedNotificationOccurred = NO;
- if (actualIsNil || expectedIsNil) return NO;
- if (isNotification) {
- expectedName = [expected name];
- }else if(isName) {
- expectedName = expected;
- }else{
- return NO;
- }
-
- observer = [[NSNotificationCenter defaultCenter] addObserverForName:expectedName object:nil queue:nil usingBlock:^(NSNotification *note){
- if (isNotification) {
- expectedNotificationOccurred |= [expected exp_isFunctionallyEqualTo:note];
- }else{
- expectedNotificationOccurred = YES;
- }
- }];
- ((EXPBasicBlock)actual)();
- return YES;
- });
-
- match(^BOOL{
- if(expectedNotificationOccurred) {
- [[NSNotificationCenter defaultCenter] removeObserver:observer];
- }
- return expectedNotificationOccurred;
- });
-
- failureMessageForTo(^NSString *{
- if (observer) {
- [[NSNotificationCenter defaultCenter] removeObserver:observer];
- }
- if(actualIsNil) return @"the actual value is nil/null";
- if(expectedIsNil) return @"the expected value is nil/null";
- if(!(isNotification || isName)) return @"the actual value is not a notification or string";
- return [NSString stringWithFormat:@"expected: %@, got: none",expectedName];
- });
-
- failureMessageForNotTo(^NSString *{
- if (observer) {
- [[NSNotificationCenter defaultCenter] removeObserver:observer];
- }
- if(actualIsNil) return @"the actual value is nil/null";
- if(expectedIsNil) return @"the expected value is nil/null";
- if(!(isNotification || isName)) return @"the actual value is not a notification or string";
- return [NSString stringWithFormat:@"expected: none, got: %@", expectedName];
- });
-}
-
-EXPMatcherImplementationEnd
-
-EXPMatcherAliasImplementation(notify, postNotification, (id expectedNotification))
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.h
deleted file mode 100644
index 1f7fae02c..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(raise, (NSString *expectedExceptionName));
-#define raiseAny() raise(nil)
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.m
deleted file mode 100644
index 26f3c55fd..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.m
+++ /dev/null
@@ -1,30 +0,0 @@
-#import "EXPMatchers+raise.h"
-#import "EXPDefines.h"
-
-EXPMatcherImplementationBegin(raise, (NSString *expectedExceptionName)) {
- __block NSException *exceptionCaught = nil;
-
- match(^BOOL{
- BOOL expectedExceptionCaught = NO;
- @try {
- ((EXPBasicBlock)actual)();
- } @catch(NSException *e) {
- exceptionCaught = e;
- expectedExceptionCaught = (expectedExceptionName == nil) || [[exceptionCaught name] isEqualToString:expectedExceptionName];
- }
- return expectedExceptionCaught;
- });
-
- failureMessageForTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@, got: %@",
- expectedExceptionName ? expectedExceptionName : @"any exception",
- exceptionCaught ? [exceptionCaught name] : @"no exception"];
- });
-
- failureMessageForNotTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@, got: %@",
- expectedExceptionName ? [NSString stringWithFormat:@"not %@", expectedExceptionName] : @"no exception",
- exceptionCaught ? [exceptionCaught name] : @"no exception"];
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h
deleted file mode 100644
index 2cf5a5d24..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.m
deleted file mode 100644
index 3943d3839..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.m
+++ /dev/null
@@ -1,35 +0,0 @@
-#import "EXPMatchers+raiseWithReason.h"
-#import "EXPDefines.h"
-
-EXPMatcherImplementationBegin(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason)) {
- __block NSException *exceptionCaught = nil;
-
- match(^BOOL{
- BOOL expectedExceptionCaught = NO;
- @try {
- ((EXPBasicBlock)actual)();
- } @catch(NSException *e) {
- exceptionCaught = e;
- expectedExceptionCaught = (((expectedExceptionName == nil) || [[exceptionCaught name] isEqualToString:expectedExceptionName]) &&
- ((expectedReason == nil) || ([[exceptionCaught reason] isEqualToString:expectedReason])));
- }
- return expectedExceptionCaught;
- });
-
- failureMessageForTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@ (%@), got: %@ (%@)",
- expectedExceptionName ?: @"any exception",
- expectedReason ?: @"any reason",
- exceptionCaught ? [exceptionCaught name] : @"no exception",
- exceptionCaught ? [exceptionCaught reason] : @""];
- });
-
- failureMessageForNotTo(^NSString *{
- return [NSString stringWithFormat:@"expected: %@ (%@), got: %@ (%@)",
- expectedExceptionName ? [NSString stringWithFormat:@"not %@", expectedExceptionName] : @"no exception",
- expectedReason ? [NSString stringWithFormat:@"not '%@'", expectedReason] : @"no reason",
- exceptionCaught ? [exceptionCaught name] : @"no exception",
- exceptionCaught ? [exceptionCaught reason] : @"no reason"];
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.h
deleted file mode 100644
index 279131dd7..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#import "Expecta.h"
-
-EXPMatcherInterface(respondTo, (SEL expected));
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m
deleted file mode 100644
index d294113ff..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m
+++ /dev/null
@@ -1,28 +0,0 @@
-#import "EXPMatchers+respondTo.h"
-#import "EXPMatcherHelpers.h"
-
-EXPMatcherImplementationBegin(respondTo, (SEL expected)) {
- BOOL actualIsNil = (actual == nil);
- BOOL expectedIsNull = (expected == NULL);
-
- prerequisite (^BOOL {
- return !(actualIsNil || expectedIsNull);
- });
-
- match(^BOOL {
- return [actual respondsToSelector:expected];
- });
-
- failureMessageForTo(^NSString *{
- if (actualIsNil) return @"the object is nil/null";
- if (expectedIsNull) return @"the selector is null";
- return [NSString stringWithFormat:@"expected: %@ to respond to %@", EXPDescribeObject(actual), NSStringFromSelector(expected)];
- });
-
- failureMessageForNotTo(^NSString *{
- if (actualIsNil) return @"the object is nil/null";
- if (expectedIsNull) return @"the selector is null";
- return [NSString stringWithFormat:@"expected: %@ not to respond to %@", EXPDescribeObject(actual), NSStringFromSelector(expected)];
- });
-}
-EXPMatcherImplementationEnd
diff --git a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers.h b/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers.h
deleted file mode 100644
index ed6ef85f1..000000000
--- a/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#import "EXPMatchers+beNil.h"
-#import "EXPMatchers+equal.h"
-#import "EXPMatchers+beInstanceOf.h"
-#import "EXPMatchers+beKindOf.h"
-#import "EXPMatchers+beSubclassOf.h"
-#import "EXPMatchers+conformTo.h"
-#import "EXPMatchers+beTruthy.h"
-#import "EXPMatchers+beFalsy.h"
-#import "EXPMatchers+contain.h"
-#import "EXPMatchers+beSupersetOf.h"
-#import "EXPMatchers+haveCountOf.h"
-#import "EXPMatchers+beIdenticalTo.h"
-#import "EXPMatchers+beGreaterThan.h"
-#import "EXPMatchers+beGreaterThanOrEqualTo.h"
-#import "EXPMatchers+beLessThan.h"
-#import "EXPMatchers+beLessThanOrEqualTo.h"
-#import "EXPMatchers+beInTheRangeOf.h"
-#import "EXPMatchers+beCloseTo.h"
-#import "EXPMatchers+raise.h"
-#import "EXPMatchers+raiseWithReason.h"
-#import "EXPMatchers+respondTo.h"
-#import "EXPMatchers+postNotification.h"
-#import "EXPMatchers+beginWith.h"
-#import "EXPMatchers+endWith.h"
-#import "EXPMatchers+match.h"
diff --git a/Example/Pods/Expecta/Expecta/NSObject+Expecta.h b/Example/Pods/Expecta/Expecta/NSObject+Expecta.h
deleted file mode 100644
index 5920e3115..000000000
--- a/Example/Pods/Expecta/Expecta/NSObject+Expecta.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#import
-
-@interface NSObject (Expecta)
-
-- (void)recordFailureWithDescription:(NSString *)description
- inFile:(NSString *)filename
- atLine:(NSUInteger)lineNumber
- expected:(BOOL)expected;
-
-@end
diff --git a/Example/Pods/Expecta/Expecta/NSValue+Expecta.h b/Example/Pods/Expecta/Expecta/NSValue+Expecta.h
deleted file mode 100644
index e8ff6a4c5..000000000
--- a/Example/Pods/Expecta/Expecta/NSValue+Expecta.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#import
-
-@interface NSValue (Expecta)
-
-@property (nonatomic) const char *_EXP_objCType;
-
-@end
diff --git a/Example/Pods/Expecta/Expecta/NSValue+Expecta.m b/Example/Pods/Expecta/Expecta/NSValue+Expecta.m
deleted file mode 100644
index f6609964a..000000000
--- a/Example/Pods/Expecta/Expecta/NSValue+Expecta.m
+++ /dev/null
@@ -1,21 +0,0 @@
-#import "NSValue+Expecta.h"
-#import
-#import "Expecta.h"
-
-EXPFixCategoriesBug(NSValue_Expecta);
-
-@implementation NSValue (Expecta)
-
-static char _EXP_typeKey;
-
-- (const char *)_EXP_objCType {
- return [(NSString *)objc_getAssociatedObject(self, &_EXP_typeKey) cStringUsingEncoding:NSASCIIStringEncoding];
-}
-
-- (void)set_EXP_objCType:(const char *)_EXP_objCType {
- objc_setAssociatedObject(self, &_EXP_typeKey,
- @(_EXP_objCType),
- OBJC_ASSOCIATION_COPY_NONATOMIC);
-}
-
-@end
diff --git a/Example/Pods/Expecta/LICENSE b/Example/Pods/Expecta/LICENSE
deleted file mode 100644
index a036c85fc..000000000
--- a/Example/Pods/Expecta/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2011-2015 Specta Team - https://github.com/specta
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/Example/Pods/Expecta/README.md b/Example/Pods/Expecta/README.md
deleted file mode 100644
index c3eb64862..000000000
--- a/Example/Pods/Expecta/README.md
+++ /dev/null
@@ -1,293 +0,0 @@
-#Expecta
-
-[](https://travis-ci.org/specta/expecta)
-[](http://cocoadocs.org/docsets/Expecta/)
-[](http://cocoadocs.org/docsets/Expecta/)
-[](https://www.apache.org/licenses/LICENSE-2.0.html)
-
-A matcher framework for Objective-C and Cocoa.
-
-## Introduction
-
-The main advantage of using Expecta over other matcher frameworks is that you do not have to specify the data types. Also, the syntax of Expecta matchers is much more readable and does not suffer from parenthesitis.
-
-```objective-c
-expect(@"foo").to.equal(@"foo"); // `to` is a syntactic sugar and can be safely omitted.
-expect(foo).notTo.equal(1);
-expect([bar isBar]).to.equal(YES);
-expect(baz).to.equal(3.14159);
-```
-
-Expecta is framework-agnostic: it works well with XCTest and XCTest-compatible test frameworks such as [Specta](http://github.com/petejkim/specta/).
-
-
-## Setup
-
-You can setup Expecta using [Carthage](https://github.com/Carthage/Carthage), [CocoaPods](http://github.com/CocoaPods/CocoaPods) or [completely manually](#setting-up-manually).
-
-### Carthage
-
-1. Add Expecta to your project's `Cartfile.private`:
-
- ```ruby
- github "specta/expecta" "master"
- ```
-
-2. Run `carthage update` in your project directory.
-3. Drag the appropriate **Expecta.framework** for your platform (located in `Carthage/Build/`) into your application’s Xcode project, and add it to your test target(s).
-
-### CocoaPods
-
-1. Add Expecta to your project's `Podfile`:
-
- ```ruby
- target :MyApp do
- # Your app's dependencies
- end
-
- target :MyAppTests do
- pod 'Expecta', '~> 0.2.4'
- end
- ```
-
-2. Run `pod update` or `pod install` in your project directory.
-
-### Setting Up Manually
-
-1. Clone Expecta from Github.
-2. Run `rake` in your project directory to build the frameworks and libraries.
-3. Add a Cocoa or Cocoa Touch Unit Testing Bundle target to your Xcode project if you don't already have one.
-4. For **OS X projects**, copy and add `Expecta.framework` in the `Products/osx` folder to your project's test target.
-
- For **iOS projects**, copy and add `Expecta.framework` in the `Products/ios` folder to your project's test target.
-
- You can also use `libExpecta.a` if you prefer to link Expecta as a static library — iOS 7.x and below require this.
-
-6. Add `-ObjC` and `-all_load` to the **Other Linker Flags** build setting for the test target in your Xcode project.
-7. You can now use Expecta in your test classes by adding the following import:
-
- ```objective-c
- @import Expecta; // If you're using Expecta.framework
-
- // OR
-
- #import // If you're using the static library, or the framework
- ```
-
-## Built-in Matchers
-
-> `expect(x).to.equal(y);` compares objects or primitives x and y and passes if they are identical (==) or equivalent isEqual:).
-
-> `expect(x).to.beIdenticalTo(y);` compares objects x and y and passes if they are identical and have the same memory address.
-
-> `expect(x).to.beNil();` passes if x is nil.
-
-> `expect(x).to.beTruthy();` passes if x evaluates to true (non-zero).
-
-> `expect(x).to.beFalsy();` passes if x evaluates to false (zero).
-
-> `expect(x).to.contain(y);` passes if an instance of NSArray or NSString x contains y.
-
-> `expect(x).to.beSupersetOf(y);` passes if an instance of NSArray, NSSet, NSDictionary or NSOrderedSet x contains all elements of y.
-
-> `expect(x).to.haveCountOf(y);` passes if an instance of NSArray, NSSet, NSDictionary or NSString x has a count or length of y.
-
-> `expect(x).to.beEmpty();` passes if an instance of NSArray, NSSet, NSDictionary or NSString x has a count or length of .
-
-> `expect(x).to.beInstanceOf([Foo class]);` passes if x is an instance of a class Foo.
-
-> `expect(x).to.beKindOf([Foo class]);` passes if x is an instance of a class Foo or if x is an instance of any class that inherits from the class Foo.
-
-> `expect([Foo class]).to.beSubclassOf([Bar class]);` passes if the class Foo is a subclass of the class Bar or if it is identical to the class Bar. Use beKindOf() for class clusters.
-
-> `expect(x).to.beLessThan(y);` passes if `x` is less than `y`.
-
-> `expect(x).to.beLessThanOrEqualTo(y);` passes if `x` is less than or equal to `y`.
-
-> `expect(x).to.beGreaterThan(y);` passes if `x` is greater than `y`.
-
-> `expect(x).to.beGreaterThanOrEqualTo(y);` passes if `x` is greater than or equal to `y`.
-
-> `expect(x).to.beInTheRangeOf(y,z);` passes if `x` is in the range of `y` and `z`.
-
-> `expect(x).to.beCloseTo(y);` passes if `x` is close to `y`.
-
-> `expect(x).to.beCloseToWithin(y, z);` passes if `x` is close to `y` within `z`.
-
-> `expect(^{ /* code */ }).to.raise(@"ExceptionName");` passes if a given block of code raises an exception named `ExceptionName`.
-
-> `expect(^{ /* code */ }).to.raiseAny();` passes if a given block of code raises any exception.
-
-> `expect(x).to.conformTo(y);` passes if `x` conforms to the protocol `y`.
-
-> `expect(x).to.respondTo(y);` passes if `x` responds to the selector `y`.
-
-> `expect(^{ /* code */ }).to.notify(@"NotificationName");` passes if a given block of code generates an NSNotification amed `NotificationName`.
-
-> `expect(^{ /* code */ }).to.notify(notification);` passes if a given block of code generates an NSNotification equal to the passed `notification`.
-
-> `expect(x).to.beginWith(y);` passes if an instance of NSString, NSArray, or NSOrderedSet `x` begins with `y`. Also liased by `startWith`
-
-> `expect(x).to.endWith(y);` passes if an instance of NSString, NSArray, or NSOrderedSet `x` ends with `y`.
-
-> `expect(x).to.match(y);` passes if an instance of NSString `x` matches regular expression (given as NSString) `y` one or more times.
-
-## Inverting Matchers
-
-Every matcher's criteria can be inverted by prepending `.notTo` or `.toNot`:
-
->`expect(x).notTo.equal(y);` compares objects or primitives x and y and passes if they are *not* equivalent.
-
-## Asynchronous Testing
-
-Every matcher can be made to perform asynchronous testing by prepending `.will`, `.willNot` or `after(...)`:
-
->`expect(x).will.beNil();` passes if x becomes nil before the default timeout.
->
->`expect(x).willNot.beNil();` passes if x becomes non-nil before the default timeout.
->
->`expect(x).after(3).to.beNil();` passes if x becoms nil after 3.0 seconds.
->
->`expect(x).after(2.5).notTo.equal(42);` passes if x doesn't equal 42 after 2.5 seconds.
-
-The default timeout is 1.0 second and is used for all matchers if not otherwise specified. This setting can be changed by calling `[Expecta setAsynchronousTestTimeout:x]`, where `x` is the desired timeout in seconds.
-
-```objective-c
-describe(@"Foo", ^{
- beforeAll(^{
- // All asynchronous matching using `will` and `willNot`
- // will have a timeout of 2.0 seconds
- [Expecta setAsynchronousTestTimeout:2];
- });
-
- it(@"will not be nil", ^{
- // Test case where default timeout is used
- expect(foo).willNot.beNil();
- });
-
- it(@"should equal 42 after 3 seconds", ^{
- // Signle case where timeout differs from the default
- expect(foo).after(3).to.equal(42);
- });
-});
-```
-
-## Forced Failing
-
-You can fail a test by using the `failure` attribute. This can be used to test branching.
-
-> `failure(@"This should not happen");` outright fails a test.
-
-
-## Writing New Matchers
-
-Writing a new matcher is easy with special macros provided by Expecta. Take a look at how `.beKindOf()` matcher is defined:
-
-`EXPMatchers+beKindOf.h`
-
-```objective-c
-#import "Expecta.h"
-
-EXPMatcherInterface(beKindOf, (Class expected));
-// 1st argument is the name of the matcher function
-// 2nd argument is the list of arguments that may be passed in the function
-// call.
-// Multiple arguments are fine. (e.g. (int foo, float bar))
-
-#define beAKindOf beKindOf
-```
-
-`EXPMatchers+beKindOf.m`
-
-```objective-c
-#import "EXPMatchers+beKindOf.h"
-
-EXPMatcherImplementationBegin(beKindOf, (Class expected)) {
- BOOL actualIsNil = (actual == nil);
- BOOL expectedIsNil = (expected == nil);
-
- prerequisite(^BOOL {
- return !(actualIsNil || expectedIsNil);
- // Return `NO` if matcher should fail whether or not the result is inverted
- // using `.Not`.
- });
-
- match(^BOOL {
- return [actual isKindOfClass:expected];
- // Return `YES` if the matcher should pass, `NO` if it should not.
- // The actual value/object is passed as `actual`.
- // Please note that primitive values will be wrapped in NSNumber/NSValue.
- });
-
- failureMessageForTo(^NSString * {
- if (actualIsNil)
- return @"the actual value is nil/null";
- if (expectedIsNil)
- return @"the expected value is nil/null";
- return [NSString
- stringWithFormat:@"expected: a kind of %@, "
- "got: an instance of %@, which is not a kind of %@",
- [expected class], [actual class], [expected class]];
- // Return the message to be displayed when the match function returns `YES`.
- });
-
- failureMessageForNotTo(^NSString * {
- if (actualIsNil)
- return @"the actual value is nil/null";
- if (expectedIsNil)
- return @"the expected value is nil/null";
- return [NSString
- stringWithFormat:@"expected: not a kind of %@, "
- "got: an instance of %@, which is a kind of %@",
- [expected class], [actual class], [expected class]];
- // Return the message to be displayed when the match function returns `NO`.
- });
-}
-EXPMatcherImplementationEnd
-```
-
-## Dynamic Predicate Matchers
-
-It is possible to add predicate matchers by simply defining the matcher interface, with the matcher implementation being handled at runtime by delegating to the predicate method on your object.
-
-For instance, if you have the following class:
-
-```objc
-@interface LightSwitch : NSObject
-@property (nonatomic, assign, getter=isTurnedOn) BOOL turnedOn;
-@end
-
-@implementation LightSwitch
-@synthesize turnedOn;
-@end
-```
-
-The normal way to write an assertion that the switch is turned on would be:
-
-```objc
-expect([lightSwitch isTurnedOn]).to.beTruthy();
-```
-
-However, if we define a custom predicate matcher:
-
-```objc
-EXPMatcherInterface(isTurnedOn, (void));
-```
-
-(Note: we haven't defined the matcher implementation, just it's interface)
-
-You can now write your assertion as follows:
-
-```objc
-expect(lightSwitch).isTurnedOn();
-```
-
-## Contribution Guidelines
-
-* Please use only spaces and indent 2 spaces at a time.
-* Please prefix instance variable names with a single underscore (`_`).
-* Please prefix custom classes and functions defined in the global scope with `EXP`.
-
-## License
-
-Copyright (c) 2012-2015 [Specta Team](https://github.com/specta?tab=members). This software is licensed under the [MIT License](http://github.com/specta/specta/raw/master/LICENSE).
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
deleted file mode 100644
index 9fd2e54af..000000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2013, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-
-#import
-
-#import
-
-#import
-
-#ifndef FB_REFERENCE_IMAGE_DIR
-#define FB_REFERENCE_IMAGE_DIR "\"$(SOURCE_ROOT)/$(PROJECT_NAME)Tests/ReferenceImages\""
-#endif
-
-/**
- Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though.
- @param view The view to snapshot
- @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
- @param suffixes An NSOrderedSet of strings for the different suffixes
- */
-#define FBSnapshotVerifyViewWithOptions(view__, identifier__, suffixes__) \
-{ \
-NSError *error__ = nil; \
-BOOL comparisonSuccess__; \
-XCTAssertTrue((suffixes__.count > 0), @"Suffixes set cannot be empty %@", suffixes__); \
-for (NSString *suffix__ in suffixes__) { \
-NSString *referenceImagesDirectory__ = [NSString stringWithFormat:@"%s%@", FB_REFERENCE_IMAGE_DIR, suffix__]; \
-comparisonSuccess__ = [self compareSnapshotOfView:(view__) referenceImagesDirectory:referenceImagesDirectory__ identifier:(identifier__) error:&error__]; \
-if (comparisonSuccess__ || self.recordMode) break; \
-} \
-XCTAssertTrue(comparisonSuccess__, @"Snapshot comparison failed: %@", error__); \
-XCTAssertFalse(self.recordMode, @"Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!"); \
-}
-
-#define FBSnapshotVerifyView(view__, identifier__) \
-{ \
-FBSnapshotVerifyViewWithOptions(view__, identifier__, FBSnapshotTestCaseDefaultSuffixes()); \
-}
-
-/**
- Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though.
- @param layer The layer to snapshot
- @param identifier An optional identifier, used is there are multiple snapshot tests in a given -test method.
- @param suffixes An NSOrderedSet of strings for the different suffixes
- */
-#define FBSnapshotVerifyLayerWithOptions(layer__, identifier__, suffixes__) \
-{ \
-NSError *error__ = nil; \
-BOOL comparisonSuccess__; \
-XCTAssertTrue((suffixes__.count > 0), @"Suffixes set cannot be empty %@", suffixes__); \
-for (NSString *suffix__ in suffixes__) { \
-NSString *referenceImagesDirectory__ = [NSString stringWithFormat:@"%s%@", FB_REFERENCE_IMAGE_DIR, suffix__]; \
-comparisonSuccess__ = [self compareSnapshotOfLayer:(layer__) referenceImagesDirectory:referenceImagesDirectory__ identifier:(identifier__) error:&error__]; \
-if (comparisonSuccess__ || self.recordMode) break; \
-} \
-XCTAssertTrue(comparisonSuccess__, @"Snapshot comparison failed: %@", error__); \
-XCTAssertFalse(self.recordMode, @"Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!"); \
-}
-
-#define FBSnapshotVerifyLayer(layer__, identifier__) \
-{ \
-FBSnapshotVerifyLayerWithOptions(layer__, identifier__, FBSnapshotTestCaseDefaultSuffixes()); \
-}
-
-/**
- The base class of view snapshotting tests. If you have small UI component, it's often easier to configure it in a test
- and compare an image of the view to a reference image that write lots of complex layout-code tests.
-
- In order to flip the tests in your subclass to record the reference images set @c recordMode to @c YES.
-
- For example:
- @code
- - (void)setUp
- {
- [super setUp];
- self.recordMode = YES;
- }
- @endcode
- */
-@interface FBSnapshotTestCase : XCTestCase
-
-/**
- When YES, the test macros will save reference images, rather than performing an actual test.
- */
-@property (readwrite, nonatomic, assign) BOOL recordMode;
-
-/**
- Performs the comparison or records a snapshot of the layer if recordMode is YES.
- @param layer The Layer to snapshot
- @param referenceImagesDirectory The directory in which reference images are stored.
- @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
- @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
- @returns YES if the comparison (or saving of the reference image) succeeded.
- */
-- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr;
-
-/**
- Performs the comparison or records a snapshot of the view if recordMode is YES.
- @param view The view to snapshot
- @param referenceImagesDirectory The directory in which reference images are stored.
- @param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
- @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
- @returns YES if the comparison (or saving of the reference image) succeeded.
- */
-- (BOOL)compareSnapshotOfView:(UIView *)view
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr;
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m
deleted file mode 100644
index 4e840ce98..000000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2013, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import "FBSnapshotTestCase.h"
-
-#import "FBSnapshotTestController.h"
-
-@implementation FBSnapshotTestCase
-{
- FBSnapshotTestController *_snapshotController;
-}
-
-- (void)setUp
-{
- [super setUp];
- _snapshotController = [[FBSnapshotTestController alloc] initWithTestName:NSStringFromClass([self class])];
-}
-
-- (void)tearDown
-{
- _snapshotController = nil;
- [super tearDown];
-}
-
-- (BOOL)recordMode
-{
- return _snapshotController.recordMode;
-}
-
-- (void)setRecordMode:(BOOL)recordMode
-{
- NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
- _snapshotController.recordMode = recordMode;
-}
-
-- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- return [self _compareSnapshotOfViewOrLayer:layer
- referenceImagesDirectory:referenceImagesDirectory
- identifier:identifier
- error:errorPtr];
-}
-
-- (BOOL)compareSnapshotOfView:(UIView *)view
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- return [self _compareSnapshotOfViewOrLayer:view
- referenceImagesDirectory:referenceImagesDirectory
- identifier:identifier
- error:errorPtr];
-}
-
-#pragma mark -
-#pragma mark Private API
-
-- (BOOL)_compareSnapshotOfViewOrLayer:(id)viewOrLayer
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- _snapshotController.referenceImagesDirectory = referenceImagesDirectory;
- return [_snapshotController compareSnapshotOfViewOrLayer:viewOrLayer
- selector:self.invocation.selector
- identifier:identifier
- error:errorPtr];
-}
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
deleted file mode 100644
index 99f648052..000000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- Returns a Boolean value that indicates whether the snapshot test is running in 64Bit.
- This method is a convenience for creating the suffixes set based on the architecture
- that the test is running.
-
- @returns @c YES if the test is running in 64bit, otherwise @c NO.
- */
-BOOL FBSnapshotTestCaseIs64Bit(void);
-
-/**
- Returns a default set of strings that is used to append a suffix based on the architectures.
- @warning Do not modify this function, you can create your own and use it with @c FBSnapshotVerifyViewWithOptions()
-
- @returns An @c NSOrderedSet object containing strings that are appended to the reference images directory.
- */
-NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m
deleted file mode 100644
index 95746c811..000000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-
-BOOL FBSnapshotTestCaseIs64Bit(void)
-{
-#if __LP64__
- return YES;
-#else
- return NO;
-#endif
-}
-
-NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void)
-{
- NSMutableOrderedSet *suffixesSet = [[NSMutableOrderedSet alloc] init];
- [suffixesSet addObject:@"_32"];
- [suffixesSet addObject:@"_64"];
- if (FBSnapshotTestCaseIs64Bit()) {
- return [suffixesSet reversedOrderedSet];
- }
- return [suffixesSet copy];
-}
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h
deleted file mode 100644
index f9b698464..000000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (c) 2013, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-#import
-
-typedef NS_ENUM(NSInteger, FBSnapshotTestControllerErrorCode) {
- FBSnapshotTestControllerErrorCodeUnknown,
- FBSnapshotTestControllerErrorCodeNeedsRecord,
- FBSnapshotTestControllerErrorCodePNGCreationFailed,
- FBSnapshotTestControllerErrorCodeImagesDifferentSizes,
- FBSnapshotTestControllerErrorCodeImagesDifferent,
-};
-/**
- Errors returned by the methods of FBSnapshotTestController use this domain.
- */
-extern NSString *const FBSnapshotTestControllerErrorDomain;
-
-/**
- Errors returned by the methods of FBSnapshotTestController sometimes contain this key in the `userInfo` dictionary.
- */
-extern NSString *const FBReferenceImageFilePathKey;
-
-/**
- Provides the heavy-lifting for FBSnapshotTestCase. It loads and saves images, along with performing the actual pixel-
- by-pixel comparison of images.
- Instances are initialized with the test class, and directories to read and write to.
- */
-@interface FBSnapshotTestController : NSObject
-
-/**
- Record snapshots.
- **/
-@property (readwrite, nonatomic, assign) BOOL recordMode;
-
-/**
- @param testClass The subclass of FBSnapshotTestCase that is using this controller.
- @returns An instance of FBSnapshotTestController.
- */
-- (instancetype)initWithTestClass:(Class)testClass;
-
-/**
- Designated initializer.
- @param testName The name of the tests.
- @returns An instance of FBSnapshotTestController.
- */
-- (instancetype)initWithTestName:(NSString *)testName;
-
-
-/**
- Performs the comparison of the layer.
- @param layer The Layer to snapshot.
- @param selector The test method being run.
- @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method.
- @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
- @returns YES if the comparison (or saving of the reference image) succeeded.
- */
-- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr;
-
-/**
- Performs the comparison of the view.
- @param view The view to snapshot.
- @param selector The test method being run.
- @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method.
- @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
- @returns YES if the comparison (or saving of the reference image) succeeded.
- */
-- (BOOL)compareSnapshotOfView:(UIView *)view
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr;
-
-/**
- Performs the comparison of a view or layer.
- @param view The view or layer to snapshot.
- @param selector The test method being run.
- @param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method.
- @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
- @returns YES if the comparison (or saving of the reference image) succeeded.
- */
-- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr;
-
-
-/**
- The directory in which referfence images are stored.
- */
-@property (readwrite, nonatomic, copy) NSString *referenceImagesDirectory;
-
-/**
- Loads a reference image.
- @param selector The test method being run.
- @param identifier The optional identifier, used when multiple images are tested in a single -test method.
- @param errorPtr An error, if this methods returns nil, the error will be something useful.
- @returns An image.
- */
-- (UIImage *)referenceImageForSelector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr;
-
-/**
- Saves a reference image.
- @param selector The test method being run.
- @param identifier The optional identifier, used when multiple images are tested in a single -test method.
- @param errorPtr An error, if this methods returns NO, the error will be something useful.
- @returns An image.
- */
-- (BOOL)saveReferenceImage:(UIImage *)image
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr;
-
-/**
- Performs a pixel-by-pixel comparison of the two images.
- @param referenceImage The reference (correct) image.
- @param image The image to test against the reference.
- @param errorPtr An error that indicates why the comparison failed if it does.
- @returns YES if the comparison succeeded and the images are the same.
- */
-- (BOOL)compareReferenceImage:(UIImage *)referenceImage
- toImage:(UIImage *)image
- error:(NSError **)errorPtr;
-
-/**
- Saves the reference image and the test image to `failedOutputDirectory`.
- @param referenceImage The reference (correct) image.
- @param testImage The image to test against the reference.
- @param selector The test method being run.
- @param identifier The optional identifier, used when multiple images are tested in a single -test method.
- @param errorPtr An error that indicates why the comparison failed if it does.
- @returns YES if the save succeeded.
- */
-- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage
- testImage:(UIImage *)testImage
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr;
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m
deleted file mode 100644
index 125f15a6f..000000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m
+++ /dev/null
@@ -1,378 +0,0 @@
-/*
- * Copyright (c) 2013, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import "FBSnapshotTestController.h"
-
-#import "UIImage+Compare.h"
-#import "UIImage+Diff.h"
-
-#import
-
-NSString *const FBSnapshotTestControllerErrorDomain = @"FBSnapshotTestControllerErrorDomain";
-
-NSString *const FBReferenceImageFilePathKey = @"FBReferenceImageFilePathKey";
-
-@implementation FBSnapshotTestController
-{
- NSString *_testName;
- NSFileManager *_fileManager;
-}
-
-#pragma mark -
-#pragma mark Lifecycle
-
-- (instancetype)initWithTestClass:(Class)testClass;
-{
- return [self initWithTestName:NSStringFromClass(testClass)];
-}
-
-- (instancetype)initWithTestName:(NSString *)testName
-{
- if ((self = [super init])) {
- _testName = [testName copy];
- _fileManager = [[NSFileManager alloc] init];
- }
- return self;
-}
-
-#pragma mark -
-#pragma mark Properties
-
-- (NSString *)description
-{
- return [NSString stringWithFormat:@"%@ %@", [super description], _referenceImagesDirectory];
-}
-
-#pragma mark -
-#pragma mark Public API
-
-- (UIImage *)referenceImageForSelector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier];
- UIImage *image = [UIImage imageWithContentsOfFile:filePath];
- if (nil == image && NULL != errorPtr) {
- BOOL exists = [_fileManager fileExistsAtPath:filePath];
- if (!exists) {
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:FBSnapshotTestControllerErrorCodeNeedsRecord
- userInfo:@{
- FBReferenceImageFilePathKey: filePath,
- NSLocalizedDescriptionKey: @"Unable to load reference image.",
- NSLocalizedFailureReasonErrorKey: @"Reference image not found. You need to run the test in record mode",
- }];
- } else {
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:FBSnapshotTestControllerErrorCodeUnknown
- userInfo:nil];
- }
- }
- return image;
-}
-
-- (BOOL)saveReferenceImage:(UIImage *)image
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- BOOL didWrite = NO;
- if (nil != image) {
- NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier];
- NSData *pngData = UIImagePNGRepresentation(image);
- if (nil != pngData) {
- NSError *creationError = nil;
- BOOL didCreateDir = [_fileManager createDirectoryAtPath:[filePath stringByDeletingLastPathComponent]
- withIntermediateDirectories:YES
- attributes:nil
- error:&creationError];
- if (!didCreateDir) {
- if (NULL != errorPtr) {
- *errorPtr = creationError;
- }
- return NO;
- }
- didWrite = [pngData writeToFile:filePath options:NSDataWritingAtomic error:errorPtr];
- if (didWrite) {
- NSLog(@"Reference image save at: %@", filePath);
- }
- } else {
- if (nil != errorPtr) {
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:FBSnapshotTestControllerErrorCodePNGCreationFailed
- userInfo:@{
- FBReferenceImageFilePathKey: filePath,
- }];
- }
- }
- }
- return didWrite;
-}
-
-- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage
- testImage:(UIImage *)testImage
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- NSData *referencePNGData = UIImagePNGRepresentation(referenceImage);
- NSData *testPNGData = UIImagePNGRepresentation(testImage);
-
- NSString *referencePath = [self _failedFilePathForSelector:selector
- identifier:identifier
- fileNameType:FBTestSnapshotFileNameTypeFailedReference];
-
- NSError *creationError = nil;
- BOOL didCreateDir = [_fileManager createDirectoryAtPath:[referencePath stringByDeletingLastPathComponent]
- withIntermediateDirectories:YES
- attributes:nil
- error:&creationError];
- if (!didCreateDir) {
- if (NULL != errorPtr) {
- *errorPtr = creationError;
- }
- return NO;
- }
-
- if (![referencePNGData writeToFile:referencePath options:NSDataWritingAtomic error:errorPtr]) {
- return NO;
- }
-
- NSString *testPath = [self _failedFilePathForSelector:selector
- identifier:identifier
- fileNameType:FBTestSnapshotFileNameTypeFailedTest];
-
- if (![testPNGData writeToFile:testPath options:NSDataWritingAtomic error:errorPtr]) {
- return NO;
- }
-
- NSString *diffPath = [self _failedFilePathForSelector:selector
- identifier:identifier
- fileNameType:FBTestSnapshotFileNameTypeFailedTestDiff];
-
- UIImage *diffImage = [referenceImage diffWithImage:testImage];
- NSData *diffImageData = UIImagePNGRepresentation(diffImage);
-
- if (![diffImageData writeToFile:diffPath options:NSDataWritingAtomic error:errorPtr]) {
- return NO;
- }
-
- NSLog(@"If you have Kaleidoscope installed you can run this command to see an image diff:\n"
- @"ksdiff \"%@\" \"%@\"", referencePath, testPath);
-
- return YES;
-}
-
-- (BOOL)compareReferenceImage:(UIImage *)referenceImage toImage:(UIImage *)image error:(NSError **)errorPtr
-{
- if (CGSizeEqualToSize(referenceImage.size, image.size)) {
-
- BOOL imagesEqual = [referenceImage compareWithImage:image];
- if (NULL != errorPtr) {
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:FBSnapshotTestControllerErrorCodeImagesDifferent
- userInfo:@{
- NSLocalizedDescriptionKey: @"Images different",
- }];
- }
- return imagesEqual;
- }
- if (NULL != errorPtr) {
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:FBSnapshotTestControllerErrorCodeImagesDifferentSizes
- userInfo:@{
- NSLocalizedDescriptionKey: @"Images different sizes",
- NSLocalizedFailureReasonErrorKey: [NSString stringWithFormat:@"referenceImage:%@, image:%@",
- NSStringFromCGSize(referenceImage.size),
- NSStringFromCGSize(image.size)],
- }];
- }
- return NO;
-}
-
-#pragma mark -
-#pragma mark Private API
-
-typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) {
- FBTestSnapshotFileNameTypeReference,
- FBTestSnapshotFileNameTypeFailedReference,
- FBTestSnapshotFileNameTypeFailedTest,
- FBTestSnapshotFileNameTypeFailedTestDiff,
-};
-
-- (NSString *)_fileNameForSelector:(SEL)selector
- identifier:(NSString *)identifier
- fileNameType:(FBTestSnapshotFileNameType)fileNameType
-{
- NSString *fileName = nil;
- switch (fileNameType) {
- case FBTestSnapshotFileNameTypeFailedReference:
- fileName = @"reference_";
- break;
- case FBTestSnapshotFileNameTypeFailedTest:
- fileName = @"failed_";
- break;
- case FBTestSnapshotFileNameTypeFailedTestDiff:
- fileName = @"diff_";
- break;
- default:
- fileName = @"";
- break;
- }
- fileName = [fileName stringByAppendingString:NSStringFromSelector(selector)];
- if (0 < identifier.length) {
- fileName = [fileName stringByAppendingFormat:@"_%@", identifier];
- }
- if ([[UIScreen mainScreen] scale] > 1) {
- fileName = [fileName stringByAppendingFormat:@"@%.fx", [[UIScreen mainScreen] scale]];
- }
- fileName = [fileName stringByAppendingPathExtension:@"png"];
- return fileName;
-}
-
-- (NSString *)_referenceFilePathForSelector:(SEL)selector identifier:(NSString *)identifier
-{
- NSString *fileName = [self _fileNameForSelector:selector
- identifier:identifier
- fileNameType:FBTestSnapshotFileNameTypeReference];
- NSString *filePath = [_referenceImagesDirectory stringByAppendingPathComponent:_testName];
- filePath = [filePath stringByAppendingPathComponent:fileName];
- return filePath;
-}
-
-- (NSString *)_failedFilePathForSelector:(SEL)selector
- identifier:(NSString *)identifier
- fileNameType:(FBTestSnapshotFileNameType)fileNameType
-{
- NSString *fileName = [self _fileNameForSelector:selector
- identifier:identifier
- fileNameType:fileNameType];
- NSString *folderPath = NSTemporaryDirectory();
- if (getenv("IMAGE_DIFF_DIR")) {
- folderPath = @(getenv("IMAGE_DIFF_DIR"));
- }
- NSString *filePath = [folderPath stringByAppendingPathComponent:_testName];
- filePath = [filePath stringByAppendingPathComponent:fileName];
- return filePath;
-}
-
-- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- return [self compareSnapshotOfViewOrLayer:layer
- selector:selector
- identifier:identifier
- error:errorPtr];
-}
-
-- (BOOL)compareSnapshotOfView:(UIView *)view
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- return [self compareSnapshotOfViewOrLayer:view
- selector:selector
- identifier:identifier
- error:errorPtr];
-}
-
-- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- if (self.recordMode) {
- return [self _recordSnapshotOfViewOrLayer:viewOrLayer selector:selector identifier:identifier error:errorPtr];
- } else {
- return [self _performPixelComparisonWithViewOrLayer:viewOrLayer selector:selector identifier:identifier error:errorPtr];
- }
-}
-
-#pragma mark -
-#pragma mark Private API
-
-- (BOOL)_performPixelComparisonWithViewOrLayer:(UIView *)viewOrLayer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- UIImage *referenceImage = [self referenceImageForSelector:selector identifier:identifier error:errorPtr];
- if (nil != referenceImage) {
- UIImage *snapshot = [self _snapshotViewOrLayer:viewOrLayer];
- BOOL imagesSame = [self compareReferenceImage:referenceImage toImage:snapshot error:errorPtr];
- if (!imagesSame) {
- [self saveFailedReferenceImage:referenceImage
- testImage:snapshot
- selector:selector
- identifier:identifier
- error:errorPtr];
- }
- return imagesSame;
- }
- return NO;
-}
-
-- (BOOL)_recordSnapshotOfViewOrLayer:(id)viewOrLayer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- UIImage *snapshot = [self _snapshotViewOrLayer:viewOrLayer];
- return [self saveReferenceImage:snapshot selector:selector identifier:identifier error:errorPtr];
-}
-
-- (UIImage *)_snapshotViewOrLayer:(id)viewOrLayer
-{
- CALayer *layer = nil;
-
- if ([viewOrLayer isKindOfClass:[UIView class]]) {
- return [self _renderView:viewOrLayer];
- } else if ([viewOrLayer isKindOfClass:[CALayer class]]) {
- layer = (CALayer *)viewOrLayer;
- [layer layoutIfNeeded];
- return [self _renderLayer:layer];
- } else {
- [NSException raise:@"Only UIView and CALayer classes can be snapshotted" format:@"%@", viewOrLayer];
- }
- return nil;
-}
-
-- (UIImage *)_renderLayer:(CALayer *)layer
-{
- CGRect bounds = layer.bounds;
-
- NSAssert1(CGRectGetWidth(bounds), @"Zero width for layer %@", layer);
- NSAssert1(CGRectGetHeight(bounds), @"Zero height for layer %@", layer);
-
- UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0);
- CGContextRef context = UIGraphicsGetCurrentContext();
- NSAssert1(context, @"Could not generate context for layer %@", layer);
-
- CGContextSaveGState(context);
- {
- [layer renderInContext:context];
- }
- CGContextRestoreGState(context);
-
- UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
-
- return snapshot;
-}
-
-- (UIImage *)_renderView:(UIView *)view
-{
- [view layoutIfNeeded];
- return [self _renderLayer:view.layer];
-}
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Compare.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Compare.h
deleted file mode 100644
index 11c6fa638..000000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Compare.h
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// Created by Gabriel Handford on 3/1/09.
-// Copyright 2009-2013. All rights reserved.
-// Created by John Boiles on 10/20/11.
-// Copyright (c) 2011. All rights reserved
-// Modified by Felix Schulze on 2/11/13.
-// Copyright 2013. All rights reserved.
-//
-// Permission is hereby granted, free of charge, to any person
-// obtaining a copy of this software and associated documentation
-// files (the "Software"), to deal in the Software without
-// restriction, including without limitation the rights to use,
-// copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following
-// conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#import
-
-@interface UIImage (Compare)
-
-- (BOOL)compareWithImage:(UIImage *)image;
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Compare.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Compare.m
deleted file mode 100644
index 2b26e029d..000000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Compare.m
+++ /dev/null
@@ -1,91 +0,0 @@
-//
-// Created by Gabriel Handford on 3/1/09.
-// Copyright 2009-2013. All rights reserved.
-// Created by John Boiles on 10/20/11.
-// Copyright (c) 2011. All rights reserved
-// Modified by Felix Schulze on 2/11/13.
-// Copyright 2013. All rights reserved.
-//
-// Permission is hereby granted, free of charge, to any person
-// obtaining a copy of this software and associated documentation
-// files (the "Software"), to deal in the Software without
-// restriction, including without limitation the rights to use,
-// copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following
-// conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#import "UIImage+Compare.h"
-
-@implementation UIImage (Compare)
-
-- (BOOL)compareWithImage:(UIImage *)image
-{
- NSAssert(CGSizeEqualToSize(self.size, image.size), @"Images must be same size.");
-
- // The images have the equal size, so we could use the smallest amount of bytes because of byte padding
- size_t minBytesPerRow = MIN(CGImageGetBytesPerRow(self.CGImage), CGImageGetBytesPerRow(image.CGImage));
- size_t referenceImageSizeBytes = CGImageGetHeight(self.CGImage) * minBytesPerRow;
- void *referenceImagePixels = calloc(1, referenceImageSizeBytes);
- void *imagePixels = calloc(1, referenceImageSizeBytes);
-
- if (!referenceImagePixels || !imagePixels) {
- free(referenceImagePixels);
- free(imagePixels);
- return NO;
- }
-
- CGContextRef referenceImageContext = CGBitmapContextCreate(referenceImagePixels,
- CGImageGetWidth(self.CGImage),
- CGImageGetHeight(self.CGImage),
- CGImageGetBitsPerComponent(self.CGImage),
- minBytesPerRow,
- CGImageGetColorSpace(self.CGImage),
- (CGBitmapInfo)kCGImageAlphaPremultipliedLast
- );
- CGContextRef imageContext = CGBitmapContextCreate(imagePixels,
- CGImageGetWidth(image.CGImage),
- CGImageGetHeight(image.CGImage),
- CGImageGetBitsPerComponent(image.CGImage),
- minBytesPerRow,
- CGImageGetColorSpace(image.CGImage),
- (CGBitmapInfo)kCGImageAlphaPremultipliedLast
- );
-
- CGFloat scaleFactor = [[UIScreen mainScreen] scale];
- CGContextScaleCTM(referenceImageContext, scaleFactor, scaleFactor);
- CGContextScaleCTM(imageContext, scaleFactor, scaleFactor);
-
- if (!referenceImageContext || !imageContext) {
- CGContextRelease(referenceImageContext);
- CGContextRelease(imageContext);
- free(referenceImagePixels);
- free(imagePixels);
- return NO;
- }
-
- CGContextDrawImage(referenceImageContext, CGRectMake(0, 0, self.size.width, self.size.height), self.CGImage);
- CGContextDrawImage(imageContext, CGRectMake(0, 0, image.size.width, image.size.height), image.CGImage);
- CGContextRelease(referenceImageContext);
- CGContextRelease(imageContext);
-
- BOOL imageEqual = (memcmp(referenceImagePixels, imagePixels, referenceImageSizeBytes) == 0);
- free(referenceImagePixels);
- free(imagePixels);
- return imageEqual;
-}
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Diff.h b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Diff.h
deleted file mode 100644
index 35595843f..000000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Diff.h
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// Created by Gabriel Handford on 3/1/09.
-// Copyright 2009-2013. All rights reserved.
-// Created by John Boiles on 10/20/11.
-// Copyright (c) 2011. All rights reserved
-// Modified by Felix Schulze on 2/11/13.
-// Copyright 2013. All rights reserved.
-//
-// Permission is hereby granted, free of charge, to any person
-// obtaining a copy of this software and associated documentation
-// files (the "Software"), to deal in the Software without
-// restriction, including without limitation the rights to use,
-// copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following
-// conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#import
-
-@interface UIImage (Diff)
-
-- (UIImage *)diffWithImage:(UIImage *)image;
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Diff.m b/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Diff.m
deleted file mode 100644
index cb3dae53a..000000000
--- a/Example/Pods/FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Diff.m
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// Created by Gabriel Handford on 3/1/09.
-// Copyright 2009-2013. All rights reserved.
-// Created by John Boiles on 10/20/11.
-// Copyright (c) 2011. All rights reserved
-// Modified by Felix Schulze on 2/11/13.
-// Copyright 2013. All rights reserved.
-//
-// Permission is hereby granted, free of charge, to any person
-// obtaining a copy of this software and associated documentation
-// files (the "Software"), to deal in the Software without
-// restriction, including without limitation the rights to use,
-// copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following
-// conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#import "UIImage+Diff.h"
-
-@implementation UIImage (Diff)
-
-- (UIImage *)diffWithImage:(UIImage *)image
-{
- if (!image) {
- return nil;
- }
- CGSize imageSize = CGSizeMake(MAX(self.size.width, image.size.width), MAX(self.size.height, image.size.height));
- UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0);
- CGContextRef context = UIGraphicsGetCurrentContext();
- [self drawInRect:CGRectMake(0, 0, self.size.width, self.size.height)];
- CGContextSetAlpha(context, 0.5);
- CGContextBeginTransparencyLayer(context, NULL);
- [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
- CGContextSetBlendMode(context, kCGBlendModeDifference);
- CGContextSetFillColorWithColor(context,[UIColor whiteColor].CGColor);
- CGContextFillRect(context, CGRectMake(0, 0, self.size.width, self.size.height));
- CGContextEndTransparencyLayer(context);
- UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return returnImage;
-}
-
-@end
diff --git a/Example/Pods/FBSnapshotTestCase/LICENSE b/Example/Pods/FBSnapshotTestCase/LICENSE
deleted file mode 100644
index 2dd780cbd..000000000
--- a/Example/Pods/FBSnapshotTestCase/LICENSE
+++ /dev/null
@@ -1,29 +0,0 @@
-BSD License
-
-For the FBSnapshotTestCase software
-
-Copyright (c) 2013, Facebook, Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name Facebook nor the names of its contributors may be used to
- endorse or promote products derived from this software without specific
- prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/Example/Pods/FBSnapshotTestCase/README.md b/Example/Pods/FBSnapshotTestCase/README.md
deleted file mode 100644
index 0a7c6256f..000000000
--- a/Example/Pods/FBSnapshotTestCase/README.md
+++ /dev/null
@@ -1,90 +0,0 @@
-FBSnapshotTestCase
-======================
-
-[](https://travis-ci.org/facebook/ios-snapshot-test-case)
-
-What it does
-------------
-
-A "snapshot test case" takes a configured `UIView` or `CALayer` and uses the
-`renderInContext:` method to get an image snapshot of its contents. It
-compares this snapshot to a "reference image" stored in your source code
-repository and fails the test if the two images don't match.
-
-Why?
-----
-
-At Facebook we write a lot of UI code. As you might imagine, each type of
-feed story is rendered using a subclass of `UIView`. There are a lot of edge
-cases that we want to handle correctly:
-
-- What if there is more text than can fit in the space available?
-- What if an image doesn't match the size of an image view?
-- What should the highlighted state look like?
-
-It's straightforward to test logic code, but less obvious how you should test
-views. You can do a lot of rectangle asserts, but these are hard to understand
-or visualize. Looking at an image diff shows you exactly what changed and how
-it will look to users.
-
-We developed `FBSnapshotTestCase` to make snapshot tests easy.
-
-Installation with CocoaPods
----------------------------
-
-1. Add the following lines to your Podfile:
-
- ```
- target "Tests" do
- pod 'FBSnapshotTestCase'
- end
- ```
-
- Replace "Tests" with the name of your test project.
-
-2. Define `FB_REFERENCE_IMAGE_DIR` in `GCC_PREPROCESSOR_DEFINITIONS`. This should
- point to the directory where you want reference images to be stored. At Facebook,
- we normally use this:
-
- `GCC_PREPROCESSOR_DEFINITIONS = $(inherited) FB_REFERENCE_IMAGE_DIR="\"$(SOURCE_ROOT)/$(PROJECT_NAME)Tests/ReferenceImages\""`
-
-Creating a snapshot test
-------------------------
-
-1. Subclass `FBSnapshotTestCase` instead of `XCTestCase`.
-2. From within your test, use `FBSnapshotVerifyView`.
-3. Run the test once with `self.recordMode = YES;` in the test's `-setUp`
- method. (This creates the reference images on disk.)
-4. Remove the line enabling record mode and run the test.
-
-Features
---------
-
-- Automatically names reference images on disk according to test class and
- selector.
-- Prints a descriptive error message to the console on failure. (Bonus:
- failure message includes a one-line command to see an image diff if
- you have [Kaleidoscope](http://www.kaleidoscopeapp.com) installed.)
-- Supply an optional "identifier" if you want to perform multiple snapshots
- in a single test method.
-- Support for `CALayer` via `FBSnapshotVerifyLayer`.
-
-Notes
------
-
-Your unit test must be an "application test", not a "logic test." (That is, it
-must be run within the Simulator so that it has access to UIKit.) In Xcode 5
-and later new projects only offer application tests, but older projects will
-have separate targets for the two types.
-
-Authors
--------
-
-`FBSnapshotTestCase` was written at Facebook by
-[Jonathan Dann](https://facebook.com/j.p.dann) with significant contributions by
-[Todd Krabach](https://facebook.com/toddkrabach).
-
-License
--------
-
-`FBSnapshotTestCase` is BSD-licensed. See `LICENSE`.
diff --git a/Example/Pods/Headers/Private/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h b/Example/Pods/Headers/Private/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h
deleted file mode 120000
index 93356db7f..000000000
--- a/Example/Pods/Headers/Private/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPBlockDefinedMatcher.h b/Example/Pods/Headers/Private/Expecta/EXPBlockDefinedMatcher.h
deleted file mode 120000
index ebefa87b1..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPBlockDefinedMatcher.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPBlockDefinedMatcher.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPDefines.h b/Example/Pods/Headers/Private/Expecta/EXPDefines.h
deleted file mode 120000
index 22add0cdc..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPDefines.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPDefines.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPDoubleTuple.h b/Example/Pods/Headers/Private/Expecta/EXPDoubleTuple.h
deleted file mode 120000
index 54aa0b5e6..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPDoubleTuple.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPDoubleTuple.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPExpect.h b/Example/Pods/Headers/Private/Expecta/EXPExpect.h
deleted file mode 120000
index a677bddfc..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPExpect.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPExpect.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPFloatTuple.h b/Example/Pods/Headers/Private/Expecta/EXPFloatTuple.h
deleted file mode 120000
index 2b405694a..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPFloatTuple.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPFloatTuple.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatcher.h b/Example/Pods/Headers/Private/Expecta/EXPMatcher.h
deleted file mode 120000
index 3b20a122c..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatcher.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPMatcher.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatcherHelpers.h b/Example/Pods/Headers/Private/Expecta/EXPMatcherHelpers.h
deleted file mode 120000
index 697385b07..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatcherHelpers.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatcherHelpers.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beCloseTo.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beCloseTo.h
deleted file mode 120000
index 0eed377cb..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beCloseTo.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beFalsy.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beFalsy.h
deleted file mode 120000
index 92643c49a..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beFalsy.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThan.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThan.h
deleted file mode 120000
index 1ccc62b4a..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThan.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h
deleted file mode 120000
index db5bf966a..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beIdenticalTo.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beIdenticalTo.h
deleted file mode 120000
index 6e17ea43e..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beIdenticalTo.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beInTheRangeOf.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beInTheRangeOf.h
deleted file mode 120000
index 362d8a7f6..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beInTheRangeOf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beInstanceOf.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beInstanceOf.h
deleted file mode 120000
index 4dd60632f..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beInstanceOf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beKindOf.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beKindOf.h
deleted file mode 120000
index 113c7d372..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beKindOf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beLessThan.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beLessThan.h
deleted file mode 120000
index 675e86a56..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beLessThan.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beLessThanOrEqualTo.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beLessThanOrEqualTo.h
deleted file mode 120000
index c16df2f05..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beLessThanOrEqualTo.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beNil.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beNil.h
deleted file mode 120000
index 9f65a6c12..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beNil.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beNil.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beSubclassOf.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beSubclassOf.h
deleted file mode 120000
index 27aa7bea5..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beSubclassOf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beSupersetOf.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beSupersetOf.h
deleted file mode 120000
index ea3f770a1..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beSupersetOf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beTruthy.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beTruthy.h
deleted file mode 120000
index 192ac764e..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beTruthy.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beginWith.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+beginWith.h
deleted file mode 120000
index 2efba8fea..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+beginWith.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beginWith.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+conformTo.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+conformTo.h
deleted file mode 120000
index 062fb51d7..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+conformTo.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+conformTo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+contain.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+contain.h
deleted file mode 120000
index 3661fe5f3..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+contain.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+contain.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+endWith.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+endWith.h
deleted file mode 120000
index 7e6c9cf1c..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+endWith.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+endWith.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+equal.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+equal.h
deleted file mode 120000
index 7bee78866..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+equal.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+equal.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+haveCountOf.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+haveCountOf.h
deleted file mode 120000
index f46d23adf..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+haveCountOf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+match.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+match.h
deleted file mode 120000
index 18f995de6..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+match.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+match.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+postNotification.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+postNotification.h
deleted file mode 120000
index c9422e3e7..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+postNotification.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+postNotification.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+raise.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+raise.h
deleted file mode 120000
index 901e04c19..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+raise.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+raise.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+raiseWithReason.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+raiseWithReason.h
deleted file mode 120000
index 5b063b64e..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+raiseWithReason.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers+respondTo.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers+respondTo.h
deleted file mode 120000
index e7a5fad13..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers+respondTo.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+respondTo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPMatchers.h b/Example/Pods/Headers/Private/Expecta/EXPMatchers.h
deleted file mode 120000
index a454dc408..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPMatchers.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/EXPUnsupportedObject.h b/Example/Pods/Headers/Private/Expecta/EXPUnsupportedObject.h
deleted file mode 120000
index 60fae89f1..000000000
--- a/Example/Pods/Headers/Private/Expecta/EXPUnsupportedObject.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPUnsupportedObject.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/Expecta.h b/Example/Pods/Headers/Private/Expecta/Expecta.h
deleted file mode 120000
index 45ef877d8..000000000
--- a/Example/Pods/Headers/Private/Expecta/Expecta.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Expecta.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/ExpectaObject.h b/Example/Pods/Headers/Private/Expecta/ExpectaObject.h
deleted file mode 120000
index 36a99e13b..000000000
--- a/Example/Pods/Headers/Private/Expecta/ExpectaObject.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/ExpectaObject.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/ExpectaSupport.h b/Example/Pods/Headers/Private/Expecta/ExpectaSupport.h
deleted file mode 120000
index c59d3fc60..000000000
--- a/Example/Pods/Headers/Private/Expecta/ExpectaSupport.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/ExpectaSupport.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/NSObject+Expecta.h b/Example/Pods/Headers/Private/Expecta/NSObject+Expecta.h
deleted file mode 120000
index 55c3635a6..000000000
--- a/Example/Pods/Headers/Private/Expecta/NSObject+Expecta.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/NSObject+Expecta.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Expecta/NSValue+Expecta.h b/Example/Pods/Headers/Private/Expecta/NSValue+Expecta.h
deleted file mode 120000
index ee557b848..000000000
--- a/Example/Pods/Headers/Private/Expecta/NSValue+Expecta.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/NSValue+Expecta.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h b/Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h
deleted file mode 120000
index 2925eab14..000000000
--- a/Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCase.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
deleted file mode 120000
index 6127a30c8..000000000
--- a/Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h b/Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h
deleted file mode 120000
index 4a7dea130..000000000
--- a/Example/Pods/Headers/Private/FBSnapshotTestCase/FBSnapshotTestController.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h b/Example/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h
deleted file mode 120000
index a68eafb67..000000000
--- a/Example/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Compare.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Compare.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h b/Example/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h
deleted file mode 120000
index f21e64d33..000000000
--- a/Example/Pods/Headers/Private/FBSnapshotTestCase/UIImage+Diff.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Diff.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/SPTCallSite.h b/Example/Pods/Headers/Private/Specta/SPTCallSite.h
deleted file mode 120000
index dbb535a60..000000000
--- a/Example/Pods/Headers/Private/Specta/SPTCallSite.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTCallSite.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/SPTCompiledExample.h b/Example/Pods/Headers/Private/Specta/SPTCompiledExample.h
deleted file mode 120000
index 659770480..000000000
--- a/Example/Pods/Headers/Private/Specta/SPTCompiledExample.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTCompiledExample.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/SPTExample.h b/Example/Pods/Headers/Private/Specta/SPTExample.h
deleted file mode 120000
index 79a18d4c5..000000000
--- a/Example/Pods/Headers/Private/Specta/SPTExample.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTExample.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/SPTExampleGroup.h b/Example/Pods/Headers/Private/Specta/SPTExampleGroup.h
deleted file mode 120000
index 1effac57b..000000000
--- a/Example/Pods/Headers/Private/Specta/SPTExampleGroup.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTExampleGroup.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/SPTExcludeGlobalBeforeAfterEach.h b/Example/Pods/Headers/Private/Specta/SPTExcludeGlobalBeforeAfterEach.h
deleted file mode 120000
index 64df73423..000000000
--- a/Example/Pods/Headers/Private/Specta/SPTExcludeGlobalBeforeAfterEach.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/SPTGlobalBeforeAfterEach.h b/Example/Pods/Headers/Private/Specta/SPTGlobalBeforeAfterEach.h
deleted file mode 120000
index 7f83b65ff..000000000
--- a/Example/Pods/Headers/Private/Specta/SPTGlobalBeforeAfterEach.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/SPTSharedExampleGroups.h b/Example/Pods/Headers/Private/Specta/SPTSharedExampleGroups.h
deleted file mode 120000
index 579d360e6..000000000
--- a/Example/Pods/Headers/Private/Specta/SPTSharedExampleGroups.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTSharedExampleGroups.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/SPTSpec.h b/Example/Pods/Headers/Private/Specta/SPTSpec.h
deleted file mode 120000
index 3b1679ae8..000000000
--- a/Example/Pods/Headers/Private/Specta/SPTSpec.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTSpec.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/SPTTestSuite.h b/Example/Pods/Headers/Private/Specta/SPTTestSuite.h
deleted file mode 120000
index 2f607e468..000000000
--- a/Example/Pods/Headers/Private/Specta/SPTTestSuite.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTTestSuite.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/Specta.h b/Example/Pods/Headers/Private/Specta/Specta.h
deleted file mode 120000
index 111c968e9..000000000
--- a/Example/Pods/Headers/Private/Specta/Specta.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/Specta.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/SpectaDSL.h b/Example/Pods/Headers/Private/Specta/SpectaDSL.h
deleted file mode 120000
index fd1ad3756..000000000
--- a/Example/Pods/Headers/Private/Specta/SpectaDSL.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SpectaDSL.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/SpectaTypes.h b/Example/Pods/Headers/Private/Specta/SpectaTypes.h
deleted file mode 120000
index 9428b1324..000000000
--- a/Example/Pods/Headers/Private/Specta/SpectaTypes.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SpectaTypes.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/SpectaUtility.h b/Example/Pods/Headers/Private/Specta/SpectaUtility.h
deleted file mode 120000
index 576248091..000000000
--- a/Example/Pods/Headers/Private/Specta/SpectaUtility.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SpectaUtility.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/XCTest+Private.h b/Example/Pods/Headers/Private/Specta/XCTest+Private.h
deleted file mode 120000
index bb4a8e026..000000000
--- a/Example/Pods/Headers/Private/Specta/XCTest+Private.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/XCTest+Private.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/Specta/XCTestCase+Specta.h b/Example/Pods/Headers/Private/Specta/XCTestCase+Specta.h
deleted file mode 120000
index 95f58cccd..000000000
--- a/Example/Pods/Headers/Private/Specta/XCTestCase+Specta.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/XCTestCase+Specta.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeClient.h b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeClient.h
new file mode 120000
index 000000000..2bd449376
--- /dev/null
+++ b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeClient.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeClient.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeError.h b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeError.h
new file mode 120000
index 000000000..4c6252175
--- /dev/null
+++ b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeError.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeError.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeKit.h b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeKit.h
new file mode 120000
index 000000000..d16f6f871
--- /dev/null
+++ b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeKit.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeKit.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeLogger+Private.h b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeLogger+Private.h
new file mode 120000
index 000000000..df0c2ebce
--- /dev/null
+++ b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeLogger+Private.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeLogger+Private.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeLogger.h b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeLogger.h
new file mode 120000
index 000000000..0d47450a6
--- /dev/null
+++ b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeLogger.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeLogger.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeOperation.h b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeOperation.h
new file mode 120000
index 000000000..e8d6b951c
--- /dev/null
+++ b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeOperation.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeOperation.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubePlayerScript.h b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubePlayerScript.h
new file mode 120000
index 000000000..caeaae4a1
--- /dev/null
+++ b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubePlayerScript.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubePlayerScript.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideo+Private.h b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideo+Private.h
new file mode 120000
index 000000000..e8344312d
--- /dev/null
+++ b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideo+Private.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeVideo+Private.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideo.h b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideo.h
new file mode 120000
index 000000000..ee13de8b6
--- /dev/null
+++ b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideo.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeVideo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideoOperation.h b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideoOperation.h
new file mode 120000
index 000000000..ac0730e71
--- /dev/null
+++ b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideoOperation.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeVideoOperation.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideoPlayerViewController.h b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideoPlayerViewController.h
new file mode 120000
index 000000000..0ac32058e
--- /dev/null
+++ b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideoPlayerViewController.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeVideoPlayerViewController.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideoWebpage.h b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideoWebpage.h
new file mode 120000
index 000000000..4c0f3d23d
--- /dev/null
+++ b/Example/Pods/Headers/Private/XCDYouTubeKit/XCDYouTubeVideoWebpage.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeVideoWebpage.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h b/Example/Pods/Headers/Public/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h
deleted file mode 120000
index 93356db7f..000000000
--- a/Example/Pods/Headers/Public/Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta+Snapshots/EXPMatchers+FBSnapshotTest.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPBlockDefinedMatcher.h b/Example/Pods/Headers/Public/Expecta/EXPBlockDefinedMatcher.h
deleted file mode 120000
index ebefa87b1..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPBlockDefinedMatcher.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPBlockDefinedMatcher.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPDefines.h b/Example/Pods/Headers/Public/Expecta/EXPDefines.h
deleted file mode 120000
index 22add0cdc..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPDefines.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPDefines.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPDoubleTuple.h b/Example/Pods/Headers/Public/Expecta/EXPDoubleTuple.h
deleted file mode 120000
index 54aa0b5e6..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPDoubleTuple.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPDoubleTuple.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPExpect.h b/Example/Pods/Headers/Public/Expecta/EXPExpect.h
deleted file mode 120000
index a677bddfc..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPExpect.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPExpect.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPFloatTuple.h b/Example/Pods/Headers/Public/Expecta/EXPFloatTuple.h
deleted file mode 120000
index 2b405694a..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPFloatTuple.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPFloatTuple.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatcher.h b/Example/Pods/Headers/Public/Expecta/EXPMatcher.h
deleted file mode 120000
index 3b20a122c..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatcher.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPMatcher.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatcherHelpers.h b/Example/Pods/Headers/Public/Expecta/EXPMatcherHelpers.h
deleted file mode 120000
index 697385b07..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatcherHelpers.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatcherHelpers.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beCloseTo.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beCloseTo.h
deleted file mode 120000
index 0eed377cb..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beCloseTo.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beFalsy.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beFalsy.h
deleted file mode 120000
index 92643c49a..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beFalsy.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThan.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThan.h
deleted file mode 120000
index 1ccc62b4a..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThan.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h
deleted file mode 120000
index db5bf966a..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beGreaterThanOrEqualTo.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beIdenticalTo.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beIdenticalTo.h
deleted file mode 120000
index 6e17ea43e..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beIdenticalTo.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beInTheRangeOf.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beInTheRangeOf.h
deleted file mode 120000
index 362d8a7f6..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beInTheRangeOf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beInstanceOf.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beInstanceOf.h
deleted file mode 120000
index 4dd60632f..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beInstanceOf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beKindOf.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beKindOf.h
deleted file mode 120000
index 113c7d372..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beKindOf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beLessThan.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beLessThan.h
deleted file mode 120000
index 675e86a56..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beLessThan.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beLessThanOrEqualTo.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beLessThanOrEqualTo.h
deleted file mode 120000
index c16df2f05..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beLessThanOrEqualTo.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beNil.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beNil.h
deleted file mode 120000
index 9f65a6c12..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beNil.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beNil.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beSubclassOf.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beSubclassOf.h
deleted file mode 120000
index 27aa7bea5..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beSubclassOf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beSupersetOf.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beSupersetOf.h
deleted file mode 120000
index ea3f770a1..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beSupersetOf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beTruthy.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beTruthy.h
deleted file mode 120000
index 192ac764e..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beTruthy.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beginWith.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+beginWith.h
deleted file mode 120000
index 2efba8fea..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+beginWith.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+beginWith.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+conformTo.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+conformTo.h
deleted file mode 120000
index 062fb51d7..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+conformTo.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+conformTo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+contain.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+contain.h
deleted file mode 120000
index 3661fe5f3..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+contain.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+contain.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+endWith.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+endWith.h
deleted file mode 120000
index 7e6c9cf1c..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+endWith.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+endWith.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+equal.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+equal.h
deleted file mode 120000
index 7bee78866..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+equal.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+equal.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+haveCountOf.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+haveCountOf.h
deleted file mode 120000
index f46d23adf..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+haveCountOf.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+match.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+match.h
deleted file mode 120000
index 18f995de6..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+match.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+match.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+postNotification.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+postNotification.h
deleted file mode 120000
index c9422e3e7..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+postNotification.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+postNotification.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+raise.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+raise.h
deleted file mode 120000
index 901e04c19..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+raise.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+raise.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+raiseWithReason.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+raiseWithReason.h
deleted file mode 120000
index 5b063b64e..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+raiseWithReason.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers+respondTo.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers+respondTo.h
deleted file mode 120000
index e7a5fad13..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers+respondTo.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers+respondTo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPMatchers.h b/Example/Pods/Headers/Public/Expecta/EXPMatchers.h
deleted file mode 120000
index a454dc408..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPMatchers.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Matchers/EXPMatchers.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/EXPUnsupportedObject.h b/Example/Pods/Headers/Public/Expecta/EXPUnsupportedObject.h
deleted file mode 120000
index 60fae89f1..000000000
--- a/Example/Pods/Headers/Public/Expecta/EXPUnsupportedObject.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/EXPUnsupportedObject.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/Expecta.h b/Example/Pods/Headers/Public/Expecta/Expecta.h
deleted file mode 120000
index 45ef877d8..000000000
--- a/Example/Pods/Headers/Public/Expecta/Expecta.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/Expecta.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/ExpectaObject.h b/Example/Pods/Headers/Public/Expecta/ExpectaObject.h
deleted file mode 120000
index 36a99e13b..000000000
--- a/Example/Pods/Headers/Public/Expecta/ExpectaObject.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/ExpectaObject.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/ExpectaSupport.h b/Example/Pods/Headers/Public/Expecta/ExpectaSupport.h
deleted file mode 120000
index c59d3fc60..000000000
--- a/Example/Pods/Headers/Public/Expecta/ExpectaSupport.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/ExpectaSupport.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/NSObject+Expecta.h b/Example/Pods/Headers/Public/Expecta/NSObject+Expecta.h
deleted file mode 120000
index 55c3635a6..000000000
--- a/Example/Pods/Headers/Public/Expecta/NSObject+Expecta.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/NSObject+Expecta.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Expecta/NSValue+Expecta.h b/Example/Pods/Headers/Public/Expecta/NSValue+Expecta.h
deleted file mode 120000
index ee557b848..000000000
--- a/Example/Pods/Headers/Public/Expecta/NSValue+Expecta.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Expecta/Expecta/NSValue+Expecta.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.h b/Example/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.h
deleted file mode 120000
index 2925eab14..000000000
--- a/Example/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCase.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/Example/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
deleted file mode 120000
index 6127a30c8..000000000
--- a/Example/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestController.h b/Example/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestController.h
deleted file mode 120000
index 4a7dea130..000000000
--- a/Example/Pods/Headers/Public/FBSnapshotTestCase/FBSnapshotTestController.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/FBSnapshotTestCase/UIImage+Compare.h b/Example/Pods/Headers/Public/FBSnapshotTestCase/UIImage+Compare.h
deleted file mode 120000
index a68eafb67..000000000
--- a/Example/Pods/Headers/Public/FBSnapshotTestCase/UIImage+Compare.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Compare.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/FBSnapshotTestCase/UIImage+Diff.h b/Example/Pods/Headers/Public/FBSnapshotTestCase/UIImage+Diff.h
deleted file mode 120000
index f21e64d33..000000000
--- a/Example/Pods/Headers/Public/FBSnapshotTestCase/UIImage+Diff.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../FBSnapshotTestCase/FBSnapshotTestCase/UIImage+Diff.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/SPTCallSite.h b/Example/Pods/Headers/Public/Specta/SPTCallSite.h
deleted file mode 120000
index dbb535a60..000000000
--- a/Example/Pods/Headers/Public/Specta/SPTCallSite.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTCallSite.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/SPTCompiledExample.h b/Example/Pods/Headers/Public/Specta/SPTCompiledExample.h
deleted file mode 120000
index 659770480..000000000
--- a/Example/Pods/Headers/Public/Specta/SPTCompiledExample.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTCompiledExample.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/SPTExample.h b/Example/Pods/Headers/Public/Specta/SPTExample.h
deleted file mode 120000
index 79a18d4c5..000000000
--- a/Example/Pods/Headers/Public/Specta/SPTExample.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTExample.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/SPTExampleGroup.h b/Example/Pods/Headers/Public/Specta/SPTExampleGroup.h
deleted file mode 120000
index 1effac57b..000000000
--- a/Example/Pods/Headers/Public/Specta/SPTExampleGroup.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTExampleGroup.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/SPTExcludeGlobalBeforeAfterEach.h b/Example/Pods/Headers/Public/Specta/SPTExcludeGlobalBeforeAfterEach.h
deleted file mode 120000
index 64df73423..000000000
--- a/Example/Pods/Headers/Public/Specta/SPTExcludeGlobalBeforeAfterEach.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/SPTGlobalBeforeAfterEach.h b/Example/Pods/Headers/Public/Specta/SPTGlobalBeforeAfterEach.h
deleted file mode 120000
index 7f83b65ff..000000000
--- a/Example/Pods/Headers/Public/Specta/SPTGlobalBeforeAfterEach.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/SPTSharedExampleGroups.h b/Example/Pods/Headers/Public/Specta/SPTSharedExampleGroups.h
deleted file mode 120000
index 579d360e6..000000000
--- a/Example/Pods/Headers/Public/Specta/SPTSharedExampleGroups.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTSharedExampleGroups.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/SPTSpec.h b/Example/Pods/Headers/Public/Specta/SPTSpec.h
deleted file mode 120000
index 3b1679ae8..000000000
--- a/Example/Pods/Headers/Public/Specta/SPTSpec.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTSpec.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/SPTTestSuite.h b/Example/Pods/Headers/Public/Specta/SPTTestSuite.h
deleted file mode 120000
index 2f607e468..000000000
--- a/Example/Pods/Headers/Public/Specta/SPTTestSuite.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SPTTestSuite.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/Specta.h b/Example/Pods/Headers/Public/Specta/Specta.h
deleted file mode 120000
index 111c968e9..000000000
--- a/Example/Pods/Headers/Public/Specta/Specta.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/Specta.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/SpectaDSL.h b/Example/Pods/Headers/Public/Specta/SpectaDSL.h
deleted file mode 120000
index fd1ad3756..000000000
--- a/Example/Pods/Headers/Public/Specta/SpectaDSL.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SpectaDSL.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/SpectaTypes.h b/Example/Pods/Headers/Public/Specta/SpectaTypes.h
deleted file mode 120000
index 9428b1324..000000000
--- a/Example/Pods/Headers/Public/Specta/SpectaTypes.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SpectaTypes.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/SpectaUtility.h b/Example/Pods/Headers/Public/Specta/SpectaUtility.h
deleted file mode 120000
index 576248091..000000000
--- a/Example/Pods/Headers/Public/Specta/SpectaUtility.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/SpectaUtility.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/XCTest+Private.h b/Example/Pods/Headers/Public/Specta/XCTest+Private.h
deleted file mode 120000
index bb4a8e026..000000000
--- a/Example/Pods/Headers/Public/Specta/XCTest+Private.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/XCTest+Private.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/Specta/XCTestCase+Specta.h b/Example/Pods/Headers/Public/Specta/XCTestCase+Specta.h
deleted file mode 120000
index 95f58cccd..000000000
--- a/Example/Pods/Headers/Public/Specta/XCTestCase+Specta.h
+++ /dev/null
@@ -1 +0,0 @@
-../../../Specta/Specta/Specta/XCTestCase+Specta.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeClient.h b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeClient.h
new file mode 120000
index 000000000..2bd449376
--- /dev/null
+++ b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeClient.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeClient.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeError.h b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeError.h
new file mode 120000
index 000000000..4c6252175
--- /dev/null
+++ b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeError.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeError.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeKit.h b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeKit.h
new file mode 120000
index 000000000..d16f6f871
--- /dev/null
+++ b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeKit.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeKit.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeLogger.h b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeLogger.h
new file mode 120000
index 000000000..0d47450a6
--- /dev/null
+++ b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeLogger.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeLogger.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeOperation.h b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeOperation.h
new file mode 120000
index 000000000..e8d6b951c
--- /dev/null
+++ b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeOperation.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeOperation.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeVideo.h b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeVideo.h
new file mode 120000
index 000000000..ee13de8b6
--- /dev/null
+++ b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeVideo.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeVideo.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeVideoOperation.h b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeVideoOperation.h
new file mode 120000
index 000000000..ac0730e71
--- /dev/null
+++ b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeVideoOperation.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeVideoOperation.h
\ No newline at end of file
diff --git a/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeVideoPlayerViewController.h b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeVideoPlayerViewController.h
new file mode 120000
index 000000000..0ac32058e
--- /dev/null
+++ b/Example/Pods/Headers/Public/XCDYouTubeKit/XCDYouTubeVideoPlayerViewController.h
@@ -0,0 +1 @@
+../../../XCDYouTubeKit/XCDYouTubeKit/XCDYouTubeVideoPlayerViewController.h
\ No newline at end of file
diff --git a/Example/Pods/Local Podspecs/MWPhotoBrowser.podspec.json b/Example/Pods/Local Podspecs/MWPhotoBrowser.podspec.json
index 2a29889a6..32b6776cd 100644
--- a/Example/Pods/Local Podspecs/MWPhotoBrowser.podspec.json
+++ b/Example/Pods/Local Podspecs/MWPhotoBrowser.podspec.json
@@ -40,14 +40,16 @@
"weak_frameworks": "Photos",
"dependencies": {
"MBProgressHUD": [
- "~> 0.9"
+
],
"DACircularProgress": [
"~> 2.3"
+ ],
+ "XCDYouTubeKit": [
+
],
"SDWebImage": [
- "~> 3.7",
- "!= 3.7.2"
+
]
}
}
diff --git a/Example/Pods/MBProgressHUD/LICENSE b/Example/Pods/MBProgressHUD/LICENSE
index 0e357d1bf..1c0d59bb8 100644
--- a/Example/Pods/MBProgressHUD/LICENSE
+++ b/Example/Pods/MBProgressHUD/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2009-2015 Matej Bukovinski
+Copyright © 2009-2016 Matej Bukovinski
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Example/Pods/MBProgressHUD/MBProgressHUD.h b/Example/Pods/MBProgressHUD/MBProgressHUD.h
index 40e71a9b2..a10744c0c 100644
--- a/Example/Pods/MBProgressHUD/MBProgressHUD.h
+++ b/Example/Pods/MBProgressHUD/MBProgressHUD.h
@@ -1,12 +1,12 @@
//
// MBProgressHUD.h
-// Version 0.9.2
+// Version 1.0.0
// Created by Matej Bukovinski on 2.4.09.
//
// This code is distributed under the terms and conditions of the MIT license.
-// Copyright (c) 2009-2015 Matej Bukovinski
+// Copyright © 2009-2016 Matej Bukovinski
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -30,90 +30,67 @@
#import
#import
+@class MBBackgroundView;
@protocol MBProgressHUDDelegate;
+extern CGFloat const MBProgressMaxOffset;
+
typedef NS_ENUM(NSInteger, MBProgressHUDMode) {
- /** Progress is shown using an UIActivityIndicatorView. This is the default. */
- MBProgressHUDModeIndeterminate,
- /** Progress is shown using a round, pie-chart like, progress view. */
- MBProgressHUDModeDeterminate,
- /** Progress is shown using a horizontal progress bar */
- MBProgressHUDModeDeterminateHorizontalBar,
- /** Progress is shown using a ring-shaped progress view. */
- MBProgressHUDModeAnnularDeterminate,
- /** Shows a custom view */
- MBProgressHUDModeCustomView,
- /** Shows only labels */
- MBProgressHUDModeText
+ /// UIActivityIndicatorView.
+ MBProgressHUDModeIndeterminate,
+ /// A round, pie-chart like, progress view.
+ MBProgressHUDModeDeterminate,
+ /// Horizontal progress bar.
+ MBProgressHUDModeDeterminateHorizontalBar,
+ /// Ring-shaped progress view.
+ MBProgressHUDModeAnnularDeterminate,
+ /// Shows a custom view.
+ MBProgressHUDModeCustomView,
+ /// Shows only labels.
+ MBProgressHUDModeText
};
typedef NS_ENUM(NSInteger, MBProgressHUDAnimation) {
- /** Opacity animation */
- MBProgressHUDAnimationFade,
- /** Opacity + scale animation */
- MBProgressHUDAnimationZoom,
- MBProgressHUDAnimationZoomOut = MBProgressHUDAnimationZoom,
- MBProgressHUDAnimationZoomIn
+ /// Opacity animation
+ MBProgressHUDAnimationFade,
+ /// Opacity + scale animation (zoom in when appearing zoom out when disappearing)
+ MBProgressHUDAnimationZoom,
+ /// Opacity + scale animation (zoom out style)
+ MBProgressHUDAnimationZoomOut,
+ /// Opacity + scale animation (zoom in style)
+ MBProgressHUDAnimationZoomIn
};
+typedef NS_ENUM(NSInteger, MBProgressHUDBackgroundStyle) {
+ /// Solid color background
+ MBProgressHUDBackgroundStyleSolidColor,
+ /// UIVisualEffectView or UIToolbar.layer background view
+ MBProgressHUDBackgroundStyleBlur
+};
-#ifndef MB_INSTANCETYPE
-#if __has_feature(objc_instancetype)
- #define MB_INSTANCETYPE instancetype
-#else
- #define MB_INSTANCETYPE id
-#endif
-#endif
-
-#ifndef MB_STRONG
-#if __has_feature(objc_arc)
- #define MB_STRONG strong
-#else
- #define MB_STRONG retain
-#endif
-#endif
-
-#ifndef MB_WEAK
-#if __has_feature(objc_arc_weak)
- #define MB_WEAK weak
-#elif __has_feature(objc_arc)
- #define MB_WEAK unsafe_unretained
-#else
- #define MB_WEAK assign
-#endif
-#endif
-
-#if NS_BLOCKS_AVAILABLE
typedef void (^MBProgressHUDCompletionBlock)();
-#endif
+
+
+NS_ASSUME_NONNULL_BEGIN
/**
* Displays a simple HUD window containing a progress indicator and two optional labels for short messages.
*
* This is a simple drop-in class for displaying a progress HUD view similar to Apple's private UIProgressHUD class.
- * The MBProgressHUD window spans over the entire space given to it by the initWithFrame constructor and catches all
- * user input on this region, thereby preventing the user operations on components below the view. The HUD itself is
- * drawn centered as a rounded semi-transparent view which resizes depending on the user specified content.
+ * The MBProgressHUD window spans over the entire space given to it by the initWithFrame: constructor and catches all
+ * user input on this region, thereby preventing the user operations on components below the view.
*
- * This view supports four modes of operation:
- * - MBProgressHUDModeIndeterminate - shows a UIActivityIndicatorView
- * - MBProgressHUDModeDeterminate - shows a custom round progress indicator
- * - MBProgressHUDModeAnnularDeterminate - shows a custom annular progress indicator
- * - MBProgressHUDModeCustomView - shows an arbitrary, user specified view (see `customView`)
- *
- * All three modes can have optional labels assigned:
- * - If the labelText property is set and non-empty then a label containing the provided content is placed below the
- * indicator view.
- * - If also the detailsLabelText property is set then another label is placed below the first label.
+ * @note To still allow touches to pass through the HUD, you can set hud.userInteractionEnabled = NO.
+ * @attention MBProgressHUD is a UI class and should therefore only be accessed on the main thread.
*/
@interface MBProgressHUD : UIView
/**
* Creates a new HUD, adds it to provided view and shows it. The counterpart to this method is hideHUDForView:animated:.
*
- * @note This method sets `removeFromSuperViewOnHide`. The HUD will automatically be removed from the view hierarchy when hidden.
+ * @note This method sets removeFromSuperViewOnHide. The HUD will automatically be removed from the view hierarchy when hidden.
*
* @param view The view that the HUD will be added to
* @param animated If set to YES the HUD will appear using the current animationType. If set to NO the HUD will not use
@@ -123,12 +100,14 @@ typedef void (^MBProgressHUDCompletionBlock)();
* @see hideHUDForView:animated:
* @see animationType
*/
-+ (MB_INSTANCETYPE)showHUDAddedTo:(UIView *)view animated:(BOOL)animated;
++ (instancetype)showHUDAddedTo:(UIView *)view animated:(BOOL)animated;
+
+/// @name Showing and hiding
/**
* Finds the top-most HUD subview and hides it. The counterpart to this method is showHUDAddedTo:animated:.
*
- * @note This method sets `removeFromSuperViewOnHide`. The HUD will automatically be removed from the view hierarchy when hidden.
+ * @note This method sets removeFromSuperViewOnHide. The HUD will automatically be removed from the view hierarchy when hidden.
*
* @param view The view that is going to be searched for a HUD subview.
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
@@ -140,69 +119,39 @@ typedef void (^MBProgressHUDCompletionBlock)();
*/
+ (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)animated;
-/**
- * Finds all the HUD subviews and hides them.
- *
- * @note This method sets `removeFromSuperViewOnHide`. The HUDs will automatically be removed from the view hierarchy when hidden.
- *
- * @param view The view that is going to be searched for HUD subviews.
- * @param animated If set to YES the HUDs will disappear using the current animationType. If set to NO the HUDs will not use
- * animations while disappearing.
- * @return the number of HUDs found and removed.
- *
- * @see hideHUDForView:animated:
- * @see animationType
- */
-+ (NSUInteger)hideAllHUDsForView:(UIView *)view animated:(BOOL)animated;
-
/**
* Finds the top-most HUD subview and returns it.
*
* @param view The view that is going to be searched.
* @return A reference to the last HUD subview discovered.
*/
-+ (MB_INSTANCETYPE)HUDForView:(UIView *)view;
-
-/**
- * Finds all HUD subviews and returns them.
- *
- * @param view The view that is going to be searched.
- * @return All found HUD views (array of MBProgressHUD objects).
- */
-+ (NSArray *)allHUDsForView:(UIView *)view;
-
-/**
- * A convenience constructor that initializes the HUD with the window's bounds. Calls the designated constructor with
- * window.bounds as the parameter.
- *
- * @param window The window instance that will provide the bounds for the HUD. Should be the same instance as
- * the HUD's superview (i.e., the window that the HUD will be added to).
- */
-- (id)initWithWindow:(UIWindow *)window;
++ (nullable MBProgressHUD *)HUDForView:(UIView *)view;
/**
* A convenience constructor that initializes the HUD with the view's bounds. Calls the designated constructor with
- * view.bounds as the parameter
+ * view.bounds as the parameter.
*
* @param view The view instance that will provide the bounds for the HUD. Should be the same instance as
* the HUD's superview (i.e., the view that the HUD will be added to).
*/
-- (id)initWithView:(UIView *)view;
+- (instancetype)initWithView:(UIView *)view;
/**
- * Display the HUD. You need to make sure that the main thread completes its run loop soon after this method call so
- * the user interface can be updated. Call this method when your task is already set-up to be executed in a new thread
- * (e.g., when using something like NSOperation or calling an asynchronous call like NSURLRequest).
+ * Displays the HUD.
+ *
+ * @note You need to make sure that the main thread completes its run loop soon after this method call so that
+ * the user interface can be updated. Call this method when your task is already set up to be executed in a new thread
+ * (e.g., when using something like NSOperation or making an asynchronous call like NSURLRequest).
*
* @param animated If set to YES the HUD will appear using the current animationType. If set to NO the HUD will not use
* animations while appearing.
*
* @see animationType
*/
-- (void)show:(BOOL)animated;
+- (void)showAnimated:(BOOL)animated;
/**
- * Hide the HUD. This still calls the hudWasHidden: delegate. This is the counterpart of the show: method. Use it to
+ * Hides the HUD. This still calls the hudWasHidden: delegate. This is the counterpart of the show: method. Use it to
* hide the HUD when your task completes.
*
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
@@ -210,10 +159,10 @@ typedef void (^MBProgressHUDCompletionBlock)();
*
* @see animationType
*/
-- (void)hide:(BOOL)animated;
+- (void)hideAnimated:(BOOL)animated;
/**
- * Hide the HUD after a delay. This still calls the hudWasHidden: delegate. This is the counterpart of the show: method. Use it to
+ * Hides the HUD after a delay. This still calls the hudWasHidden: delegate. This is the counterpart of the show: method. Use it to
* hide the HUD when your task completes.
*
* @param animated If set to YES the HUD will disappear using the current animationType. If set to NO the HUD will not use
@@ -222,228 +171,136 @@ typedef void (^MBProgressHUDCompletionBlock)();
*
* @see animationType
*/
-- (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay;
-
-/**
- * Shows the HUD while a background task is executing in a new thread, then hides the HUD.
- *
- * This method also takes care of autorelease pools so your method does not have to be concerned with setting up a
- * pool.
- *
- * @param method The method to be executed while the HUD is shown. This method will be executed in a new thread.
- * @param target The object that the target method belongs to.
- * @param object An optional object to be passed to the method.
- * @param animated If set to YES the HUD will (dis)appear using the current animationType. If set to NO the HUD will not use
- * animations while (dis)appearing.
- */
-- (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated;
-
-#if NS_BLOCKS_AVAILABLE
+- (void)hideAnimated:(BOOL)animated afterDelay:(NSTimeInterval)delay;
/**
- * Shows the HUD while a block is executing on a background queue, then hides the HUD.
- *
- * @see showAnimated:whileExecutingBlock:onQueue:completionBlock:
+ * The HUD delegate object. Receives HUD state notifications.
*/
-- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block;
+@property (weak, nonatomic) id delegate;
/**
- * Shows the HUD while a block is executing on a background queue, then hides the HUD.
- *
- * @see showAnimated:whileExecutingBlock:onQueue:completionBlock:
+ * Called after the HUD is hiden.
*/
-- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block completionBlock:(MBProgressHUDCompletionBlock)completion;
+@property (copy, nullable) MBProgressHUDCompletionBlock completionBlock;
-/**
- * Shows the HUD while a block is executing on the specified dispatch queue, then hides the HUD.
- *
- * @see showAnimated:whileExecutingBlock:onQueue:completionBlock:
+/*
+ * Grace period is the time (in seconds) that the invoked method may be run without
+ * showing the HUD. If the task finishes before the grace time runs out, the HUD will
+ * not be shown at all.
+ * This may be used to prevent HUD display for very short tasks.
+ * Defaults to 0 (no grace time).
*/
-- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue;
+@property (assign, nonatomic) NSTimeInterval graceTime;
-/**
- * Shows the HUD while a block is executing on the specified dispatch queue, executes completion block on the main queue, and then hides the HUD.
- *
- * @param animated If set to YES the HUD will (dis)appear using the current animationType. If set to NO the HUD will
- * not use animations while (dis)appearing.
- * @param block The block to be executed while the HUD is shown.
- * @param queue The dispatch queue on which the block should be executed.
- * @param completion The block to be executed on completion.
- *
- * @see completionBlock
+/**
+ * The minimum time (in seconds) that the HUD is shown.
+ * This avoids the problem of the HUD being shown and than instantly hidden.
+ * Defaults to 0 (no minimum show time).
*/
-- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue
- completionBlock:(MBProgressHUDCompletionBlock)completion;
+@property (assign, nonatomic) NSTimeInterval minShowTime;
/**
- * A block that gets called after the HUD was completely hidden.
+ * Removes the HUD from its parent view when hidden.
+ * Defaults to NO.
*/
-@property (copy) MBProgressHUDCompletionBlock completionBlock;
+@property (assign, nonatomic) BOOL removeFromSuperViewOnHide;
-#endif
+/// @name Appearance
/**
* MBProgressHUD operation mode. The default is MBProgressHUDModeIndeterminate.
- *
- * @see MBProgressHUDMode
*/
-@property (assign) MBProgressHUDMode mode;
+@property (assign, nonatomic) MBProgressHUDMode mode;
/**
- * The animation type that should be used when the HUD is shown and hidden.
- *
- * @see MBProgressHUDAnimation
+ * A color that gets forwarded to all labels and supported indicators. Also sets the tintColor
+ * for custom views on iOS 7+. Set to nil to manage color individually.
+ * Defaults to semi-translucent black on iOS 7 and later and white on earlier iOS versions.
*/
-@property (assign) MBProgressHUDAnimation animationType;
+@property (strong, nonatomic, nullable) UIColor *contentColor UI_APPEARANCE_SELECTOR;
/**
- * The UIView (e.g., a UIImageView) to be shown when the HUD is in MBProgressHUDModeCustomView.
- * For best results use a 37 by 37 pixel view (so the bounds match the built in indicator bounds).
- */
-@property (MB_STRONG) UIView *customView;
-
-/**
- * The HUD delegate object.
- *
- * @see MBProgressHUDDelegate
- */
-@property (MB_WEAK) id delegate;
-
-/**
- * An optional short message to be displayed below the activity indicator. The HUD is automatically resized to fit
- * the entire text. If the text is too long it will get clipped by displaying "..." at the end. If left unchanged or
- * set to @"", then no message is displayed.
+ * The animation type that should be used when the HUD is shown and hidden.
*/
-@property (copy) NSString *labelText;
-
-/**
- * An optional details message displayed below the labelText message. This message is displayed only if the labelText
- * property is also set and is different from an empty string (@""). The details text can span multiple lines.
- */
-@property (copy) NSString *detailsLabelText;
-
-/**
- * The opacity of the HUD window. Defaults to 0.8 (80% opacity).
- */
-@property (assign) float opacity;
+@property (assign, nonatomic) MBProgressHUDAnimation animationType UI_APPEARANCE_SELECTOR;
/**
- * The color of the HUD window. Defaults to black. If this property is set, color is set using
- * this UIColor and the opacity property is not used. using retain because performing copy on
- * UIColor base colors (like [UIColor greenColor]) cause problems with the copyZone.
- */
-@property (MB_STRONG) UIColor *color;
-
-/**
- * The x-axis offset of the HUD relative to the centre of the superview.
+ * The bezel offset relative to the center of the view. You can use MBProgressMaxOffset
+ * and -MBProgressMaxOffset to move the HUD all the way to the screen edge in each direction.
+ * E.g., CGPointMake(0.f, MBProgressMaxOffset) would position the HUD centered on the bottom edge.
*/
-@property (assign) float xOffset;
+@property (assign, nonatomic) CGPoint offset UI_APPEARANCE_SELECTOR;
-/**
- * The y-axis offset of the HUD relative to the centre of the superview.
+/**
+ * The amount of space between the HUD edge and the HUD elements (labels, indicators or custom views).
+ * This also represents the minimum bezel distance to the edge of the HUD view.
+ * Defaults to 20.f
*/
-@property (assign) float yOffset;
+@property (assign, nonatomic) CGFloat margin UI_APPEARANCE_SELECTOR;
/**
- * The amount of space between the HUD edge and the HUD elements (labels, indicators or custom views).
- * Defaults to 20.0
+ * The minimum size of the HUD bezel. Defaults to CGSizeZero (no minimum size).
*/
-@property (assign) float margin;
+@property (assign, nonatomic) CGSize minSize UI_APPEARANCE_SELECTOR;
/**
- * The corner radius for the HUD
- * Defaults to 10.0
+ * Force the HUD dimensions to be equal if possible.
*/
-@property (assign) float cornerRadius;
+@property (assign, nonatomic, getter = isSquare) BOOL square UI_APPEARANCE_SELECTOR;
-/**
- * Cover the HUD background view with a radial gradient.
+/**
+ * When enabled, the bezel center gets slightly affected by the device accelerometer data.
+ * Has no effect on iOS < 7.0. Defaults to YES.
*/
-@property (assign) BOOL dimBackground;
+@property (assign, nonatomic, getter=areDefaultMotionEffectsEnabled) BOOL defaultMotionEffectsEnabled UI_APPEARANCE_SELECTOR;
-/*
- * Grace period is the time (in seconds) that the invoked method may be run without
- * showing the HUD. If the task finishes before the grace time runs out, the HUD will
- * not be shown at all.
- * This may be used to prevent HUD display for very short tasks.
- * Defaults to 0 (no grace time).
- * Grace time functionality is only supported when the task status is known!
- * @see taskInProgress
- */
-@property (assign) float graceTime;
+/// @name Progress
/**
- * The minimum time (in seconds) that the HUD is shown.
- * This avoids the problem of the HUD being shown and than instantly hidden.
- * Defaults to 0 (no minimum show time).
+ * The progress of the progress indicator, from 0.0 to 1.0. Defaults to 0.0.
*/
-@property (assign) float minShowTime;
+@property (assign, nonatomic) float progress;
-/**
- * Indicates that the executed operation is in progress. Needed for correct graceTime operation.
- * If you don't set a graceTime (different than 0.0) this does nothing.
- * This property is automatically set when using showWhileExecuting:onTarget:withObject:animated:.
- * When threading is done outside of the HUD (i.e., when the show: and hide: methods are used directly),
- * you need to set this property when your task starts and completes in order to have normal graceTime
- * functionality.
- */
-@property (assign) BOOL taskInProgress;
+/// @name ProgressObject
/**
- * Removes the HUD from its parent view when hidden.
- * Defaults to NO.
+ * The NSProgress object feeding the progress information to the progress indicator.
*/
-@property (assign) BOOL removeFromSuperViewOnHide;
+@property (strong, nonatomic, nullable) NSProgress *progressObject;
-/**
- * Font to be used for the main label. Set this property if the default is not adequate.
- */
-@property (MB_STRONG) UIFont* labelFont;
+/// @name Views
/**
- * Color to be used for the main label. Set this property if the default is not adequate.
+ * The view containing the labels and indicator (or customView).
*/
-@property (MB_STRONG) UIColor* labelColor;
+@property (strong, nonatomic, readonly) MBBackgroundView *bezelView;
/**
- * Font to be used for the details label. Set this property if the default is not adequate.
- */
-@property (MB_STRONG) UIFont* detailsLabelFont;
-
-/**
- * Color to be used for the details label. Set this property if the default is not adequate.
+ * View covering the entire HUD area, placed behind bezelView.
*/
-@property (MB_STRONG) UIColor* detailsLabelColor;
+@property (strong, nonatomic, readonly) MBBackgroundView *backgroundView;
/**
- * The color of the activity indicator. Defaults to [UIColor whiteColor]
- * Does nothing on pre iOS 5.
- */
-@property (MB_STRONG) UIColor *activityIndicatorColor;
-
-/**
- * The progress of the progress indicator, from 0.0 to 1.0. Defaults to 0.0.
+ * The UIView (e.g., a UIImageView) to be shown when the HUD is in MBProgressHUDModeCustomView.
+ * The view should implement intrinsicContentSize for proper sizing. For best results use approximately 37 by 37 pixels.
*/
-@property (assign) float progress;
+@property (strong, nonatomic, nullable) UIView *customView;
/**
- * The minimum size of the HUD bezel. Defaults to CGSizeZero (no minimum size).
+ * A label that holds an optional short message to be displayed below the activity indicator. The HUD is automatically resized to fit
+ * the entire text.
*/
-@property (assign) CGSize minSize;
-
+@property (strong, nonatomic, readonly) UILabel *label;
/**
- * The actual size of the HUD bezel.
- * You can use this to limit touch handling on the bezel area only.
- * @see https://github.com/jdg/MBProgressHUD/pull/200
+ * A label that holds an optional details message displayed below the labelText message. The details text can span multiple lines.
*/
-@property (atomic, assign, readonly) CGSize size;
-
+@property (strong, nonatomic, readonly) UILabel *detailsLabel;
/**
- * Force the HUD dimensions to be equal if possible.
+ * A button that is placed below the labels. Visible only if a target / action is added.
*/
-@property (assign, getter = isSquare) BOOL square;
+@property (strong, nonatomic, readonly) UIButton *button;
@end
@@ -472,15 +329,16 @@ typedef void (^MBProgressHUDCompletionBlock)();
/**
* Indicator progress color.
- * Defaults to white [UIColor whiteColor]
+ * Defaults to white [UIColor whiteColor].
*/
-@property (nonatomic, MB_STRONG) UIColor *progressTintColor;
+@property (nonatomic, strong) UIColor *progressTintColor;
/**
- * Indicator background (non-progress) color.
- * Defaults to translucent white (alpha 0.1)
+ * Indicator background (non-progress) color.
+ * Only applicable on iOS versions older than iOS 7.
+ * Defaults to translucent white (alpha 0.1).
*/
-@property (nonatomic, MB_STRONG) UIColor *backgroundTintColor;
+@property (nonatomic, strong) UIColor *backgroundTintColor;
/*
* Display mode - NO = round or YES = annular. Defaults to round.
@@ -504,18 +362,74 @@ typedef void (^MBProgressHUDCompletionBlock)();
* Bar border line color.
* Defaults to white [UIColor whiteColor].
*/
-@property (nonatomic, MB_STRONG) UIColor *lineColor;
+@property (nonatomic, strong) UIColor *lineColor;
/**
* Bar background color.
* Defaults to clear [UIColor clearColor];
*/
-@property (nonatomic, MB_STRONG) UIColor *progressRemainingColor;
+@property (nonatomic, strong) UIColor *progressRemainingColor;
/**
* Bar progress color.
* Defaults to white [UIColor whiteColor].
*/
-@property (nonatomic, MB_STRONG) UIColor *progressColor;
+@property (nonatomic, strong) UIColor *progressColor;
@end
+
+
+@interface MBBackgroundView : UIView
+
+/**
+ * The background style.
+ * Defaults to MBProgressHUDBackgroundStyleBlur on iOS 7 or later and MBProgressHUDBackgroundStyleSolidColor otherwise.
+ * @note Due to iOS 7 not supporting UIVisualEffectView, the blur effect differs slightly between iOS 7 and later versions.
+ */
+@property (nonatomic) MBProgressHUDBackgroundStyle style;
+
+/**
+ * The background color or the blur tint color.
+ * @note Due to iOS 7 not supporting UIVisualEffectView, the blur effect differs slightly between iOS 7 and later versions.
+ */
+@property (nonatomic, strong) UIColor *color;
+
+@end
+
+@interface MBProgressHUD (Deprecated)
+
++ (NSArray *)allHUDsForView:(UIView *)view __attribute__((deprecated("Store references when using more than one HUD per view.")));
++ (NSUInteger)hideAllHUDsForView:(UIView *)view animated:(BOOL)animated __attribute__((deprecated("Store references when using more than one HUD per view.")));
+
+- (id)initWithWindow:(UIWindow *)window __attribute__((deprecated("Use initWithView: instead.")));
+
+- (void)show:(BOOL)animated __attribute__((deprecated("Use showAnimated: instead.")));
+- (void)hide:(BOOL)animated __attribute__((deprecated("Use hideAnimated: instead.")));
+- (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay __attribute__((deprecated("Use hideAnimated:afterDelay: instead.")));
+
+- (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated __attribute__((deprecated("Use GCD directly.")));
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block __attribute__((deprecated("Use GCD directly.")));
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block completionBlock:(nullable MBProgressHUDCompletionBlock)completion __attribute__((deprecated("Use GCD directly.")));
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue __attribute__((deprecated("Use GCD directly.")));
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue
+ completionBlock:(nullable MBProgressHUDCompletionBlock)completion __attribute__((deprecated("Use GCD directly.")));
+@property (assign) BOOL taskInProgress __attribute__((deprecated("No longer needed.")));
+
+@property (nonatomic, copy) NSString *labelText __attribute__((deprecated("Use label.text instead.")));
+@property (nonatomic, strong) UIFont *labelFont __attribute__((deprecated("Use label.font instead.")));
+@property (nonatomic, strong) UIColor *labelColor __attribute__((deprecated("Use label.textColor instead.")));
+@property (nonatomic, copy) NSString *detailsLabelText __attribute__((deprecated("Use detailsLabel.text instead.")));
+@property (nonatomic, strong) UIFont *detailsLabelFont __attribute__((deprecated("Use detailsLabel.font instead.")));
+@property (nonatomic, strong) UIColor *detailsLabelColor __attribute__((deprecated("Use detailsLabel.textColor instead.")));
+@property (assign, nonatomic) CGFloat opacity __attribute__((deprecated("Customize bezelView properties instead.")));
+@property (strong, nonatomic) UIColor *color __attribute__((deprecated("Customize the bezelView color instead.")));
+@property (assign, nonatomic) CGFloat xOffset __attribute__((deprecated("Set offset.x instead.")));
+@property (assign, nonatomic) CGFloat yOffset __attribute__((deprecated("Set offset.y instead.")));
+@property (assign, nonatomic) CGFloat cornerRadius __attribute__((deprecated("Set bezelView.layer.cornerRadius instead.")));
+@property (assign, nonatomic) BOOL dimBackground __attribute__((deprecated("Customize HUD background properties instead.")));
+@property (strong, nonatomic) UIColor *activityIndicatorColor __attribute__((deprecated("Use UIAppearance to customize UIActivityIndicatorView. E.g.: [UIActivityIndicatorView appearanceWhenContainedIn:[MBProgressHUD class], nil].color = [UIColor redColor];")));
+@property (atomic, assign, readonly) CGSize size __attribute__((deprecated("Get the bezelView.frame.size instead.")));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/Example/Pods/MBProgressHUD/MBProgressHUD.m b/Example/Pods/MBProgressHUD/MBProgressHUD.m
index bf5f7fff1..a94f9217a 100644
--- a/Example/Pods/MBProgressHUD/MBProgressHUD.m
+++ b/Example/Pods/MBProgressHUD/MBProgressHUD.m
@@ -1,6 +1,6 @@
//
// MBProgressHUD.m
-// Version 0.9.2
+// Version 1.0.0
// Created by Matej Bukovinski on 2.4.09.
//
@@ -8,293 +8,193 @@
#import
-#if __has_feature(objc_arc)
- #define MB_AUTORELEASE(exp) exp
- #define MB_RELEASE(exp) exp
- #define MB_RETAIN(exp) exp
-#else
- #define MB_AUTORELEASE(exp) [exp autorelease]
- #define MB_RELEASE(exp) [exp release]
- #define MB_RETAIN(exp) [exp retain]
-#endif
-
-#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
- #define MBLabelAlignmentCenter NSTextAlignmentCenter
-#else
- #define MBLabelAlignmentCenter UITextAlignmentCenter
-#endif
-
-#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000
- #define MB_TEXTSIZE(text, font) [text length] > 0 ? [text \
- sizeWithAttributes:@{NSFontAttributeName:font}] : CGSizeZero;
-#else
- #define MB_TEXTSIZE(text, font) [text length] > 0 ? [text sizeWithFont:font] : CGSizeZero;
-#endif
-
-#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 70000
- #define MB_MULTILINE_TEXTSIZE(text, font, maxSize, mode) [text length] > 0 ? [text \
- boundingRectWithSize:maxSize options:(NSStringDrawingUsesLineFragmentOrigin) \
- attributes:@{NSFontAttributeName:font} context:nil].size : CGSizeZero;
-#else
- #define MB_MULTILINE_TEXTSIZE(text, font, maxSize, mode) [text length] > 0 ? [text \
- sizeWithFont:font constrainedToSize:maxSize lineBreakMode:mode] : CGSizeZero;
-#endif
-
#ifndef kCFCoreFoundationVersionNumber_iOS_7_0
- #define kCFCoreFoundationVersionNumber_iOS_7_0 847.20
+ #define kCFCoreFoundationVersionNumber_iOS_7_0 847.20
#endif
#ifndef kCFCoreFoundationVersionNumber_iOS_8_0
- #define kCFCoreFoundationVersionNumber_iOS_8_0 1129.15
+ #define kCFCoreFoundationVersionNumber_iOS_8_0 1129.15
#endif
+#define MBMainThreadAssert() NSAssert([NSThread isMainThread], @"MBProgressHUD needs to be accessed on the main thread.");
-static const CGFloat kPadding = 4.f;
-static const CGFloat kLabelFontSize = 16.f;
-static const CGFloat kDetailsLabelFontSize = 12.f;
+CGFloat const MBProgressMaxOffset = 1000000.f;
+
+static const CGFloat MBDefaultPadding = 4.f;
+static const CGFloat MBDefaultLabelFontSize = 16.f;
+static const CGFloat MBDefaultDetailsLabelFontSize = 12.f;
@interface MBProgressHUD () {
- BOOL useAnimation;
- SEL methodForExecution;
- id targetForExecution;
- id objectForExecution;
- UILabel *label;
- UILabel *detailsLabel;
- BOOL isFinished;
- CGAffineTransform rotationTransform;
+ // Deprecated
+ UIColor *_activityIndicatorColor;
+ CGFloat _opacity;
}
-@property (atomic, MB_STRONG) UIView *indicator;
-@property (atomic, MB_STRONG) NSTimer *graceTimer;
-@property (atomic, MB_STRONG) NSTimer *minShowTimer;
-@property (atomic, MB_STRONG) NSDate *showStarted;
+@property (nonatomic, assign) BOOL useAnimation;
+@property (nonatomic, assign, getter=hasFinished) BOOL finished;
+@property (nonatomic, strong) UIView *indicator;
+@property (nonatomic, strong) NSDate *showStarted;
+@property (nonatomic, strong) NSArray *paddingConstraints;
+@property (nonatomic, strong) NSArray *bezelConstraints;
+@property (nonatomic, strong) UIView *topSpacer;
+@property (nonatomic, strong) UIView *bottomSpacer;
+@property (nonatomic, weak) NSTimer *graceTimer;
+@property (nonatomic, weak) NSTimer *minShowTimer;
+@property (nonatomic, weak) NSTimer *hideDelayTimer;
+@property (nonatomic, weak) CADisplayLink *progressObjectDisplayLink;
+
+// Deprecated
+@property (assign) BOOL taskInProgress;
@end
-@implementation MBProgressHUD
+@interface MBProgressHUDRoundedButton : UIButton
+@end
-#pragma mark - Properties
-@synthesize animationType;
-@synthesize delegate;
-@synthesize opacity;
-@synthesize color;
-@synthesize labelFont;
-@synthesize labelColor;
-@synthesize detailsLabelFont;
-@synthesize detailsLabelColor;
-@synthesize indicator;
-@synthesize xOffset;
-@synthesize yOffset;
-@synthesize minSize;
-@synthesize square;
-@synthesize margin;
-@synthesize dimBackground;
-@synthesize graceTime;
-@synthesize minShowTime;
-@synthesize graceTimer;
-@synthesize minShowTimer;
-@synthesize taskInProgress;
-@synthesize removeFromSuperViewOnHide;
-@synthesize customView;
-@synthesize showStarted;
-@synthesize mode;
-@synthesize labelText;
-@synthesize detailsLabelText;
-@synthesize progress;
-@synthesize size;
-@synthesize activityIndicatorColor;
-#if NS_BLOCKS_AVAILABLE
-@synthesize completionBlock;
-#endif
+@implementation MBProgressHUD
#pragma mark - Class methods
-+ (MB_INSTANCETYPE)showHUDAddedTo:(UIView *)view animated:(BOOL)animated {
- MBProgressHUD *hud = [[self alloc] initWithView:view];
- hud.removeFromSuperViewOnHide = YES;
- [view addSubview:hud];
- [hud show:animated];
- return MB_AUTORELEASE(hud);
++ (instancetype)showHUDAddedTo:(UIView *)view animated:(BOOL)animated {
+ MBProgressHUD *hud = [[self alloc] initWithView:view];
+ hud.removeFromSuperViewOnHide = YES;
+ [view addSubview:hud];
+ [hud showAnimated:animated];
+ return hud;
}
+ (BOOL)hideHUDForView:(UIView *)view animated:(BOOL)animated {
- MBProgressHUD *hud = [self HUDForView:view];
- if (hud != nil) {
- hud.removeFromSuperViewOnHide = YES;
- [hud hide:animated];
- return YES;
- }
- return NO;
+ MBProgressHUD *hud = [self HUDForView:view];
+ if (hud != nil) {
+ hud.removeFromSuperViewOnHide = YES;
+ [hud hideAnimated:animated];
+ return YES;
+ }
+ return NO;
}
-+ (NSUInteger)hideAllHUDsForView:(UIView *)view animated:(BOOL)animated {
- NSArray *huds = [MBProgressHUD allHUDsForView:view];
- for (MBProgressHUD *hud in huds) {
- hud.removeFromSuperViewOnHide = YES;
- [hud hide:animated];
- }
- return [huds count];
++ (MBProgressHUD *)HUDForView:(UIView *)view {
+ NSEnumerator *subviewsEnum = [view.subviews reverseObjectEnumerator];
+ for (UIView *subview in subviewsEnum) {
+ if ([subview isKindOfClass:self]) {
+ return (MBProgressHUD *)subview;
+ }
+ }
+ return nil;
}
-+ (MB_INSTANCETYPE)HUDForView:(UIView *)view {
- NSEnumerator *subviewsEnum = [view.subviews reverseObjectEnumerator];
- for (UIView *subview in subviewsEnum) {
- if ([subview isKindOfClass:self]) {
- return (MBProgressHUD *)subview;
- }
- }
- return nil;
-}
+#pragma mark - Lifecycle
-+ (NSArray *)allHUDsForView:(UIView *)view {
- NSMutableArray *huds = [NSMutableArray array];
- NSArray *subviews = view.subviews;
- for (UIView *aView in subviews) {
- if ([aView isKindOfClass:self]) {
- [huds addObject:aView];
- }
- }
- return [NSArray arrayWithArray:huds];
+- (void)commonInit {
+ // Set default values for properties
+ _animationType = MBProgressHUDAnimationFade;
+ _mode = MBProgressHUDModeIndeterminate;
+ _margin = 20.0f;
+ _opacity = 1.f;
+ _defaultMotionEffectsEnabled = YES;
+
+ // Default color, depending on the current iOS version
+ BOOL isLegacy = kCFCoreFoundationVersionNumber < kCFCoreFoundationVersionNumber_iOS_7_0;
+ _contentColor = isLegacy ? [UIColor whiteColor] : [UIColor colorWithWhite:0.f alpha:0.7f];
+ // Transparent background
+ self.opaque = NO;
+ self.backgroundColor = [UIColor clearColor];
+ // Make it invisible for now
+ self.alpha = 0.0f;
+ self.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
+ self.layer.allowsGroupOpacity = NO;
+
+ [self setupViews];
+ [self updateIndicators];
+ [self registerForNotifications];
}
-#pragma mark - Lifecycle
-
-- (id)initWithFrame:(CGRect)frame {
- self = [super initWithFrame:frame];
- if (self) {
- // Set default values for properties
- self.animationType = MBProgressHUDAnimationFade;
- self.mode = MBProgressHUDModeIndeterminate;
- self.labelText = nil;
- self.detailsLabelText = nil;
- self.opacity = 0.8f;
- self.color = nil;
- self.labelFont = [UIFont boldSystemFontOfSize:kLabelFontSize];
- self.labelColor = [UIColor whiteColor];
- self.detailsLabelFont = [UIFont boldSystemFontOfSize:kDetailsLabelFontSize];
- self.detailsLabelColor = [UIColor whiteColor];
- self.activityIndicatorColor = [UIColor whiteColor];
- self.xOffset = 0.0f;
- self.yOffset = 0.0f;
- self.dimBackground = NO;
- self.margin = 20.0f;
- self.cornerRadius = 10.0f;
- self.graceTime = 0.0f;
- self.minShowTime = 0.0f;
- self.removeFromSuperViewOnHide = NO;
- self.minSize = CGSizeZero;
- self.square = NO;
- self.contentMode = UIViewContentModeCenter;
- self.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin
- | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
-
- // Transparent background
- self.opaque = NO;
- self.backgroundColor = [UIColor clearColor];
- // Make it invisible for now
- self.alpha = 0.0f;
-
- taskInProgress = NO;
- rotationTransform = CGAffineTransformIdentity;
-
- [self setupLabels];
- [self updateIndicators];
- [self registerForKVO];
- [self registerForNotifications];
- }
- return self;
+- (instancetype)initWithFrame:(CGRect)frame {
+ if ((self = [super initWithFrame:frame])) {
+ [self commonInit];
+ }
+ return self;
}
-- (id)initWithView:(UIView *)view {
- NSAssert(view, @"View must not be nil.");
- return [self initWithFrame:view.bounds];
+- (instancetype)initWithCoder:(NSCoder *)aDecoder {
+ if ((self = [super initWithCoder:aDecoder])) {
+ [self commonInit];
+ }
+ return self;
}
-- (id)initWithWindow:(UIWindow *)window {
- return [self initWithView:window];
+- (id)initWithView:(UIView *)view {
+ NSAssert(view, @"View must not be nil.");
+ return [self initWithFrame:view.bounds];
}
- (void)dealloc {
- [self unregisterFromNotifications];
- [self unregisterFromKVO];
-#if !__has_feature(objc_arc)
- [color release];
- [indicator release];
- [label release];
- [detailsLabel release];
- [labelText release];
- [detailsLabelText release];
- [graceTimer release];
- [minShowTimer release];
- [showStarted release];
- [customView release];
- [labelFont release];
- [labelColor release];
- [detailsLabelFont release];
- [detailsLabelColor release];
-#if NS_BLOCKS_AVAILABLE
- [completionBlock release];
-#endif
- [super dealloc];
-#endif
+ [self unregisterFromNotifications];
}
#pragma mark - Show & hide
-- (void)show:(BOOL)animated {
- NSAssert([NSThread isMainThread], @"MBProgressHUD needs to be accessed on the main thread.");
- useAnimation = animated;
- // If the grace time is set postpone the HUD display
- if (self.graceTime > 0.0) {
- NSTimer *newGraceTimer = [NSTimer timerWithTimeInterval:self.graceTime target:self selector:@selector(handleGraceTimer:) userInfo:nil repeats:NO];
- [[NSRunLoop currentRunLoop] addTimer:newGraceTimer forMode:NSRunLoopCommonModes];
- self.graceTimer = newGraceTimer;
- }
- // ... otherwise show the HUD imediately
- else {
- [self showUsingAnimation:useAnimation];
- }
-}
-
-- (void)hide:(BOOL)animated {
- NSAssert([NSThread isMainThread], @"MBProgressHUD needs to be accessed on the main thread.");
- useAnimation = animated;
- // If the minShow time is set, calculate how long the hud was shown,
- // and pospone the hiding operation if necessary
- if (self.minShowTime > 0.0 && showStarted) {
- NSTimeInterval interv = [[NSDate date] timeIntervalSinceDate:showStarted];
- if (interv < self.minShowTime) {
- self.minShowTimer = [NSTimer scheduledTimerWithTimeInterval:(self.minShowTime - interv) target:self
- selector:@selector(handleMinShowTimer:) userInfo:nil repeats:NO];
- return;
- }
- }
- // ... otherwise hide the HUD immediately
- [self hideUsingAnimation:useAnimation];
+- (void)showAnimated:(BOOL)animated {
+ MBMainThreadAssert();
+ [self.minShowTimer invalidate];
+ self.useAnimation = animated;
+ self.finished = NO;
+ // If the grace time is set, postpone the HUD display
+ if (self.graceTime > 0.0) {
+ NSTimer *timer = [NSTimer timerWithTimeInterval:self.graceTime target:self selector:@selector(handleGraceTimer:) userInfo:nil repeats:NO];
+ [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
+ self.graceTimer = timer;
+ }
+ // ... otherwise show the HUD immediately
+ else {
+ [self showUsingAnimation:self.useAnimation];
+ }
}
-- (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay {
- [self performSelector:@selector(hideDelayed:) withObject:[NSNumber numberWithBool:animated] afterDelay:delay];
+- (void)hideAnimated:(BOOL)animated {
+ MBMainThreadAssert();
+ [self.graceTimer invalidate];
+ self.useAnimation = animated;
+ self.finished = YES;
+ // If the minShow time is set, calculate how long the HUD was shown,
+ // and postpone the hiding operation if necessary
+ if (self.minShowTime > 0.0 && self.showStarted) {
+ NSTimeInterval interv = [[NSDate date] timeIntervalSinceDate:self.showStarted];
+ if (interv < self.minShowTime) {
+ NSTimer *timer = [NSTimer timerWithTimeInterval:(self.minShowTime - interv) target:self selector:@selector(handleMinShowTimer:) userInfo:nil repeats:NO];
+ [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
+ self.minShowTimer = timer;
+ return;
+ }
+ }
+ // ... otherwise hide the HUD immediately
+ [self hideUsingAnimation:self.useAnimation];
}
-- (void)hideDelayed:(NSNumber *)animated {
- [self hide:[animated boolValue]];
+- (void)hideAnimated:(BOOL)animated afterDelay:(NSTimeInterval)delay {
+ NSTimer *timer = [NSTimer timerWithTimeInterval:delay target:self selector:@selector(handleHideTimer:) userInfo:@(animated) repeats:NO];
+ [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
+ self.hideDelayTimer = timer;
}
#pragma mark - Timer callbacks
- (void)handleGraceTimer:(NSTimer *)theTimer {
- // Show the HUD only if the task is still running
- if (taskInProgress) {
- [self showUsingAnimation:useAnimation];
- }
+ // Show the HUD only if the task is still running
+ if (!self.hasFinished) {
+ [self showUsingAnimation:self.useAnimation];
+ }
}
- (void)handleMinShowTimer:(NSTimer *)theTimer {
- [self hideUsingAnimation:useAnimation];
+ [self hideUsingAnimation:self.useAnimation];
+}
+
+- (void)handleHideTimer:(NSTimer *)timer {
+ [self hideAnimated:[timer.userInfo boolValue]];
}
#pragma mark - View Hierrarchy
@@ -306,440 +206,578 @@ - (void)didMoveToSuperview {
#pragma mark - Internal show & hide operations
- (void)showUsingAnimation:(BOOL)animated {
+ // Cancel any previous animations
+ [self.bezelView.layer removeAllAnimations];
+ [self.backgroundView.layer removeAllAnimations];
+
// Cancel any scheduled hideDelayed: calls
- [NSObject cancelPreviousPerformRequestsWithTarget:self];
- [self setNeedsDisplay];
-
- if (animated && animationType == MBProgressHUDAnimationZoomIn) {
- self.transform = CGAffineTransformConcat(rotationTransform, CGAffineTransformMakeScale(0.5f, 0.5f));
- } else if (animated && animationType == MBProgressHUDAnimationZoomOut) {
- self.transform = CGAffineTransformConcat(rotationTransform, CGAffineTransformMakeScale(1.5f, 1.5f));
- }
- self.showStarted = [NSDate date];
- // Fade in
- if (animated) {
- [UIView beginAnimations:nil context:NULL];
- [UIView setAnimationDuration:0.30];
- self.alpha = 1.0f;
- if (animationType == MBProgressHUDAnimationZoomIn || animationType == MBProgressHUDAnimationZoomOut) {
- self.transform = rotationTransform;
- }
- [UIView commitAnimations];
- }
- else {
- self.alpha = 1.0f;
- }
+ [self.hideDelayTimer invalidate];
+
+ self.showStarted = [NSDate date];
+ self.alpha = 1.f;
+
+ // Needed in case we hide and re-show with the same NSProgress object attached.
+ [self setNSProgressDisplayLinkEnabled:YES];
+
+ if (animated) {
+ [self animateIn:YES withType:self.animationType completion:NULL];
+ } else {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ self.bezelView.alpha = self.opacity;
+#pragma clang diagnostic pop
+ self.backgroundView.alpha = 1.f;
+ }
}
- (void)hideUsingAnimation:(BOOL)animated {
- // Fade out
- if (animated && showStarted) {
- [UIView beginAnimations:nil context:NULL];
- [UIView setAnimationDuration:0.30];
- [UIView setAnimationDelegate:self];
- [UIView setAnimationDidStopSelector:@selector(animationFinished:finished:context:)];
- // 0.02 prevents the hud from passing through touches during the animation the hud will get completely hidden
- // in the done method
- if (animationType == MBProgressHUDAnimationZoomIn) {
- self.transform = CGAffineTransformConcat(rotationTransform, CGAffineTransformMakeScale(1.5f, 1.5f));
- } else if (animationType == MBProgressHUDAnimationZoomOut) {
- self.transform = CGAffineTransformConcat(rotationTransform, CGAffineTransformMakeScale(0.5f, 0.5f));
- }
-
- self.alpha = 0.02f;
- [UIView commitAnimations];
- }
- else {
- self.alpha = 0.0f;
- [self done];
- }
- self.showStarted = nil;
-}
-
-- (void)animationFinished:(NSString *)animationID finished:(BOOL)finished context:(void*)context {
- [self done];
+ if (animated && self.showStarted) {
+ self.showStarted = nil;
+ [self animateIn:NO withType:self.animationType completion:^(BOOL finished) {
+ [self done];
+ }];
+ } else {
+ self.showStarted = nil;
+ self.bezelView.alpha = 0.f;
+ self.backgroundView.alpha = 1.f;
+ [self done];
+ }
+}
+
+- (void)animateIn:(BOOL)animatingIn withType:(MBProgressHUDAnimation)type completion:(void(^)(BOOL finished))completion {
+ // Automatically determine the correct zoom animation type
+ if (type == MBProgressHUDAnimationZoom) {
+ type = animatingIn ? MBProgressHUDAnimationZoomIn : MBProgressHUDAnimationZoomOut;
+ }
+
+ CGAffineTransform small = CGAffineTransformMakeScale(0.5f, 0.5f);
+ CGAffineTransform large = CGAffineTransformMakeScale(1.5f, 1.5f);
+
+ // Set starting state
+ UIView *bezelView = self.bezelView;
+ if (animatingIn && bezelView.alpha == 0.f && type == MBProgressHUDAnimationZoomIn) {
+ bezelView.transform = small;
+ } else if (animatingIn && bezelView.alpha == 0.f && type == MBProgressHUDAnimationZoomOut) {
+ bezelView.transform = large;
+ }
+
+ // Perform animations
+ dispatch_block_t animations = ^{
+ if (animatingIn) {
+ bezelView.transform = CGAffineTransformIdentity;
+ } else if (!animatingIn && type == MBProgressHUDAnimationZoomIn) {
+ bezelView.transform = large;
+ } else if (!animatingIn && type == MBProgressHUDAnimationZoomOut) {
+ bezelView.transform = small;
+ }
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ bezelView.alpha = animatingIn ? self.opacity : 0.f;
+#pragma clang diagnostic pop
+ self.backgroundView.alpha = animatingIn ? 1.f : 0.f;
+ };
+
+ // Spring animations are nicer, but only available on iOS 7+
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 || TARGET_OS_TV
+ if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_7_0) {
+ [UIView animateWithDuration:0.3 delay:0. usingSpringWithDamping:1.f initialSpringVelocity:0.f options:UIViewAnimationOptionBeginFromCurrentState animations:animations completion:completion];
+ return;
+ }
+#endif
+ [UIView animateWithDuration:0.3 delay:0. options:UIViewAnimationOptionBeginFromCurrentState animations:animations completion:completion];
}
- (void)done {
- [NSObject cancelPreviousPerformRequestsWithTarget:self];
- isFinished = YES;
- self.alpha = 0.0f;
- if (removeFromSuperViewOnHide) {
- [self removeFromSuperview];
- }
-#if NS_BLOCKS_AVAILABLE
- if (self.completionBlock) {
- self.completionBlock();
- self.completionBlock = NULL;
- }
+ // Cancel any scheduled hideDelayed: calls
+ [self.hideDelayTimer invalidate];
+ [self setNSProgressDisplayLinkEnabled:NO];
+
+ if (self.hasFinished) {
+ self.alpha = 0.0f;
+ if (self.removeFromSuperViewOnHide) {
+ [self removeFromSuperview];
+ }
+ }
+ MBProgressHUDCompletionBlock completionBlock = self.completionBlock;
+ if (completionBlock) {
+ completionBlock();
+ }
+ id delegate = self.delegate;
+ if ([delegate respondsToSelector:@selector(hudWasHidden:)]) {
+ [delegate performSelector:@selector(hudWasHidden:) withObject:self];
+ }
+}
+
+#pragma mark - UI
+
+- (void)setupViews {
+ UIColor *defaultColor = self.contentColor;
+
+ MBBackgroundView *backgroundView = [[MBBackgroundView alloc] initWithFrame:self.bounds];
+ backgroundView.style = MBProgressHUDBackgroundStyleSolidColor;
+ backgroundView.backgroundColor = [UIColor clearColor];
+ backgroundView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
+ backgroundView.alpha = 0.f;
+ [self addSubview:backgroundView];
+ _backgroundView = backgroundView;
+
+ MBBackgroundView *bezelView = [MBBackgroundView new];
+ bezelView.translatesAutoresizingMaskIntoConstraints = NO;
+ bezelView.layer.cornerRadius = 5.f;
+ bezelView.alpha = 0.f;
+ [self addSubview:bezelView];
+ _bezelView = bezelView;
+ [self updateBezelMotionEffects];
+
+ UILabel *label = [UILabel new];
+ label.adjustsFontSizeToFitWidth = NO;
+ label.textAlignment = NSTextAlignmentCenter;
+ label.textColor = defaultColor;
+ label.font = [UIFont boldSystemFontOfSize:MBDefaultLabelFontSize];
+ label.opaque = NO;
+ label.backgroundColor = [UIColor clearColor];
+ _label = label;
+
+ UILabel *detailsLabel = [UILabel new];
+ detailsLabel.adjustsFontSizeToFitWidth = NO;
+ detailsLabel.textAlignment = NSTextAlignmentCenter;
+ detailsLabel.textColor = defaultColor;
+ detailsLabel.numberOfLines = 0;
+ detailsLabel.font = [UIFont boldSystemFontOfSize:MBDefaultDetailsLabelFontSize];
+ detailsLabel.opaque = NO;
+ detailsLabel.backgroundColor = [UIColor clearColor];
+ _detailsLabel = detailsLabel;
+
+ UIButton *button = [MBProgressHUDRoundedButton buttonWithType:UIButtonTypeCustom];
+ button.titleLabel.textAlignment = NSTextAlignmentCenter;
+ button.titleLabel.font = [UIFont boldSystemFontOfSize:MBDefaultDetailsLabelFontSize];
+ [button setTitleColor:defaultColor forState:UIControlStateNormal];
+ _button = button;
+
+ for (UIView *view in @[label, detailsLabel, button]) {
+ view.translatesAutoresizingMaskIntoConstraints = NO;
+ [view setContentCompressionResistancePriority:998.f forAxis:UILayoutConstraintAxisHorizontal];
+ [view setContentCompressionResistancePriority:998.f forAxis:UILayoutConstraintAxisVertical];
+ [bezelView addSubview:view];
+ }
+
+ UIView *topSpacer = [UIView new];
+ topSpacer.translatesAutoresizingMaskIntoConstraints = NO;
+ topSpacer.hidden = YES;
+ [bezelView addSubview:topSpacer];
+ _topSpacer = topSpacer;
+
+ UIView *bottomSpacer = [UIView new];
+ bottomSpacer.translatesAutoresizingMaskIntoConstraints = NO;
+ bottomSpacer.hidden = YES;
+ [bezelView addSubview:bottomSpacer];
+ _bottomSpacer = bottomSpacer;
+}
+
+- (void)updateIndicators {
+ UIView *indicator = self.indicator;
+ BOOL isActivityIndicator = [indicator isKindOfClass:[UIActivityIndicatorView class]];
+ BOOL isRoundIndicator = [indicator isKindOfClass:[MBRoundProgressView class]];
+
+ MBProgressHUDMode mode = self.mode;
+ if (mode == MBProgressHUDModeIndeterminate) {
+ if (!isActivityIndicator) {
+ // Update to indeterminate indicator
+ [indicator removeFromSuperview];
+ indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
+ [(UIActivityIndicatorView *)indicator startAnimating];
+ [self.bezelView addSubview:indicator];
+ }
+ }
+ else if (mode == MBProgressHUDModeDeterminateHorizontalBar) {
+ // Update to bar determinate indicator
+ [indicator removeFromSuperview];
+ indicator = [[MBBarProgressView alloc] init];
+ [self.bezelView addSubview:indicator];
+ }
+ else if (mode == MBProgressHUDModeDeterminate || mode == MBProgressHUDModeAnnularDeterminate) {
+ if (!isRoundIndicator) {
+ // Update to determinante indicator
+ [indicator removeFromSuperview];
+ indicator = [[MBRoundProgressView alloc] init];
+ [self.bezelView addSubview:indicator];
+ }
+ if (mode == MBProgressHUDModeAnnularDeterminate) {
+ [(MBRoundProgressView *)indicator setAnnular:YES];
+ }
+ }
+ else if (mode == MBProgressHUDModeCustomView && self.customView != indicator) {
+ // Update custom view indicator
+ [indicator removeFromSuperview];
+ indicator = self.customView;
+ [self.bezelView addSubview:indicator];
+ }
+ else if (mode == MBProgressHUDModeText) {
+ [indicator removeFromSuperview];
+ indicator = nil;
+ }
+ indicator.translatesAutoresizingMaskIntoConstraints = NO;
+ self.indicator = indicator;
+
+ if ([indicator respondsToSelector:@selector(setProgress:)]) {
+ [(id)indicator setValue:@(self.progress) forKey:@"progress"];
+ }
+
+ [indicator setContentCompressionResistancePriority:998.f forAxis:UILayoutConstraintAxisHorizontal];
+ [indicator setContentCompressionResistancePriority:998.f forAxis:UILayoutConstraintAxisVertical];
+
+ [self updateViewsForColor:self.contentColor];
+ [self setNeedsUpdateConstraints];
+}
+
+- (void)updateViewsForColor:(UIColor *)color {
+ if (!color) return;
+
+ self.label.textColor = color;
+ self.detailsLabel.textColor = color;
+ [self.button setTitleColor:color forState:UIControlStateNormal];
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ if (self.activityIndicatorColor) {
+ color = self.activityIndicatorColor;
+ }
+#pragma clang diagnostic pop
+
+ // UIAppearance settings are prioritized. If they are preset the set color is ignored.
+
+ UIView *indicator = self.indicator;
+ if ([indicator isKindOfClass:[UIActivityIndicatorView class]]) {
+ UIActivityIndicatorView *appearance = nil;
+#if __IPHONE_OS_VERSION_MIN_REQUIRED < 90000
+ appearance = [UIActivityIndicatorView appearanceWhenContainedIn:[MBProgressHUD class], nil];
+#else
+ // For iOS 9+
+ appearance = [UIActivityIndicatorView appearanceWhenContainedInInstancesOfClasses:@[[MBProgressHUD class]]];
#endif
- if ([delegate respondsToSelector:@selector(hudWasHidden:)]) {
- [delegate performSelector:@selector(hudWasHidden:) withObject:self];
- }
+
+ if (appearance.color == nil) {
+ ((UIActivityIndicatorView *)indicator).color = color;
+ }
+ } else if ([indicator isKindOfClass:[MBRoundProgressView class]]) {
+ MBRoundProgressView *appearance = nil;
+#if __IPHONE_OS_VERSION_MIN_REQUIRED < 90000
+ appearance = [MBRoundProgressView appearanceWhenContainedIn:[MBProgressHUD class], nil];
+#else
+ appearance = [MBRoundProgressView appearanceWhenContainedInInstancesOfClasses:@[[MBProgressHUD class]]];
+#endif
+ if (appearance.progressTintColor == nil) {
+ ((MBRoundProgressView *)indicator).progressTintColor = color;
+ }
+ if (appearance.backgroundTintColor == nil) {
+ ((MBRoundProgressView *)indicator).backgroundTintColor = [color colorWithAlphaComponent:0.1];
+ }
+ } else if ([indicator isKindOfClass:[MBBarProgressView class]]) {
+ MBBarProgressView *appearance = nil;
+#if __IPHONE_OS_VERSION_MIN_REQUIRED < 90000
+ appearance = [MBBarProgressView appearanceWhenContainedIn:[MBProgressHUD class], nil];
+#else
+ appearance = [MBBarProgressView appearanceWhenContainedInInstancesOfClasses:@[[MBProgressHUD class]]];
+#endif
+ if (appearance.progressColor == nil) {
+ ((MBBarProgressView *)indicator).progressColor = color;
+ }
+ if (appearance.lineColor == nil) {
+ ((MBBarProgressView *)indicator).lineColor = color;
+ }
+ } else {
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 || TARGET_OS_TV
+ if ([indicator respondsToSelector:@selector(setTintColor:)]) {
+ [indicator setTintColor:color];
+ }
+#endif
+ }
}
-#pragma mark - Threading
+- (void)updateBezelMotionEffects {
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 70000 || TARGET_OS_TV
+ MBBackgroundView *bezelView = self.bezelView;
+ if (![bezelView respondsToSelector:@selector(addMotionEffect:)]) return;
+
+ if (self.defaultMotionEffectsEnabled) {
+ CGFloat effectOffset = 10.f;
+ UIInterpolatingMotionEffect *effectX = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.x" type:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis];
+ effectX.maximumRelativeValue = @(effectOffset);
+ effectX.minimumRelativeValue = @(-effectOffset);
+
+ UIInterpolatingMotionEffect *effectY = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.y" type:UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis];
+ effectY.maximumRelativeValue = @(effectOffset);
+ effectY.minimumRelativeValue = @(-effectOffset);
+
+ UIMotionEffectGroup *group = [[UIMotionEffectGroup alloc] init];
+ group.motionEffects = @[effectX, effectY];
+
+ [bezelView addMotionEffect:group];
+ } else {
+ NSArray *effects = [bezelView motionEffects];
+ for (UIMotionEffect *effect in effects) {
+ [bezelView removeMotionEffect:effect];
+ }
+ }
+#endif
+}
-- (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated {
- methodForExecution = method;
- targetForExecution = MB_RETAIN(target);
- objectForExecution = MB_RETAIN(object);
- // Launch execution in new thread
- self.taskInProgress = YES;
- [NSThread detachNewThreadSelector:@selector(launchExecution) toTarget:self withObject:nil];
- // Show HUD view
- [self show:animated];
+#pragma mark - Layout
+
+- (void)updateConstraints {
+ UIView *bezel = self.bezelView;
+ UIView *topSpacer = self.topSpacer;
+ UIView *bottomSpacer = self.bottomSpacer;
+ CGFloat margin = self.margin;
+ NSMutableArray *bezelConstraints = [NSMutableArray array];
+ NSDictionary *metrics = @{@"margin": @(margin)};
+
+ NSMutableArray *subviews = [NSMutableArray arrayWithObjects:self.topSpacer, self.label, self.detailsLabel, self.button, self.bottomSpacer, nil];
+ if (self.indicator) [subviews insertObject:self.indicator atIndex:1];
+
+ // Remove existing constraints
+ [self removeConstraints:self.constraints];
+ [topSpacer removeConstraints:topSpacer.constraints];
+ [bottomSpacer removeConstraints:bottomSpacer.constraints];
+ if (self.bezelConstraints) {
+ [bezel removeConstraints:self.bezelConstraints];
+ self.bezelConstraints = nil;
+ }
+
+ // Center bezel in container (self), applying the offset if set
+ CGPoint offset = self.offset;
+ NSMutableArray *centeringConstraints = [NSMutableArray array];
+ [centeringConstraints addObject:[NSLayoutConstraint constraintWithItem:bezel attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeCenterX multiplier:1.f constant:offset.x]];
+ [centeringConstraints addObject:[NSLayoutConstraint constraintWithItem:bezel attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self attribute:NSLayoutAttributeCenterY multiplier:1.f constant:offset.y]];
+ [self applyPriority:998.f toConstraints:centeringConstraints];
+ [self addConstraints:centeringConstraints];
+
+ // Ensure minimum side margin is kept
+ NSMutableArray *sideConstraints = [NSMutableArray array];
+ [sideConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"|-(>=margin)-[bezel]-(>=margin)-|" options:0 metrics:metrics views:NSDictionaryOfVariableBindings(bezel)]];
+ [sideConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(>=margin)-[bezel]-(>=margin)-|" options:0 metrics:metrics views:NSDictionaryOfVariableBindings(bezel)]];
+ [self applyPriority:999.f toConstraints:sideConstraints];
+ [self addConstraints:sideConstraints];
+
+ // Minimum bezel size, if set
+ CGSize minimumSize = self.minSize;
+ if (!CGSizeEqualToSize(minimumSize, CGSizeZero)) {
+ NSMutableArray *minSizeConstraints = [NSMutableArray array];
+ [minSizeConstraints addObject:[NSLayoutConstraint constraintWithItem:bezel attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationGreaterThanOrEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.f constant:minimumSize.width]];
+ [minSizeConstraints addObject:[NSLayoutConstraint constraintWithItem:bezel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationGreaterThanOrEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.f constant:minimumSize.height]];
+ [self applyPriority:997.f toConstraints:minSizeConstraints];
+ [bezelConstraints addObjectsFromArray:minSizeConstraints];
+ }
+
+ // Square aspect ratio, if set
+ if (self.square) {
+ NSLayoutConstraint *square = [NSLayoutConstraint constraintWithItem:bezel attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:bezel attribute:NSLayoutAttributeWidth multiplier:1.f constant:0];
+ square.priority = 997.f;
+ [bezelConstraints addObject:square];
+ }
+
+ // Top and bottom spacing
+ [topSpacer addConstraint:[NSLayoutConstraint constraintWithItem:topSpacer attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationGreaterThanOrEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.f constant:margin]];
+ [bottomSpacer addConstraint:[NSLayoutConstraint constraintWithItem:bottomSpacer attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationGreaterThanOrEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.f constant:margin]];
+ // Top and bottom spaces should be equal
+ [bezelConstraints addObject:[NSLayoutConstraint constraintWithItem:topSpacer attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:bottomSpacer attribute:NSLayoutAttributeHeight multiplier:1.f constant:0.f]];
+
+ // Layout subviews in bezel
+ NSMutableArray *paddingConstraints = [NSMutableArray new];
+ [subviews enumerateObjectsUsingBlock:^(UIView *view, NSUInteger idx, BOOL *stop) {
+ // Center in bezel
+ [bezelConstraints addObject:[NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:bezel attribute:NSLayoutAttributeCenterX multiplier:1.f constant:0.f]];
+ // Ensure the minimum edge margin is kept
+ [bezelConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"|-(>=margin)-[view]-(>=margin)-|" options:0 metrics:metrics views:NSDictionaryOfVariableBindings(view)]];
+ // Element spacing
+ if (idx == 0) {
+ // First, ensure spacing to bezel edge
+ [bezelConstraints addObject:[NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:bezel attribute:NSLayoutAttributeTop multiplier:1.f constant:0.f]];
+ } else if (idx == subviews.count - 1) {
+ // Last, ensure spacing to bezel edge
+ [bezelConstraints addObject:[NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:bezel attribute:NSLayoutAttributeBottom multiplier:1.f constant:0.f]];
+ }
+ if (idx > 0) {
+ // Has previous
+ NSLayoutConstraint *padding = [NSLayoutConstraint constraintWithItem:view attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:subviews[idx - 1] attribute:NSLayoutAttributeBottom multiplier:1.f constant:0.f];
+ [bezelConstraints addObject:padding];
+ [paddingConstraints addObject:padding];
+ }
+ }];
+
+ [bezel addConstraints:bezelConstraints];
+ self.bezelConstraints = bezelConstraints;
+
+ self.paddingConstraints = [paddingConstraints copy];
+ [self updatePaddingConstraints];
+
+ [super updateConstraints];
}
-#if NS_BLOCKS_AVAILABLE
+- (void)layoutSubviews {
+ // There is no need to update constraints if they are going to
+ // be recreated in [super layoutSubviews] due to needsUpdateConstraints being set.
+ // This also avoids an issue on iOS 8, where updatePaddingConstraints
+ // would trigger a zombie object access.
+ if (!self.needsUpdateConstraints) {
+ [self updatePaddingConstraints];
+ }
+ [super layoutSubviews];
+}
-- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block {
- dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
- [self showAnimated:animated whileExecutingBlock:block onQueue:queue completionBlock:NULL];
+- (void)updatePaddingConstraints {
+ // Set padding dynamically, depending on whether the view is visible or not
+ __block BOOL hasVisibleAncestors = NO;
+ [self.paddingConstraints enumerateObjectsUsingBlock:^(NSLayoutConstraint *padding, NSUInteger idx, BOOL *stop) {
+ UIView *firstView = (UIView *)padding.firstItem;
+ UIView *secondView = (UIView *)padding.secondItem;
+ BOOL firstVisible = !firstView.hidden && !CGSizeEqualToSize(firstView.intrinsicContentSize, CGSizeZero);
+ BOOL secondVisible = !secondView.hidden && !CGSizeEqualToSize(secondView.intrinsicContentSize, CGSizeZero);
+ // Set if both views are visible or if there's a visible view on top that doesn't have padding
+ // added relative to the current view yet
+ padding.constant = (firstVisible && (secondVisible || hasVisibleAncestors)) ? MBDefaultPadding : 0.f;
+ hasVisibleAncestors |= secondVisible;
+ }];
}
-- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block completionBlock:(void (^)())completion {
- dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
- [self showAnimated:animated whileExecutingBlock:block onQueue:queue completionBlock:completion];
+- (void)applyPriority:(UILayoutPriority)priority toConstraints:(NSArray *)constraints {
+ for (NSLayoutConstraint *constraint in constraints) {
+ constraint.priority = priority;
+ }
}
-- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue {
- [self showAnimated:animated whileExecutingBlock:block onQueue:queue completionBlock:NULL];
+#pragma mark - Properties
+
+- (void)setMode:(MBProgressHUDMode)mode {
+ if (mode != _mode) {
+ _mode = mode;
+ [self updateIndicators];
+ }
}
-- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue
- completionBlock:(MBProgressHUDCompletionBlock)completion {
- self.taskInProgress = YES;
- self.completionBlock = completion;
- dispatch_async(queue, ^(void) {
- block();
- dispatch_async(dispatch_get_main_queue(), ^(void) {
- [self cleanUp];
- });
- });
- [self show:animated];
+- (void)setCustomView:(UIView *)customView {
+ if (customView != _customView) {
+ _customView = customView;
+ if (self.mode == MBProgressHUDModeCustomView) {
+ [self updateIndicators];
+ }
+ }
}
-#endif
+- (void)setOffset:(CGPoint)offset {
+ if (!CGPointEqualToPoint(offset, _offset)) {
+ _offset = offset;
+ [self setNeedsUpdateConstraints];
+ }
+}
-- (void)launchExecution {
- @autoreleasepool {
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
- // Start executing the requested task
- [targetForExecution performSelector:methodForExecution withObject:objectForExecution];
-#pragma clang diagnostic pop
- // Task completed, update view in main thread (note: view operations should
- // be done only in the main thread)
- [self performSelectorOnMainThread:@selector(cleanUp) withObject:nil waitUntilDone:NO];
- }
+- (void)setMargin:(CGFloat)margin {
+ if (margin != _margin) {
+ _margin = margin;
+ [self setNeedsUpdateConstraints];
+ }
}
-- (void)cleanUp {
- taskInProgress = NO;
-#if !__has_feature(objc_arc)
- [targetForExecution release];
- [objectForExecution release];
-#else
- targetForExecution = nil;
- objectForExecution = nil;
-#endif
- [self hide:useAnimation];
+- (void)setMinSize:(CGSize)minSize {
+ if (!CGSizeEqualToSize(minSize, _minSize)) {
+ _minSize = minSize;
+ [self setNeedsUpdateConstraints];
+ }
}
-#pragma mark - UI
+- (void)setSquare:(BOOL)square {
+ if (square != _square) {
+ _square = square;
+ [self setNeedsUpdateConstraints];
+ }
+}
-- (void)setupLabels {
- label = [[UILabel alloc] initWithFrame:self.bounds];
- label.adjustsFontSizeToFitWidth = NO;
- label.textAlignment = MBLabelAlignmentCenter;
- label.opaque = NO;
- label.backgroundColor = [UIColor clearColor];
- label.textColor = self.labelColor;
- label.font = self.labelFont;
- label.text = self.labelText;
- [self addSubview:label];
-
- detailsLabel = [[UILabel alloc] initWithFrame:self.bounds];
- detailsLabel.font = self.detailsLabelFont;
- detailsLabel.adjustsFontSizeToFitWidth = NO;
- detailsLabel.textAlignment = MBLabelAlignmentCenter;
- detailsLabel.opaque = NO;
- detailsLabel.backgroundColor = [UIColor clearColor];
- detailsLabel.textColor = self.detailsLabelColor;
- detailsLabel.numberOfLines = 0;
- detailsLabel.font = self.detailsLabelFont;
- detailsLabel.text = self.detailsLabelText;
- [self addSubview:detailsLabel];
+- (void)setProgressObjectDisplayLink:(CADisplayLink *)progressObjectDisplayLink {
+ if (progressObjectDisplayLink != _progressObjectDisplayLink) {
+ [_progressObjectDisplayLink invalidate];
+
+ _progressObjectDisplayLink = progressObjectDisplayLink;
+
+ [_progressObjectDisplayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
+ }
}
-- (void)updateIndicators {
-
- BOOL isActivityIndicator = [indicator isKindOfClass:[UIActivityIndicatorView class]];
- BOOL isRoundIndicator = [indicator isKindOfClass:[MBRoundProgressView class]];
-
- if (mode == MBProgressHUDModeIndeterminate) {
- if (!isActivityIndicator) {
- // Update to indeterminate indicator
- [indicator removeFromSuperview];
- self.indicator = MB_AUTORELEASE([[UIActivityIndicatorView alloc]
- initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]);
- [(UIActivityIndicatorView *)indicator startAnimating];
- [self addSubview:indicator];
- }
-#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 50000
- [(UIActivityIndicatorView *)indicator setColor:self.activityIndicatorColor];
-#endif
- }
- else if (mode == MBProgressHUDModeDeterminateHorizontalBar) {
- // Update to bar determinate indicator
- [indicator removeFromSuperview];
- self.indicator = MB_AUTORELEASE([[MBBarProgressView alloc] init]);
- [self addSubview:indicator];
- }
- else if (mode == MBProgressHUDModeDeterminate || mode == MBProgressHUDModeAnnularDeterminate) {
- if (!isRoundIndicator) {
- // Update to determinante indicator
- [indicator removeFromSuperview];
- self.indicator = MB_AUTORELEASE([[MBRoundProgressView alloc] init]);
- [self addSubview:indicator];
- }
- if (mode == MBProgressHUDModeAnnularDeterminate) {
- [(MBRoundProgressView *)indicator setAnnular:YES];
- }
- [(MBRoundProgressView *)indicator setProgressTintColor:self.activityIndicatorColor];
- [(MBRoundProgressView *)indicator setBackgroundTintColor:[self.activityIndicatorColor colorWithAlphaComponent:0.1f]];
- }
- else if (mode == MBProgressHUDModeCustomView && customView != indicator) {
- // Update custom view indicator
- [indicator removeFromSuperview];
- self.indicator = customView;
- [self addSubview:indicator];
- } else if (mode == MBProgressHUDModeText) {
- [indicator removeFromSuperview];
- self.indicator = nil;
- }
+- (void)setProgressObject:(NSProgress *)progressObject {
+ if (progressObject != _progressObject) {
+ _progressObject = progressObject;
+ [self setNSProgressDisplayLinkEnabled:YES];
+ }
}
-#pragma mark - Layout
+- (void)setProgress:(float)progress {
+ if (progress != _progress) {
+ _progress = progress;
+ UIView *indicator = self.indicator;
+ if ([indicator respondsToSelector:@selector(setProgress:)]) {
+ [(id)indicator setValue:@(self.progress) forKey:@"progress"];
+ }
+ }
+}
-- (void)layoutSubviews {
- [super layoutSubviews];
-
- // Entirely cover the parent view
- UIView *parent = self.superview;
- if (parent) {
- self.frame = parent.bounds;
- }
- CGRect bounds = self.bounds;
-
- // Determine the total width and height needed
- CGFloat maxWidth = bounds.size.width - 4 * margin;
- CGSize totalSize = CGSizeZero;
-
- CGRect indicatorF = indicator.bounds;
- indicatorF.size.width = MIN(indicatorF.size.width, maxWidth);
- totalSize.width = MAX(totalSize.width, indicatorF.size.width);
- totalSize.height += indicatorF.size.height;
-
- CGSize labelSize = MB_TEXTSIZE(label.text, label.font);
- labelSize.width = MIN(labelSize.width, maxWidth);
- totalSize.width = MAX(totalSize.width, labelSize.width);
- totalSize.height += labelSize.height;
- if (labelSize.height > 0.f && indicatorF.size.height > 0.f) {
- totalSize.height += kPadding;
- }
-
- CGFloat remainingHeight = bounds.size.height - totalSize.height - kPadding - 4 * margin;
- CGSize maxSize = CGSizeMake(maxWidth, remainingHeight);
- CGSize detailsLabelSize = MB_MULTILINE_TEXTSIZE(detailsLabel.text, detailsLabel.font, maxSize, detailsLabel.lineBreakMode);
- totalSize.width = MAX(totalSize.width, detailsLabelSize.width);
- totalSize.height += detailsLabelSize.height;
- if (detailsLabelSize.height > 0.f && (indicatorF.size.height > 0.f || labelSize.height > 0.f)) {
- totalSize.height += kPadding;
- }
-
- totalSize.width += 2 * margin;
- totalSize.height += 2 * margin;
-
- // Position elements
- CGFloat yPos = round(((bounds.size.height - totalSize.height) / 2)) + margin + yOffset;
- CGFloat xPos = xOffset;
- indicatorF.origin.y = yPos;
- indicatorF.origin.x = round((bounds.size.width - indicatorF.size.width) / 2) + xPos;
- indicator.frame = indicatorF;
- yPos += indicatorF.size.height;
-
- if (labelSize.height > 0.f && indicatorF.size.height > 0.f) {
- yPos += kPadding;
- }
- CGRect labelF;
- labelF.origin.y = yPos;
- labelF.origin.x = round((bounds.size.width - labelSize.width) / 2) + xPos;
- labelF.size = labelSize;
- label.frame = labelF;
- yPos += labelF.size.height;
-
- if (detailsLabelSize.height > 0.f && (indicatorF.size.height > 0.f || labelSize.height > 0.f)) {
- yPos += kPadding;
- }
- CGRect detailsLabelF;
- detailsLabelF.origin.y = yPos;
- detailsLabelF.origin.x = round((bounds.size.width - detailsLabelSize.width) / 2) + xPos;
- detailsLabelF.size = detailsLabelSize;
- detailsLabel.frame = detailsLabelF;
-
- // Enforce minsize and quare rules
- if (square) {
- CGFloat max = MAX(totalSize.width, totalSize.height);
- if (max <= bounds.size.width - 2 * margin) {
- totalSize.width = max;
- }
- if (max <= bounds.size.height - 2 * margin) {
- totalSize.height = max;
- }
- }
- if (totalSize.width < minSize.width) {
- totalSize.width = minSize.width;
- }
- if (totalSize.height < minSize.height) {
- totalSize.height = minSize.height;
- }
-
- size = totalSize;
-}
-
-#pragma mark BG Drawing
+- (void)setContentColor:(UIColor *)contentColor {
+ if (contentColor != _contentColor && ![contentColor isEqual:_contentColor]) {
+ _contentColor = contentColor;
+ [self updateViewsForColor:contentColor];
+ }
+}
-- (void)drawRect:(CGRect)rect {
-
- CGContextRef context = UIGraphicsGetCurrentContext();
- UIGraphicsPushContext(context);
-
- if (self.dimBackground) {
- //Gradient colours
- size_t gradLocationsNum = 2;
- CGFloat gradLocations[2] = {0.0f, 1.0f};
- CGFloat gradColors[8] = {0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.75f};
- CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
- CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, gradColors, gradLocations, gradLocationsNum);
- CGColorSpaceRelease(colorSpace);
- //Gradient center
- CGPoint gradCenter= CGPointMake(self.bounds.size.width/2, self.bounds.size.height/2);
- //Gradient radius
- float gradRadius = MIN(self.bounds.size.width , self.bounds.size.height) ;
- //Gradient draw
- CGContextDrawRadialGradient (context, gradient, gradCenter,
- 0, gradCenter, gradRadius,
- kCGGradientDrawsAfterEndLocation);
- CGGradientRelease(gradient);
- }
-
- // Set background rect color
- if (self.color) {
- CGContextSetFillColorWithColor(context, self.color.CGColor);
- } else {
- CGContextSetGrayFillColor(context, 0.0f, self.opacity);
- }
-
-
- // Center HUD
- CGRect allRect = self.bounds;
- // Draw rounded HUD backgroud rect
- CGRect boxRect = CGRectMake(round((allRect.size.width - size.width) / 2) + self.xOffset,
- round((allRect.size.height - size.height) / 2) + self.yOffset, size.width, size.height);
- float radius = self.cornerRadius;
- CGContextBeginPath(context);
- CGContextMoveToPoint(context, CGRectGetMinX(boxRect) + radius, CGRectGetMinY(boxRect));
- CGContextAddArc(context, CGRectGetMaxX(boxRect) - radius, CGRectGetMinY(boxRect) + radius, radius, 3 * (float)M_PI / 2, 0, 0);
- CGContextAddArc(context, CGRectGetMaxX(boxRect) - radius, CGRectGetMaxY(boxRect) - radius, radius, 0, (float)M_PI / 2, 0);
- CGContextAddArc(context, CGRectGetMinX(boxRect) + radius, CGRectGetMaxY(boxRect) - radius, radius, (float)M_PI / 2, (float)M_PI, 0);
- CGContextAddArc(context, CGRectGetMinX(boxRect) + radius, CGRectGetMinY(boxRect) + radius, radius, (float)M_PI, 3 * (float)M_PI / 2, 0);
- CGContextClosePath(context);
- CGContextFillPath(context);
-
- UIGraphicsPopContext();
-}
-
-#pragma mark - KVO
-
-- (void)registerForKVO {
- for (NSString *keyPath in [self observableKeypaths]) {
- [self addObserver:self forKeyPath:keyPath options:NSKeyValueObservingOptionNew context:NULL];
- }
-}
-
-- (void)unregisterFromKVO {
- for (NSString *keyPath in [self observableKeypaths]) {
- [self removeObserver:self forKeyPath:keyPath];
- }
-}
-
-- (NSArray *)observableKeypaths {
- return [NSArray arrayWithObjects:@"mode", @"customView", @"labelText", @"labelFont", @"labelColor",
- @"detailsLabelText", @"detailsLabelFont", @"detailsLabelColor", @"progress", @"activityIndicatorColor", nil];
-}
-
-- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
- if (![NSThread isMainThread]) {
- [self performSelectorOnMainThread:@selector(updateUIForKeypath:) withObject:keyPath waitUntilDone:NO];
- } else {
- [self updateUIForKeypath:keyPath];
- }
-}
-
-- (void)updateUIForKeypath:(NSString *)keyPath {
- if ([keyPath isEqualToString:@"mode"] || [keyPath isEqualToString:@"customView"] ||
- [keyPath isEqualToString:@"activityIndicatorColor"]) {
- [self updateIndicators];
- } else if ([keyPath isEqualToString:@"labelText"]) {
- label.text = self.labelText;
- } else if ([keyPath isEqualToString:@"labelFont"]) {
- label.font = self.labelFont;
- } else if ([keyPath isEqualToString:@"labelColor"]) {
- label.textColor = self.labelColor;
- } else if ([keyPath isEqualToString:@"detailsLabelText"]) {
- detailsLabel.text = self.detailsLabelText;
- } else if ([keyPath isEqualToString:@"detailsLabelFont"]) {
- detailsLabel.font = self.detailsLabelFont;
- } else if ([keyPath isEqualToString:@"detailsLabelColor"]) {
- detailsLabel.textColor = self.detailsLabelColor;
- } else if ([keyPath isEqualToString:@"progress"]) {
- if ([indicator respondsToSelector:@selector(setProgress:)]) {
- [(id)indicator setValue:@(progress) forKey:@"progress"];
- }
- return;
- }
- [self setNeedsLayout];
- [self setNeedsDisplay];
+- (void)setDefaultMotionEffectsEnabled:(BOOL)defaultMotionEffectsEnabled {
+ if (defaultMotionEffectsEnabled != _defaultMotionEffectsEnabled) {
+ _defaultMotionEffectsEnabled = defaultMotionEffectsEnabled;
+ [self updateBezelMotionEffects];
+ }
+}
+
+#pragma mark - NSProgress
+
+- (void)setNSProgressDisplayLinkEnabled:(BOOL)enabled {
+ // We're using CADisplayLink, because NSProgress can change very quickly and observing it may starve the main thread,
+ // so we're refreshing the progress only every frame draw
+ if (enabled && self.progressObject) {
+ // Only create if not already active.
+ if (!self.progressObjectDisplayLink) {
+ self.progressObjectDisplayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(updateProgressFromProgressObject)];
+ }
+ } else {
+ self.progressObjectDisplayLink = nil;
+ }
+}
+
+- (void)updateProgressFromProgressObject {
+ self.progress = self.progressObject.fractionCompleted;
}
#pragma mark - Notifications
- (void)registerForNotifications {
#if !TARGET_OS_TV
- NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
+ NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
- [nc addObserver:self selector:@selector(statusBarOrientationDidChange:)
+ [nc addObserver:self selector:@selector(statusBarOrientationDidChange:)
name:UIApplicationDidChangeStatusBarOrientationNotification object:nil];
#endif
}
- (void)unregisterFromNotifications {
#if !TARGET_OS_TV
- NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
+ NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc removeObserver:self name:UIApplicationDidChangeStatusBarOrientationNotification object:nil];
#endif
}
#if !TARGET_OS_TV
- (void)statusBarOrientationDidChange:(NSNotification *)notification {
- UIView *superview = self.superview;
- if (!superview) {
- return;
- } else {
- [self updateForCurrentOrientationAnimated:YES];
- }
+ UIView *superview = self.superview;
+ if (!superview) {
+ return;
+ } else {
+ [self updateForCurrentOrientationAnimated:YES];
+ }
}
#endif
@@ -747,37 +785,39 @@ - (void)updateForCurrentOrientationAnimated:(BOOL)animated {
// Stay in sync with the superview in any case
if (self.superview) {
self.bounds = self.superview.bounds;
- [self setNeedsDisplay];
}
// Not needed on iOS 8+, compile out when the deployment target allows,
// to avoid sharedApplication problems on extension targets
#if __IPHONE_OS_VERSION_MIN_REQUIRED < 80000
- // Only needed pre iOS 7 when added to a window
+ // Only needed pre iOS 8 when added to a window
BOOL iOS8OrLater = kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_8_0;
if (iOS8OrLater || ![self.superview isKindOfClass:[UIWindow class]]) return;
- UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
- CGFloat radians = 0;
- if (UIInterfaceOrientationIsLandscape(orientation)) {
- if (orientation == UIInterfaceOrientationLandscapeLeft) { radians = -(CGFloat)M_PI_2; }
- else { radians = (CGFloat)M_PI_2; }
- // Window coordinates differ!
- self.bounds = CGRectMake(0, 0, self.bounds.size.height, self.bounds.size.width);
- } else {
- if (orientation == UIInterfaceOrientationPortraitUpsideDown) { radians = (CGFloat)M_PI; }
- else { radians = 0; }
- }
- rotationTransform = CGAffineTransformMakeRotation(radians);
-
- if (animated) {
- [UIView beginAnimations:nil context:nil];
- [UIView setAnimationDuration:0.3];
- }
- [self setTransform:rotationTransform];
- if (animated) {
- [UIView commitAnimations];
- }
+ // Make extension friendly. Will not get called on extensions (iOS 8+) due to the above check.
+ // This just ensures we don't get a warning about extension-unsafe API.
+ Class UIApplicationClass = NSClassFromString(@"UIApplication");
+ if (!UIApplicationClass || ![UIApplicationClass respondsToSelector:@selector(sharedApplication)]) return;
+
+ UIApplication *application = [UIApplication performSelector:@selector(sharedApplication)];
+ UIInterfaceOrientation orientation = application.statusBarOrientation;
+ CGFloat radians = 0;
+
+ if (UIInterfaceOrientationIsLandscape(orientation)) {
+ radians = orientation == UIInterfaceOrientationLandscapeLeft ? -(CGFloat)M_PI_2 : (CGFloat)M_PI_2;
+ // Window coordinates differ!
+ self.bounds = CGRectMake(0, 0, self.bounds.size.height, self.bounds.size.width);
+ } else {
+ radians = orientation == UIInterfaceOrientationPortraitUpsideDown ? (CGFloat)M_PI : 0.f;
+ }
+
+ if (animated) {
+ [UIView animateWithDuration:0.3 animations:^{
+ self.transform = CGAffineTransformMakeRotation(radians);
+ }];
+ } else {
+ self.transform = CGAffineTransformMakeRotation(radians);
+ }
#endif
}
@@ -789,102 +829,117 @@ @implementation MBRoundProgressView
#pragma mark - Lifecycle
- (id)init {
- return [self initWithFrame:CGRectMake(0.f, 0.f, 37.f, 37.f)];
+ return [self initWithFrame:CGRectMake(0.f, 0.f, 37.f, 37.f)];
}
- (id)initWithFrame:(CGRect)frame {
- self = [super initWithFrame:frame];
- if (self) {
- self.backgroundColor = [UIColor clearColor];
- self.opaque = NO;
- _progress = 0.f;
- _annular = NO;
- _progressTintColor = [[UIColor alloc] initWithWhite:1.f alpha:1.f];
- _backgroundTintColor = [[UIColor alloc] initWithWhite:1.f alpha:.1f];
- [self registerForKVO];
- }
- return self;
+ self = [super initWithFrame:frame];
+ if (self) {
+ self.backgroundColor = [UIColor clearColor];
+ self.opaque = NO;
+ _progress = 0.f;
+ _annular = NO;
+ _progressTintColor = [[UIColor alloc] initWithWhite:1.f alpha:1.f];
+ _backgroundTintColor = [[UIColor alloc] initWithWhite:1.f alpha:.1f];
+ }
+ return self;
}
-- (void)dealloc {
- [self unregisterFromKVO];
-#if !__has_feature(objc_arc)
- [_progressTintColor release];
- [_backgroundTintColor release];
- [super dealloc];
-#endif
+#pragma mark - Layout
+
+- (CGSize)intrinsicContentSize {
+ return CGSizeMake(37.f, 37.f);
+}
+
+#pragma mark - Properties
+
+- (void)setProgress:(float)progress {
+ if (progress != _progress) {
+ _progress = progress;
+ [self setNeedsDisplay];
+ }
+}
+
+- (void)setProgressTintColor:(UIColor *)progressTintColor {
+ NSAssert(progressTintColor, @"The color should not be nil.");
+ if (progressTintColor != _progressTintColor && ![progressTintColor isEqual:_progressTintColor]) {
+ _progressTintColor = progressTintColor;
+ [self setNeedsDisplay];
+ }
+}
+
+- (void)setBackgroundTintColor:(UIColor *)backgroundTintColor {
+ NSAssert(backgroundTintColor, @"The color should not be nil.");
+ if (backgroundTintColor != _backgroundTintColor && ![backgroundTintColor isEqual:_backgroundTintColor]) {
+ _backgroundTintColor = backgroundTintColor;
+ [self setNeedsDisplay];
+ }
}
#pragma mark - Drawing
- (void)drawRect:(CGRect)rect {
-
- CGRect allRect = self.bounds;
- CGRect circleRect = CGRectInset(allRect, 2.0f, 2.0f);
- CGContextRef context = UIGraphicsGetCurrentContext();
-
- if (_annular) {
- // Draw background
- BOOL isPreiOS7 = kCFCoreFoundationVersionNumber < kCFCoreFoundationVersionNumber_iOS_7_0;
- CGFloat lineWidth = isPreiOS7 ? 5.f : 2.f;
- UIBezierPath *processBackgroundPath = [UIBezierPath bezierPath];
- processBackgroundPath.lineWidth = lineWidth;
- processBackgroundPath.lineCapStyle = kCGLineCapButt;
- CGPoint center = CGPointMake(self.bounds.size.width/2, self.bounds.size.height/2);
- CGFloat radius = (self.bounds.size.width - lineWidth)/2;
- CGFloat startAngle = - ((float)M_PI / 2); // 90 degrees
- CGFloat endAngle = (2 * (float)M_PI) + startAngle;
- [processBackgroundPath addArcWithCenter:center radius:radius startAngle:startAngle endAngle:endAngle clockwise:YES];
- [_backgroundTintColor set];
- [processBackgroundPath stroke];
- // Draw progress
- UIBezierPath *processPath = [UIBezierPath bezierPath];
- processPath.lineCapStyle = isPreiOS7 ? kCGLineCapRound : kCGLineCapSquare;
- processPath.lineWidth = lineWidth;
- endAngle = (self.progress * 2 * (float)M_PI) + startAngle;
- [processPath addArcWithCenter:center radius:radius startAngle:startAngle endAngle:endAngle clockwise:YES];
- [_progressTintColor set];
- [processPath stroke];
- } else {
- // Draw background
- [_progressTintColor setStroke];
- [_backgroundTintColor setFill];
- CGContextSetLineWidth(context, 2.0f);
- CGContextFillEllipseInRect(context, circleRect);
- CGContextStrokeEllipseInRect(context, circleRect);
- // Draw progress
- CGPoint center = CGPointMake(allRect.size.width / 2, allRect.size.height / 2);
- CGFloat radius = (allRect.size.width - 4) / 2;
- CGFloat startAngle = - ((float)M_PI / 2); // 90 degrees
- CGFloat endAngle = (self.progress * 2 * (float)M_PI) + startAngle;
- [_progressTintColor setFill];
- CGContextMoveToPoint(context, center.x, center.y);
- CGContextAddArc(context, center.x, center.y, radius, startAngle, endAngle, 0);
- CGContextClosePath(context);
- CGContextFillPath(context);
- }
-}
-
-#pragma mark - KVO
-
-- (void)registerForKVO {
- for (NSString *keyPath in [self observableKeypaths]) {
- [self addObserver:self forKeyPath:keyPath options:NSKeyValueObservingOptionNew context:NULL];
- }
-}
-
-- (void)unregisterFromKVO {
- for (NSString *keyPath in [self observableKeypaths]) {
- [self removeObserver:self forKeyPath:keyPath];
- }
-}
-
-- (NSArray *)observableKeypaths {
- return [NSArray arrayWithObjects:@"progressTintColor", @"backgroundTintColor", @"progress", @"annular", nil];
-}
-
-- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
- [self setNeedsDisplay];
+ CGContextRef context = UIGraphicsGetCurrentContext();
+ BOOL isPreiOS7 = kCFCoreFoundationVersionNumber < kCFCoreFoundationVersionNumber_iOS_7_0;
+
+ if (_annular) {
+ // Draw background
+ CGFloat lineWidth = isPreiOS7 ? 5.f : 2.f;
+ UIBezierPath *processBackgroundPath = [UIBezierPath bezierPath];
+ processBackgroundPath.lineWidth = lineWidth;
+ processBackgroundPath.lineCapStyle = kCGLineCapButt;
+ CGPoint center = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds));
+ CGFloat radius = (self.bounds.size.width - lineWidth)/2;
+ CGFloat startAngle = - ((float)M_PI / 2); // 90 degrees
+ CGFloat endAngle = (2 * (float)M_PI) + startAngle;
+ [processBackgroundPath addArcWithCenter:center radius:radius startAngle:startAngle endAngle:endAngle clockwise:YES];
+ [_backgroundTintColor set];
+ [processBackgroundPath stroke];
+ // Draw progress
+ UIBezierPath *processPath = [UIBezierPath bezierPath];
+ processPath.lineCapStyle = isPreiOS7 ? kCGLineCapRound : kCGLineCapSquare;
+ processPath.lineWidth = lineWidth;
+ endAngle = (self.progress * 2 * (float)M_PI) + startAngle;
+ [processPath addArcWithCenter:center radius:radius startAngle:startAngle endAngle:endAngle clockwise:YES];
+ [_progressTintColor set];
+ [processPath stroke];
+ } else {
+ // Draw background
+ CGFloat lineWidth = 2.f;
+ CGRect allRect = self.bounds;
+ CGRect circleRect = CGRectInset(allRect, lineWidth/2.f, lineWidth/2.f);
+ CGPoint center = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds));
+ [_progressTintColor setStroke];
+ [_backgroundTintColor setFill];
+ CGContextSetLineWidth(context, lineWidth);
+ if (isPreiOS7) {
+ CGContextFillEllipseInRect(context, circleRect);
+ }
+ CGContextStrokeEllipseInRect(context, circleRect);
+ // 90 degrees
+ CGFloat startAngle = - ((float)M_PI / 2.f);
+ // Draw progress
+ if (isPreiOS7) {
+ CGFloat radius = (CGRectGetWidth(self.bounds) / 2.f) - lineWidth;
+ CGFloat endAngle = (self.progress * 2.f * (float)M_PI) + startAngle;
+ [_progressTintColor setFill];
+ CGContextMoveToPoint(context, center.x, center.y);
+ CGContextAddArc(context, center.x, center.y, radius, startAngle, endAngle, 0);
+ CGContextClosePath(context);
+ CGContextFillPath(context);
+ } else {
+ UIBezierPath *processPath = [UIBezierPath bezierPath];
+ processPath.lineCapStyle = kCGLineCapButt;
+ processPath.lineWidth = lineWidth * 2.f;
+ CGFloat radius = (CGRectGetWidth(self.bounds) / 2.f) - (processPath.lineWidth / 2.f);
+ CGFloat endAngle = (self.progress * 2.f * (float)M_PI) + startAngle;
+ [processPath addArcWithCenter:center radius:radius startAngle:startAngle endAngle:endAngle clockwise:YES];
+ // Ensure that we don't get color overlaping when _progressTintColor alpha < 1.f.
+ CGContextSetBlendMode(context, kCGBlendModeCopy);
+ [_progressTintColor set];
+ [processPath stroke];
+ }
+ }
}
@end
@@ -895,139 +950,535 @@ @implementation MBBarProgressView
#pragma mark - Lifecycle
- (id)init {
- return [self initWithFrame:CGRectMake(.0f, .0f, 120.0f, 20.0f)];
+ return [self initWithFrame:CGRectMake(.0f, .0f, 120.0f, 20.0f)];
}
- (id)initWithFrame:(CGRect)frame {
- self = [super initWithFrame:frame];
- if (self) {
- _progress = 0.f;
- _lineColor = [UIColor whiteColor];
- _progressColor = [UIColor whiteColor];
- _progressRemainingColor = [UIColor clearColor];
- self.backgroundColor = [UIColor clearColor];
- self.opaque = NO;
- [self registerForKVO];
- }
- return self;
+ self = [super initWithFrame:frame];
+ if (self) {
+ _progress = 0.f;
+ _lineColor = [UIColor whiteColor];
+ _progressColor = [UIColor whiteColor];
+ _progressRemainingColor = [UIColor clearColor];
+ self.backgroundColor = [UIColor clearColor];
+ self.opaque = NO;
+ }
+ return self;
}
-- (void)dealloc {
- [self unregisterFromKVO];
-#if !__has_feature(objc_arc)
- [_lineColor release];
- [_progressColor release];
- [_progressRemainingColor release];
- [super dealloc];
-#endif
+#pragma mark - Layout
+
+- (CGSize)intrinsicContentSize {
+ BOOL isPreiOS7 = kCFCoreFoundationVersionNumber < kCFCoreFoundationVersionNumber_iOS_7_0;
+ return CGSizeMake(120.f, isPreiOS7 ? 20.f : 10.f);
+}
+
+#pragma mark - Properties
+
+- (void)setProgress:(float)progress {
+ if (progress != _progress) {
+ _progress = progress;
+ [self setNeedsDisplay];
+ }
+}
+
+- (void)setProgressColor:(UIColor *)progressColor {
+ NSAssert(progressColor, @"The color should not be nil.");
+ if (progressColor != _progressColor && ![progressColor isEqual:_progressColor]) {
+ _progressColor = progressColor;
+ [self setNeedsDisplay];
+ }
+}
+
+- (void)setProgressRemainingColor:(UIColor *)progressRemainingColor {
+ NSAssert(progressRemainingColor, @"The color should not be nil.");
+ if (progressRemainingColor != _progressRemainingColor && ![progressRemainingColor isEqual:_progressRemainingColor]) {
+ _progressRemainingColor = progressRemainingColor;
+ [self setNeedsDisplay];
+ }
}
#pragma mark - Drawing
- (void)drawRect:(CGRect)rect {
- CGContextRef context = UIGraphicsGetCurrentContext();
-
- CGContextSetLineWidth(context, 2);
- CGContextSetStrokeColorWithColor(context,[_lineColor CGColor]);
- CGContextSetFillColorWithColor(context, [_progressRemainingColor CGColor]);
-
- // Draw background
- float radius = (rect.size.height / 2) - 2;
- CGContextMoveToPoint(context, 2, rect.size.height/2);
- CGContextAddArcToPoint(context, 2, 2, radius + 2, 2, radius);
- CGContextAddLineToPoint(context, rect.size.width - radius - 2, 2);
- CGContextAddArcToPoint(context, rect.size.width - 2, 2, rect.size.width - 2, rect.size.height / 2, radius);
- CGContextAddArcToPoint(context, rect.size.width - 2, rect.size.height - 2, rect.size.width - radius - 2, rect.size.height - 2, radius);
- CGContextAddLineToPoint(context, radius + 2, rect.size.height - 2);
- CGContextAddArcToPoint(context, 2, rect.size.height - 2, 2, rect.size.height/2, radius);
- CGContextFillPath(context);
-
- // Draw border
- CGContextMoveToPoint(context, 2, rect.size.height/2);
- CGContextAddArcToPoint(context, 2, 2, radius + 2, 2, radius);
- CGContextAddLineToPoint(context, rect.size.width - radius - 2, 2);
- CGContextAddArcToPoint(context, rect.size.width - 2, 2, rect.size.width - 2, rect.size.height / 2, radius);
- CGContextAddArcToPoint(context, rect.size.width - 2, rect.size.height - 2, rect.size.width - radius - 2, rect.size.height - 2, radius);
- CGContextAddLineToPoint(context, radius + 2, rect.size.height - 2);
- CGContextAddArcToPoint(context, 2, rect.size.height - 2, 2, rect.size.height/2, radius);
- CGContextStrokePath(context);
-
- CGContextSetFillColorWithColor(context, [_progressColor CGColor]);
- radius = radius - 2;
- float amount = self.progress * rect.size.width;
-
- // Progress in the middle area
- if (amount >= radius + 4 && amount <= (rect.size.width - radius - 4)) {
- CGContextMoveToPoint(context, 4, rect.size.height/2);
- CGContextAddArcToPoint(context, 4, 4, radius + 4, 4, radius);
- CGContextAddLineToPoint(context, amount, 4);
- CGContextAddLineToPoint(context, amount, radius + 4);
-
- CGContextMoveToPoint(context, 4, rect.size.height/2);
- CGContextAddArcToPoint(context, 4, rect.size.height - 4, radius + 4, rect.size.height - 4, radius);
- CGContextAddLineToPoint(context, amount, rect.size.height - 4);
- CGContextAddLineToPoint(context, amount, radius + 4);
-
- CGContextFillPath(context);
- }
-
- // Progress in the right arc
- else if (amount > radius + 4) {
- float x = amount - (rect.size.width - radius - 4);
-
- CGContextMoveToPoint(context, 4, rect.size.height/2);
- CGContextAddArcToPoint(context, 4, 4, radius + 4, 4, radius);
- CGContextAddLineToPoint(context, rect.size.width - radius - 4, 4);
- float angle = -acos(x/radius);
- if (isnan(angle)) angle = 0;
- CGContextAddArc(context, rect.size.width - radius - 4, rect.size.height/2, radius, M_PI, angle, 0);
- CGContextAddLineToPoint(context, amount, rect.size.height/2);
-
- CGContextMoveToPoint(context, 4, rect.size.height/2);
- CGContextAddArcToPoint(context, 4, rect.size.height - 4, radius + 4, rect.size.height - 4, radius);
- CGContextAddLineToPoint(context, rect.size.width - radius - 4, rect.size.height - 4);
- angle = acos(x/radius);
- if (isnan(angle)) angle = 0;
- CGContextAddArc(context, rect.size.width - radius - 4, rect.size.height/2, radius, -M_PI, angle, 1);
- CGContextAddLineToPoint(context, amount, rect.size.height/2);
-
- CGContextFillPath(context);
- }
-
- // Progress is in the left arc
- else if (amount < radius + 4 && amount > 0) {
- CGContextMoveToPoint(context, 4, rect.size.height/2);
- CGContextAddArcToPoint(context, 4, 4, radius + 4, 4, radius);
- CGContextAddLineToPoint(context, radius + 4, rect.size.height/2);
-
- CGContextMoveToPoint(context, 4, rect.size.height/2);
- CGContextAddArcToPoint(context, 4, rect.size.height - 4, radius + 4, rect.size.height - 4, radius);
- CGContextAddLineToPoint(context, radius + 4, rect.size.height/2);
-
- CGContextFillPath(context);
- }
-}
-
-#pragma mark - KVO
-
-- (void)registerForKVO {
- for (NSString *keyPath in [self observableKeypaths]) {
- [self addObserver:self forKeyPath:keyPath options:NSKeyValueObservingOptionNew context:NULL];
- }
-}
-
-- (void)unregisterFromKVO {
- for (NSString *keyPath in [self observableKeypaths]) {
- [self removeObserver:self forKeyPath:keyPath];
- }
-}
-
-- (NSArray *)observableKeypaths {
- return [NSArray arrayWithObjects:@"lineColor", @"progressRemainingColor", @"progressColor", @"progress", nil];
-}
-
-- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
- [self setNeedsDisplay];
+ CGContextRef context = UIGraphicsGetCurrentContext();
+
+ CGContextSetLineWidth(context, 2);
+ CGContextSetStrokeColorWithColor(context,[_lineColor CGColor]);
+ CGContextSetFillColorWithColor(context, [_progressRemainingColor CGColor]);
+
+ // Draw background
+ CGFloat radius = (rect.size.height / 2) - 2;
+ CGContextMoveToPoint(context, 2, rect.size.height/2);
+ CGContextAddArcToPoint(context, 2, 2, radius + 2, 2, radius);
+ CGContextAddLineToPoint(context, rect.size.width - radius - 2, 2);
+ CGContextAddArcToPoint(context, rect.size.width - 2, 2, rect.size.width - 2, rect.size.height / 2, radius);
+ CGContextAddArcToPoint(context, rect.size.width - 2, rect.size.height - 2, rect.size.width - radius - 2, rect.size.height - 2, radius);
+ CGContextAddLineToPoint(context, radius + 2, rect.size.height - 2);
+ CGContextAddArcToPoint(context, 2, rect.size.height - 2, 2, rect.size.height/2, radius);
+ CGContextFillPath(context);
+
+ // Draw border
+ CGContextMoveToPoint(context, 2, rect.size.height/2);
+ CGContextAddArcToPoint(context, 2, 2, radius + 2, 2, radius);
+ CGContextAddLineToPoint(context, rect.size.width - radius - 2, 2);
+ CGContextAddArcToPoint(context, rect.size.width - 2, 2, rect.size.width - 2, rect.size.height / 2, radius);
+ CGContextAddArcToPoint(context, rect.size.width - 2, rect.size.height - 2, rect.size.width - radius - 2, rect.size.height - 2, radius);
+ CGContextAddLineToPoint(context, radius + 2, rect.size.height - 2);
+ CGContextAddArcToPoint(context, 2, rect.size.height - 2, 2, rect.size.height/2, radius);
+ CGContextStrokePath(context);
+
+ CGContextSetFillColorWithColor(context, [_progressColor CGColor]);
+ radius = radius - 2;
+ CGFloat amount = self.progress * rect.size.width;
+
+ // Progress in the middle area
+ if (amount >= radius + 4 && amount <= (rect.size.width - radius - 4)) {
+ CGContextMoveToPoint(context, 4, rect.size.height/2);
+ CGContextAddArcToPoint(context, 4, 4, radius + 4, 4, radius);
+ CGContextAddLineToPoint(context, amount, 4);
+ CGContextAddLineToPoint(context, amount, radius + 4);
+
+ CGContextMoveToPoint(context, 4, rect.size.height/2);
+ CGContextAddArcToPoint(context, 4, rect.size.height - 4, radius + 4, rect.size.height - 4, radius);
+ CGContextAddLineToPoint(context, amount, rect.size.height - 4);
+ CGContextAddLineToPoint(context, amount, radius + 4);
+
+ CGContextFillPath(context);
+ }
+
+ // Progress in the right arc
+ else if (amount > radius + 4) {
+ CGFloat x = amount - (rect.size.width - radius - 4);
+
+ CGContextMoveToPoint(context, 4, rect.size.height/2);
+ CGContextAddArcToPoint(context, 4, 4, radius + 4, 4, radius);
+ CGContextAddLineToPoint(context, rect.size.width - radius - 4, 4);
+ CGFloat angle = -acos(x/radius);
+ if (isnan(angle)) angle = 0;
+ CGContextAddArc(context, rect.size.width - radius - 4, rect.size.height/2, radius, M_PI, angle, 0);
+ CGContextAddLineToPoint(context, amount, rect.size.height/2);
+
+ CGContextMoveToPoint(context, 4, rect.size.height/2);
+ CGContextAddArcToPoint(context, 4, rect.size.height - 4, radius + 4, rect.size.height - 4, radius);
+ CGContextAddLineToPoint(context, rect.size.width - radius - 4, rect.size.height - 4);
+ angle = acos(x/radius);
+ if (isnan(angle)) angle = 0;
+ CGContextAddArc(context, rect.size.width - radius - 4, rect.size.height/2, radius, -M_PI, angle, 1);
+ CGContextAddLineToPoint(context, amount, rect.size.height/2);
+
+ CGContextFillPath(context);
+ }
+
+ // Progress is in the left arc
+ else if (amount < radius + 4 && amount > 0) {
+ CGContextMoveToPoint(context, 4, rect.size.height/2);
+ CGContextAddArcToPoint(context, 4, 4, radius + 4, 4, radius);
+ CGContextAddLineToPoint(context, radius + 4, rect.size.height/2);
+
+ CGContextMoveToPoint(context, 4, rect.size.height/2);
+ CGContextAddArcToPoint(context, 4, rect.size.height - 4, radius + 4, rect.size.height - 4, radius);
+ CGContextAddLineToPoint(context, radius + 4, rect.size.height/2);
+
+ CGContextFillPath(context);
+ }
+}
+
+@end
+
+
+@interface MBBackgroundView ()
+
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 || TARGET_OS_TV
+@property UIVisualEffectView *effectView;
+#endif
+#if !TARGET_OS_TV
+@property UIToolbar *toolbar;
+#endif
+
+@end
+
+
+@implementation MBBackgroundView
+
+#pragma mark - Lifecycle
+
+- (instancetype)initWithFrame:(CGRect)frame {
+ if ((self = [super initWithFrame:frame])) {
+ if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_7_0) {
+ _style = MBProgressHUDBackgroundStyleBlur;
+ if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_8_0) {
+ _color = [UIColor colorWithWhite:0.8f alpha:0.6f];
+ } else {
+ _color = [UIColor colorWithWhite:0.95f alpha:0.6f];
+ }
+ } else {
+ _style = MBProgressHUDBackgroundStyleSolidColor;
+ _color = [[UIColor blackColor] colorWithAlphaComponent:0.8];
+ }
+
+ self.clipsToBounds = YES;
+
+ [self updateForBackgroundStyle];
+ }
+ return self;
+}
+
+#pragma mark - Layout
+
+- (CGSize)intrinsicContentSize {
+ // Smallest size possible. Content pushes against this.
+ return CGSizeZero;
+}
+
+#pragma mark - Appearance
+
+- (void)setStyle:(MBProgressHUDBackgroundStyle)style {
+ if (style == MBProgressHUDBackgroundStyleBlur && kCFCoreFoundationVersionNumber < kCFCoreFoundationVersionNumber_iOS_7_0) {
+ style = MBProgressHUDBackgroundStyleSolidColor;
+ }
+ if (_style != style) {
+ _style = style;
+ [self updateForBackgroundStyle];
+ }
+}
+
+- (void)setColor:(UIColor *)color {
+ NSAssert(color, @"The color should not be nil.");
+ if (color != _color && ![color isEqual:_color]) {
+ _color = color;
+ [self updateViewsForColor:color];
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////////////////////
+#pragma mark - Views
+
+- (void)updateForBackgroundStyle {
+ MBProgressHUDBackgroundStyle style = self.style;
+ if (style == MBProgressHUDBackgroundStyleBlur) {
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 || TARGET_OS_TV
+ if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_8_0) {
+ UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
+ UIVisualEffectView *effectView = [[UIVisualEffectView alloc] initWithEffect:effect];
+ [self addSubview:effectView];
+ effectView.frame = self.bounds;
+ effectView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
+ self.backgroundColor = self.color;
+ self.layer.allowsGroupOpacity = NO;
+ self.effectView = effectView;
+ } else {
+#endif
+#if !TARGET_OS_TV
+ UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectInset(self.bounds, -100.f, -100.f)];
+ toolbar.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
+ toolbar.barTintColor = self.color;
+ toolbar.translucent = YES;
+ [self addSubview:toolbar];
+ self.toolbar = toolbar;
+#endif
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 || TARGET_OS_TV
+ }
+#endif
+ } else {
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 || TARGET_OS_TV
+ if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_8_0) {
+ [self.effectView removeFromSuperview];
+ self.effectView = nil;
+ } else {
+#endif
+#if !TARGET_OS_TV
+ [self.toolbar removeFromSuperview];
+ self.toolbar = nil;
+#endif
+#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 || TARGET_OS_TV
+ }
+#endif
+ self.backgroundColor = self.color;
+ }
+}
+
+- (void)updateViewsForColor:(UIColor *)color {
+ if (self.style == MBProgressHUDBackgroundStyleBlur) {
+ if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_8_0) {
+ self.backgroundColor = self.color;
+ } else {
+#if !TARGET_OS_TV
+ self.toolbar.barTintColor = color;
+#endif
+ }
+ } else {
+ self.backgroundColor = self.color;
+ }
+}
+
+@end
+
+
+@implementation MBProgressHUD (Deprecated)
+
+#pragma mark - Class
+
++ (NSUInteger)hideAllHUDsForView:(UIView *)view animated:(BOOL)animated {
+ NSArray *huds = [MBProgressHUD allHUDsForView:view];
+ for (MBProgressHUD *hud in huds) {
+ hud.removeFromSuperViewOnHide = YES;
+ [hud hideAnimated:animated];
+ }
+ return [huds count];
+}
+
++ (NSArray *)allHUDsForView:(UIView *)view {
+ NSMutableArray *huds = [NSMutableArray array];
+ NSArray *subviews = view.subviews;
+ for (UIView *aView in subviews) {
+ if ([aView isKindOfClass:self]) {
+ [huds addObject:aView];
+ }
+ }
+ return [NSArray arrayWithArray:huds];
+}
+
+#pragma mark - Lifecycle
+
+- (id)initWithWindow:(UIWindow *)window {
+ return [self initWithView:window];
+}
+
+#pragma mark - Show & hide
+
+- (void)show:(BOOL)animated {
+ [self showAnimated:animated];
+}
+
+- (void)hide:(BOOL)animated {
+ [self hideAnimated:animated];
+}
+
+- (void)hide:(BOOL)animated afterDelay:(NSTimeInterval)delay {
+ [self hideAnimated:animated afterDelay:delay];
+}
+
+#pragma mark - Threading
+
+- (void)showWhileExecuting:(SEL)method onTarget:(id)target withObject:(id)object animated:(BOOL)animated {
+ [self showAnimated:animated whileExecutingBlock:^{
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
+ // Start executing the requested task
+ [target performSelector:method withObject:object];
+#pragma clang diagnostic pop
+ }];
+}
+
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block {
+ dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
+ [self showAnimated:animated whileExecutingBlock:block onQueue:queue completionBlock:NULL];
+}
+
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block completionBlock:(void (^)())completion {
+ dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
+ [self showAnimated:animated whileExecutingBlock:block onQueue:queue completionBlock:completion];
+}
+
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue {
+ [self showAnimated:animated whileExecutingBlock:block onQueue:queue completionBlock:NULL];
+}
+
+- (void)showAnimated:(BOOL)animated whileExecutingBlock:(dispatch_block_t)block onQueue:(dispatch_queue_t)queue completionBlock:(nullable MBProgressHUDCompletionBlock)completion {
+ self.taskInProgress = YES;
+ self.completionBlock = completion;
+ dispatch_async(queue, ^(void) {
+ block();
+ dispatch_async(dispatch_get_main_queue(), ^(void) {
+ [self cleanUp];
+ });
+ });
+ [self showAnimated:animated];
+}
+
+- (void)cleanUp {
+ self.taskInProgress = NO;
+ [self hideAnimated:self.useAnimation];
+}
+
+#pragma mark - Labels
+
+- (NSString *)labelText {
+ return self.label.text;
+}
+
+- (void)setLabelText:(NSString *)labelText {
+ MBMainThreadAssert();
+ self.label.text = labelText;
+}
+
+- (UIFont *)labelFont {
+ return self.label.font;
+}
+
+- (void)setLabelFont:(UIFont *)labelFont {
+ MBMainThreadAssert();
+ self.label.font = labelFont;
+}
+
+- (UIColor *)labelColor {
+ return self.label.textColor;
+}
+
+- (void)setLabelColor:(UIColor *)labelColor {
+ MBMainThreadAssert();
+ self.label.textColor = labelColor;
+}
+
+- (NSString *)detailsLabelText {
+ return self.detailsLabel.text;
+}
+
+- (void)setDetailsLabelText:(NSString *)detailsLabelText {
+ MBMainThreadAssert();
+ self.detailsLabel.text = detailsLabelText;
+}
+
+- (UIFont *)detailsLabelFont {
+ return self.detailsLabel.font;
+}
+
+- (void)setDetailsLabelFont:(UIFont *)detailsLabelFont {
+ MBMainThreadAssert();
+ self.detailsLabel.font = detailsLabelFont;
+}
+
+- (UIColor *)detailsLabelColor {
+ return self.detailsLabel.textColor;
+}
+
+- (void)setDetailsLabelColor:(UIColor *)detailsLabelColor {
+ MBMainThreadAssert();
+ self.detailsLabel.textColor = detailsLabelColor;
+}
+
+- (CGFloat)opacity {
+ return _opacity;
+}
+
+- (void)setOpacity:(CGFloat)opacity {
+ MBMainThreadAssert();
+ _opacity = opacity;
+}
+
+- (UIColor *)color {
+ return self.bezelView.color;
+}
+
+- (void)setColor:(UIColor *)color {
+ MBMainThreadAssert();
+ self.bezelView.color = color;
+}
+
+- (CGFloat)yOffset {
+ return self.offset.y;
+}
+
+- (void)setYOffset:(CGFloat)yOffset {
+ MBMainThreadAssert();
+ self.offset = CGPointMake(self.offset.x, yOffset);
+}
+
+- (CGFloat)xOffset {
+ return self.offset.x;
+}
+
+- (void)setXOffset:(CGFloat)xOffset {
+ MBMainThreadAssert();
+ self.offset = CGPointMake(xOffset, self.offset.y);
+}
+
+- (CGFloat)cornerRadius {
+ return self.bezelView.layer.cornerRadius;
+}
+
+- (void)setCornerRadius:(CGFloat)cornerRadius {
+ MBMainThreadAssert();
+ self.bezelView.layer.cornerRadius = cornerRadius;
+}
+
+- (BOOL)dimBackground {
+ MBBackgroundView *backgroundView = self.backgroundView;
+ UIColor *dimmedColor = [UIColor colorWithWhite:0.f alpha:.2f];
+ return backgroundView.style == MBProgressHUDBackgroundStyleSolidColor && [backgroundView.color isEqual:dimmedColor];
+}
+
+- (void)setDimBackground:(BOOL)dimBackground {
+ MBMainThreadAssert();
+ self.backgroundView.style = MBProgressHUDBackgroundStyleSolidColor;
+ self.backgroundView.color = dimBackground ? [UIColor colorWithWhite:0.f alpha:.2f] : [UIColor clearColor];
+}
+
+- (CGSize)size {
+ return self.bezelView.frame.size;
+}
+
+- (UIColor *)activityIndicatorColor {
+ return _activityIndicatorColor;
+}
+
+- (void)setActivityIndicatorColor:(UIColor *)activityIndicatorColor {
+ if (activityIndicatorColor != _activityIndicatorColor) {
+ _activityIndicatorColor = activityIndicatorColor;
+ UIActivityIndicatorView *indicator = (UIActivityIndicatorView *)self.indicator;
+ if ([indicator isKindOfClass:[UIActivityIndicatorView class]]) {
+ [indicator setColor:activityIndicatorColor];
+ }
+ }
+}
+
+@end
+
+@implementation MBProgressHUDRoundedButton
+
+#pragma mark - Lifecycle
+
+- (instancetype)initWithFrame:(CGRect)frame {
+ self = [super initWithFrame:frame];
+ if (self) {
+ CALayer *layer = self.layer;
+ layer.borderWidth = 1.f;
+ }
+ return self;
+}
+
+#pragma mark - Layout
+
+- (void)layoutSubviews {
+ [super layoutSubviews];
+ // Fully rounded corners
+ CGFloat height = CGRectGetHeight(self.bounds);
+ self.layer.cornerRadius = ceil(height / 2.f);
+}
+
+- (CGSize)intrinsicContentSize {
+ // Only show if we have associated control events
+ if (self.allControlEvents == 0) return CGSizeZero;
+ CGSize size = [super intrinsicContentSize];
+ // Add some side padding
+ size.width += 20.f;
+ return size;
+}
+
+#pragma mark - Color
+
+- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state {
+ [super setTitleColor:color forState:state];
+ // Update related colors
+ [self setHighlighted:self.highlighted];
+ self.layer.borderColor = color.CGColor;
+}
+
+- (void)setHighlighted:(BOOL)highlighted {
+ [super setHighlighted:highlighted];
+ UIColor *baseColor = [self titleColorForState:UIControlStateSelected];
+ self.backgroundColor = highlighted ? [baseColor colorWithAlphaComponent:0.1f] : [UIColor clearColor];
}
@end
diff --git a/Example/Pods/MBProgressHUD/README.mdown b/Example/Pods/MBProgressHUD/README.mdown
index df9675675..1c8d10506 100644
--- a/Example/Pods/MBProgressHUD/README.mdown
+++ b/Example/Pods/MBProgressHUD/README.mdown
@@ -1,55 +1,66 @@
-# MBProgressHUD [](https://travis-ci.org/matej/MBProgressHUD)
+# MBProgressHUD
-MBProgressHUD is an iOS drop-in class that displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. The HUD is meant as a replacement for the undocumented, private UIKit UIProgressHUD with some additional features.
+[](https://travis-ci.org/matej/MBProgressHUD) [](https://codecov.io/github/matej/MBProgressHUD?branch=master)
+ [](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) [](https://cocoapods.org/pods/MBProgressHUD) [](http://opensource.org/licenses/MIT)
-[](http://dl.dropbox.com/u/378729/MBProgressHUD/1.png)
-[](http://dl.dropbox.com/u/378729/MBProgressHUD/2.png)
-[](http://dl.dropbox.com/u/378729/MBProgressHUD/3.png)
-[](http://dl.dropbox.com/u/378729/MBProgressHUD/4.png)
-[](http://dl.dropbox.com/u/378729/MBProgressHUD/5.png)
-[](http://dl.dropbox.com/u/378729/MBProgressHUD/6.png)
-[](http://dl.dropbox.com/u/378729/MBProgressHUD/7.png)
+`MBProgressHUD` is an iOS drop-in class that displays a translucent HUD with an indicator and/or labels while work is being done in a background thread. The HUD is meant as a replacement for the undocumented, private `UIKit` `UIProgressHUD` with some additional features.
+
+[](http://dl.dropbox.com/u/378729/MBProgressHUD/v1/1.png)
+[](http://dl.dropbox.com/u/378729/MBProgressHUD/v1/2.png)
+[](http://dl.dropbox.com/u/378729/MBProgressHUD/v1/3.png)
+[](http://dl.dropbox.com/u/378729/MBProgressHUD/v1/4.png)
+[](http://dl.dropbox.com/u/378729/MBProgressHUD/v1/5.png)
+[](http://dl.dropbox.com/u/378729/MBProgressHUD/v1/6.png)
+[](http://dl.dropbox.com/u/378729/MBProgressHUD/v1/7.png)
+
+**NOTE:** The class has recently undegone a major rewrite. The old version is available in the [legacy](https://github.com/jdg/MBProgressHUD/tree/legacy) branch, should you need it.
## Requirements
-MBProgressHUD works on any iOS version and is compatible with both ARC and non-ARC projects. It depends on the following Apple frameworks, which should already be included with most Xcode templates:
+`MBProgressHUD` works on iOS 6+ and requires ARC to build. It depends on the following Apple frameworks, which should already be included with most Xcode templates:
* Foundation.framework
* UIKit.framework
* CoreGraphics.framework
-You will need the latest developer tools in order to build MBProgressHUD. Old Xcode versions might work, but compatibility will not be explicitly maintained.
+You will need the latest developer tools in order to build `MBProgressHUD`. Old Xcode versions might work, but compatibility will not be explicitly maintained.
## Adding MBProgressHUD to your project
-### Cocoapods
+### CocoaPods
[CocoaPods](http://cocoapods.org) is the recommended way to add MBProgressHUD to your project.
-1. Add a pod entry for MBProgressHUD to your Podfile `pod 'MBProgressHUD', '~> 0.9.2'`
+1. Add a pod entry for MBProgressHUD to your Podfile `pod 'MBProgressHUD', '~> 1.0.0'`
2. Install the pod(s) by running `pod install`.
3. Include MBProgressHUD wherever you need it with `#import "MBProgressHUD.h"`.
+### Carthage
+
+1. Add MBProgressHUD to your Cartfile. e.g., `github "jdg/MBProgressHUD" ~> 1.0.0`
+2. Run `carthage update`
+3. Follow the rest of the [standard Carthage installation instructions](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application) to add MBProgressHUD to your project.
+
### Source files
Alternatively you can directly add the `MBProgressHUD.h` and `MBProgressHUD.m` source files to your project.
-1. Download the [latest code version](https://github.com/matej/MBProgressHUD/archive/master.zip) or add the repository as a git submodule to your git-tracked project.
-2. Open your project in Xcode, then drag and drop `MBProgressHUD.h` and `MBProgressHUD.m` onto your project (use the "Product Navigator view"). Make sure to select Copy items when asked if you extracted the code archive outside of your project.
+1. Download the [latest code version](https://github.com/matej/MBProgressHUD/archive/master.zip) or add the repository as a git submodule to your git-tracked project.
+2. Open your project in Xcode, then drag and drop `MBProgressHUD.h` and `MBProgressHUD.m` onto your project (use the "Product Navigator view"). Make sure to select Copy items when asked if you extracted the code archive outside of your project.
3. Include MBProgressHUD wherever you need it with `#import "MBProgressHUD.h"`.
### Static library
-You can also add MBProgressHUD as a static library to your project or workspace.
+You can also add MBProgressHUD as a static library to your project or workspace.
-1. Download the [latest code version](https://github.com/matej/MBProgressHUD/downloads) or add the repository as a git submodule to your git-tracked project.
-2. Open your project in Xcode, then drag and drop `MBProgressHUD.xcodeproj` onto your project or workspace (use the "Product Navigator view").
-3. Select your target and go to the Build phases tab. In the Link Binary With Libraries section select the add button. On the sheet find and add `libMBProgressHUD.a`. You might also need to add `MBProgressHUD` to the Target Dependencies list.
+1. Download the [latest code version](https://github.com/matej/MBProgressHUD/downloads) or add the repository as a git submodule to your git-tracked project.
+2. Open your project in Xcode, then drag and drop `MBProgressHUD.xcodeproj` onto your project or workspace (use the "Product Navigator view").
+3. Select your target and go to the Build phases tab. In the Link Binary With Libraries section select the add button. On the sheet find and add `libMBProgressHUD.a`. You might also need to add `MBProgressHUD` to the Target Dependencies list.
4. Include MBProgressHUD wherever you need it with `#import `.
## Usage
-The main guideline you need to follow when dealing with MBProgressHUD while running long-running tasks is keeping the main thread work-free, so the UI can be updated promptly. The recommended way of using MBProgressHUD is therefore to set it up on the main thread and then spinning the task, that you want to perform, off onto a new thread.
+The main guideline you need to follow when dealing with MBProgressHUD while running long-running tasks is keeping the main thread work-free, so the UI can be updated promptly. The recommended way of using MBProgressHUD is therefore to set it up on the main thread and then spinning the task, that you want to perform, off onto a new thread.
```objective-c
[MBProgressHUD showHUDAddedTo:self.view animated:YES];
@@ -61,7 +72,9 @@ dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
});
```
-If you need to configure the HUD you can do this by using the MBProgressHUD reference that showHUDAddedTo:animated: returns.
+You can add the HUD on any view or window. It is however a good idea to avoid adding the HUD to certain `UIKit` views with complex view hierarchies - like `UITableView` or `UICollectionView`. Those can mutate their subviews in unexpected ways and thereby break HUD display.
+
+If you need to configure the HUD you can do this by using the MBProgressHUD reference that showHUDAddedTo:animated: returns.
```objective-c
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
@@ -74,6 +87,18 @@ hud.labelText = @"Loading";
}];
```
+You can also use a `NSProgress` object and MBProgressHUD will update itself when there is progress reported through that object.
+
+```objective-c
+MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
+hud.mode = MBProgressHUDModeAnnularDeterminate;
+hud.labelText = @"Loading";
+NSProgress *progress = [self doSomethingInBackgroundCompletion:^{
+ [hud hide:YES];
+}];
+hud.progressObject = progress;
+```
+
UI updates should always be done on the main thread. Some MBProgressHUD setters are however considered "thread safe" and can be called from background threads. Those also include `setMode:`, `setCustomView:`, `setLabelText:`, `setLabelFont:`, `setDetailsLabelText:`, `setDetailsLabelFont:` and `setProgress:`.
If you need to run your long-running task in the main thread, you should perform it with a slight delay, so UIKit will have enough time to update the UI (i.e., draw the HUD) before you block the main thread with your task.
@@ -94,8 +119,8 @@ For more examples, including how to use MBProgressHUD with asynchronous operatio
## License
-This code is distributed under the terms and conditions of the [MIT license](LICENSE).
+This code is distributed under the terms and conditions of the [MIT license](LICENSE).
## Change-log
-A brief summary of each MBProgressHUD release can be found on the [wiki](https://github.com/matej/MBProgressHUD/wiki/Change-log).
+A brief summary of each MBProgressHUD release can be found in the [CHANGELOG](CHANGELOG.mdown).
diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock
index b2e52edfd..4b134f331 100644
--- a/Example/Pods/Manifest.lock
+++ b/Example/Pods/Manifest.lock
@@ -1,26 +1,19 @@
PODS:
- DACircularProgress (2.3.1)
- - Expecta (1.0.0)
- - Expecta+Snapshots (1.3.4):
- - Expecta (~> 1.0)
- - FBSnapshotTestCase (~> 1.8)
- - FBSnapshotTestCase (1.8.1)
- - MBProgressHUD (0.9.2)
+ - MBProgressHUD (1.0.0)
- MWPhotoBrowser (2.1.2):
- DACircularProgress (~> 2.3)
- - MBProgressHUD (~> 0.9)
- - SDWebImage (!= 3.7.2, ~> 3.7)
- - SDWebImage (3.7.5):
- - SDWebImage/Core (= 3.7.5)
- - SDWebImage/Core (3.7.5)
- - Specta (1.0.2)
+ - MBProgressHUD
+ - SDWebImage
+ - XCDYouTubeKit
+ - SDWebImage (4.0.0):
+ - SDWebImage/Core (= 4.0.0)
+ - SDWebImage/Core (4.0.0)
+ - XCDYouTubeKit (2.5.5)
DEPENDENCIES:
- - Expecta
- - Expecta+Snapshots
- - FBSnapshotTestCase
- MWPhotoBrowser (from `../`)
- - Specta
+ - XCDYouTubeKit
EXTERNAL SOURCES:
MWPhotoBrowser:
@@ -28,12 +21,11 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
DACircularProgress: 4dd437c0fc3da5161cb289e07ac449493d41db71
- Expecta: 32604574add2c46a36f8d2f716b6c5736eb75024
- Expecta+Snapshots: ca15bfb57e7a0f78f86c7699c2c54ffacfa4ad2a
- FBSnapshotTestCase: 3dc3899168747a0319c5278f5b3445c13a6532dd
- MBProgressHUD: 1569cf7ace17a8bac47aabfbb8580a49690386d1
- MWPhotoBrowser: 5836d7aa041dc05a13de380c246826578adc5ea5
- SDWebImage: 69c6303e3348fba97e03f65d65d4fbc26740f461
- Specta: 9cec98310dca411f7c7ffd6943552b501622abfe
+ MBProgressHUD: 4890f671c94e8a0f3cf959aa731e9de2f036d71a
+ MWPhotoBrowser: ff1338bbaa18628f4c0ddb1cda2400e4eb76f3f2
+ SDWebImage: 76a6348bdc74eb5a55dd08a091ef298e56b55e41
+ XCDYouTubeKit: 86f4e7a9c2baa7b7adf6abfc28ac3ab34927be2d
-COCOAPODS: 0.39.0
+PODFILE CHECKSUM: 8d80a550b39a400bc48ef7231048ba8671fc89d2
+
+COCOAPODS: 1.0.1
diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj
index 4009822f4..ccc13d299 100644
--- a/Example/Pods/Pods.xcodeproj/project.pbxproj
+++ b/Example/Pods/Pods.xcodeproj/project.pbxproj
@@ -1,9232 +1,1874 @@
-
-
-
-
- archiveVersion
- 1
- classes
-
- objectVersion
- 46
- objects
-
- 0043FDF25F85C0B2C11CEAE6B1C54D87
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- FBSnapshotTestController.m
- path
- FBSnapshotTestCase/FBSnapshotTestController.m
- sourceTree
- <group>
-
- 00518063767430EDC47FCC49F4409458
-
- fileRef
- 6CD3EC2C1FBF5655137A99638E9CC950
- isa
- PBXBuildFile
-
- 00641C72D7132E5890F1F7098337C3B5
-
- fileRef
- DF11024BF511A0D2225D4BA84770CED7
- isa
- PBXBuildFile
-
- 01F58E863C79FB5A8433D92837FFE619
-
- isa
- PBXTargetDependency
- name
- MBProgressHUD
- target
- FE2F1D7B9D9FCEA148517E4657B243F4
- targetProxy
- D47B0B4C04222F6784D38356F02BEB32
-
- 021C50274FF43A6F07E119D572C3ACB6
-
- fileRef
- DA7F16221783A03C084D9BAAF7F404DB
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 02C7E3EC1E1DFDD7046BD26A67E92686
-
- fileRef
- 981F3EB0C06E97770D2421E673B013A1
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 033AB851ACA0C118D009F781287565DD
-
- fileRef
- 1E360C94C47826C4CAEEDBFC04C36A42
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 0364DCB58A865A2830638D2C0CCED41C
-
- fileRef
- DF11024BF511A0D2225D4BA84770CED7
- isa
- PBXBuildFile
-
- 043124F225814F80E4ED4FF4BC40156A
-
- children
-
- 68F141757E1606330C04FEBE78CBCE4E
- 9F19BCDE9BF6E330E14588598DFC6337
- C6FE69AE06A770FF76C19B8039EC0780
- BD56223A67203315C1B15E39E3B40934
- 9C95EBE1D39EEFE5E6404691C95BE2E2
- 6F1FCA0BD48258CDEC1B14D704BA3E5D
- 1580BE8D870658FFFB9EF3D04B9213CC
-
- isa
- PBXGroup
- name
- Pods-MWPhotoBrowser_Tests
- path
- Target Support Files/Pods-MWPhotoBrowser_Tests
- sourceTree
- <group>
-
- 0498B98EB393D71314953683060EFD58
-
- fileRef
- EC0223776620A3EA741C855D0211CB0A
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 04D4EDE1F05B96EE8BB9DCD368608620
-
- baseConfigurationReference
- 805AE44C01D7936BA8A238C6C5C4807D
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/Specta/Specta-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- NO
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 0515A6974CBAF0F2F6F72BF87921704B
-
- buildConfigurations
-
- F6045A7604731086F9E1A9412E290302
- 589E7F4856ABE929D7FC9F3A9E506FC9
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 051AA4E51A019933DD1E5CE99CD7352A
-
- fileRef
- 0B92B054A2338462A743EB368F25A20B
- isa
- PBXBuildFile
-
- 05257CC76400D71826E603561A0F73E6
-
- buildConfigurationList
- 0515A6974CBAF0F2F6F72BF87921704B
- buildPhases
-
- 26D004126E0DEF14D67843A444753FFF
- 065410F935EC72489896726380B72CD0
- 9AF3FD4A822DCF644AB50D3967C43C14
-
- buildRules
-
- dependencies
-
- F601833D09980E16136321674463BE81
- 0DB9AA4B919BA54CFBC8FC6FD7AFB3F6
-
- isa
- PBXNativeTarget
- name
- Expecta+Snapshots
- productName
- Expecta+Snapshots
- productReference
- 6CD36438CB08D280978CEE50363D8B8B
- productType
- com.apple.product-type.library.static
-
- 052A17875CB827423D627183396CEB60
-
- buildSettings
-
- ALWAYS_SEARCH_USER_PATHS
- NO
- CLANG_CXX_LANGUAGE_STANDARD
- gnu++0x
- CLANG_CXX_LIBRARY
- libc++
- CLANG_ENABLE_MODULES
- YES
- CLANG_ENABLE_OBJC_ARC
- YES
- CLANG_WARN_BOOL_CONVERSION
- YES
- CLANG_WARN_CONSTANT_CONVERSION
- YES
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE
- YES
- CLANG_WARN_EMPTY_BODY
- YES
- CLANG_WARN_ENUM_CONVERSION
- YES
- CLANG_WARN_INT_CONVERSION
- YES
- CLANG_WARN_OBJC_ROOT_CLASS
- YES
- CLANG_WARN_UNREACHABLE_CODE
- YES
- CLANG_WARN__DUPLICATE_METHOD_MATCH
- YES
- COPY_PHASE_STRIP
- YES
- ENABLE_NS_ASSERTIONS
- NO
- GCC_C_LANGUAGE_STANDARD
- gnu99
- GCC_PREPROCESSOR_DEFINITIONS
-
- RELEASE=1
-
- GCC_WARN_64_TO_32_BIT_CONVERSION
- YES
- GCC_WARN_ABOUT_RETURN_TYPE
- YES
- GCC_WARN_UNDECLARED_SELECTOR
- YES
- GCC_WARN_UNINITIALIZED_AUTOS
- YES
- GCC_WARN_UNUSED_FUNCTION
- YES
- GCC_WARN_UNUSED_VARIABLE
- YES
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- STRIP_INSTALLED_PRODUCT
- NO
- SYMROOT
- ${SRCROOT}/../build
- VALIDATE_PRODUCT
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 0557FD60A45F62CD51B4972ECE5C2584
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- MBProgressHUD.xcconfig
- sourceTree
- <group>
-
- 05DA7841521B75C4D0C303F32E518117
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+respondTo.h
- path
- Expecta/Matchers/EXPMatchers+respondTo.h
- sourceTree
- <group>
-
- 060435B6E32CF028837E209B20E10639
-
- fileRef
- C6FE69AE06A770FF76C19B8039EC0780
- isa
- PBXBuildFile
-
- 065410F935EC72489896726380B72CD0
-
- buildActionMask
- 2147483647
- files
-
- 866569443B7D10AB5D6DC7FC0830235B
- 9933B0F6DA01EDF804C19260E9515E65
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 0668957FEB1B3CAE2EABBC4AA9ABA7C3
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SPTCallSite.m
- path
- Specta/Specta/SPTCallSite.m
- sourceTree
- <group>
-
- 0683DF2C9B7FC27B576AB4B7B3B146ED
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beGreaterThan.h
- path
- Expecta/Matchers/EXPMatchers+beGreaterThan.h
- sourceTree
- <group>
-
- 07282695806D1DFBF187BFA004D80641
-
- fileRef
- 700F6F4AFED22AEAA1D8943236F94924
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 072C184628072EDE522629576F1716DE
-
- fileRef
- 5E350F03F362C03BE32737DDE72D4632
- isa
- PBXBuildFile
-
- 0732716566238BF76BBF762F85C8ABAF
-
- buildConfigurations
-
- 617F18A93D7ABF1322E3C027265893C2
- 85A6795A5CD0C6DEA1F648AD0E6D1248
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 079AA0CF857B4A46F161666C58867CE1
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- MWPhotoBrowser-dummy.m
- sourceTree
- <group>
-
- 081F2104425CDCB0915354E2FBD7E24E
-
- fileRef
- 1D536F869C3B7D603AC4630F3F6AB919
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 098439AB598DDF1AF51146A2E3E2E562
-
- buildActionMask
- 2147483647
- files
-
- FC214077677D4F02E03C6C85F774E028
- 82FC12F67E83874B93592218E9FB4CA0
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 0A924BC847BA99EBCBD0588603448B05
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPBlockDefinedMatcher.h
- path
- Expecta/EXPBlockDefinedMatcher.h
- sourceTree
- <group>
-
- 0A9B8E3E35177F52A643739AC50B00FA
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- UIBarButtonItemArrowLeft.png
- sourceTree
- <group>
-
- 0AB1B49E98BEDDFC8A45BB3C1FB54076
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beSubclassOf.m
- path
- Expecta/Matchers/EXPMatchers+beSubclassOf.m
- sourceTree
- <group>
-
- 0B3C605995BE46623C50E7658A1CBE96
-
- fileRef
- CA8230DE5C83368629EF3E62C4F0E7B7
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 0B7E61991D03B44046913BF3B345F4DB
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- XCTest.framework
- path
- Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/XCTest.framework
- sourceTree
- DEVELOPER_DIR
-
- 0B8D4914244FCBC9DCAF2B9AD09F3DD5
-
- isa
- PBXTargetDependency
- name
- DACircularProgress
- target
- 9775596B3CA16905FC8F66DA8E2A3C67
- targetProxy
- 96AE2267633A27498E5D45052BDD5BBA
-
- 0B92B054A2338462A743EB368F25A20B
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- PlayButtonOverlayLargeTap@2x.png
- sourceTree
- <group>
-
- 0C1A29BFF65C6F2801B1BE0058718A19
-
- fileRef
- 37E4F69B3E6AFDEE8D68A3430CEC8BF5
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 0DB9AA4B919BA54CFBC8FC6FD7AFB3F6
-
- isa
- PBXTargetDependency
- name
- FBSnapshotTestCase
- target
- 7D9E32DAA93E15CFCF77A5BCD2D4BAA2
- targetProxy
- EE04EE8ADAB8F7DF7FCEFDDD1E801BE6
-
- 0DC4183837552F23710F86F9A032C574
-
- fileRef
- 5D39CEB65ADB521B117CA181C2BB2C9C
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 0EAAE557DE1A2949F0793F1230D1D046
-
- isa
- PBXTargetDependency
- name
- Expecta
- target
- 2F501FE84845EAD97B9087DAFCBBEE0E
- targetProxy
- A6FD2A9ACF0632CB41BE9AF1A13BD166
-
- 0EF1CB072B5DE5D0A4EE7053EB0E2364
-
- fileRef
- 574FFB37A8EF309B1A1EB265267DD353
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 0F43FEACB0C18DD4C724B1655AF47728
-
- fileRef
- 60ECF290B248258F453088B6258302E6
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 104AFE24D01F1C4495926B40B53C5945
-
- fileRef
- 92F064516748B6AA4C6E303A38C3FE6A
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 105B37778FEED1965C8D0AF4C9E4B4F1
-
- fileRef
- 487E0AD53E31FE34EC41B45FC09B9097
- isa
- PBXBuildFile
-
- 10E446637EC5FF03088009E61B491E75
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SDWebImageCompat.m
- path
- SDWebImage/SDWebImageCompat.m
- sourceTree
- <group>
-
- 10E68FD4A81F628778B6A4992DB9D952
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beTruthy.h
- path
- Expecta/Matchers/EXPMatchers+beTruthy.h
- sourceTree
- <group>
-
- 1181CB6FC2D63C42F19EAB56C604A71E
-
- fileRef
- A09DD0AB6A512D74E5628070EBD56026
- isa
- PBXBuildFile
-
- 1186EC1A35306EBBA8C3DE66F0973361
-
- fileRef
- B0DFED38A647950C79B13061F923258C
- isa
- PBXBuildFile
-
- 11CF0C44A36897A963C15B74C2AEC415
-
- fileRef
- 3DEC242716623D70F4CC9F4A1D32805C
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 123355D7F0D268DB0998FFB1CDD859B9
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MBProgressHUD-prefix.pch
- sourceTree
- <group>
-
- 1246A1C00980422020A6884856143651
-
- buildActionMask
- 2147483647
- files
-
- 0C1A29BFF65C6F2801B1BE0058718A19
- 0F43FEACB0C18DD4C724B1655AF47728
-
- isa
- PBXHeadersBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 1398D1B84667A17FCB66182F776EAC42
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SPTSharedExampleGroups.h
- path
- Specta/Specta/SPTSharedExampleGroups.h
- sourceTree
- <group>
-
- 13EA87F4C750EBB98261F8ED14EFE770
-
- isa
- PBXTargetDependency
- name
- Specta
- target
- E9AAC3590B391F4CFAF5F8348E6A8FE4
- targetProxy
- 659BCA5950BB094273E9E83E7D5271CF
-
- 143C0831AA95D723669324010D835391
-
- buildActionMask
- 2147483647
- files
-
- CF95446EA555B49150EA7270096D78B2
- 487899F028C39C1A518547A1AB2F625A
- FDF72740DBC37AFACFED73ED42282383
- 11CF0C44A36897A963C15B74C2AEC415
- 4383E0DB1B07B9EB3155EF5D5F27C7BA
- 104AFE24D01F1C4495926B40B53C5945
- 779CFE8771E1EF63F1313ABEBCECAA4A
- 49EFE75BAF060A33327F3CE8C18436F2
- 5F6D96E64F890BDC4A75B73C3D50A0DD
- F1F4E65611F5567A86AF797EAC3E225B
- A7141BC83638F4B38D4D312BAE3BDAC4
- CB08C9C83ABDBE55762A423ED48491EF
- AD6791D14732A3C17164F61CC72FFB0D
- A65C491577A425AF82C53F4A40A0A24B
- 2F9D3747596E4E074C3B776949091047
- 7436C602BB1CA7C91560C28DE749357B
- 63D0CD4F0FB5A6103E1DDB46E876CBB6
- C6671739E8C5904113586F8BEBBC9780
- 43A1104CA0C628C2F693902EADA32B8C
- E06376455C1D5E45B97ACDC5438FC15B
- BD30B724A71CF5D6E93805B7615EC79C
- 6D37BEAA1FC469C3582CACB4E9766502
- 5E8F33E777456DA63CA2D902508A9058
- C2BFF99EB859FD7056CF72C4850693D1
- 46F312CBB94BAE62B58D3D7AE28E8DBD
- B33234F432A72D5E8B65694AE937B78F
- 8059E5674B08670B0A002D564FFABF44
- 562BE99A6F630E709218EB9B3CF36E90
- 2239B5E63C5D2C1323D66F489F075C42
- 69EBB956302554EA37775F4D806BC4DD
- 7FEE0E8D094D7BCCAC7129473EE05ADC
- A26F992E8831118311F3DB7CB830595A
- E2EBD18BA89D3FF648947DF31FA12D44
- 40F505E69B8595361C2A7528DDA222B6
- 872948DAF79618AD725E0BF364E5DDD4
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 148F0DEDC306B5A6D48931EFD279E456
-
- children
-
- EF5AC1222120F3BAB7481DA9615352B0
- 4594A9E3FFD6ABE129882E959BB04B5E
- D5DEC16E7CEEFEABBFEBAC3A10358C5A
-
- isa
- PBXGroup
- name
- Support Files
- path
- ../Target Support Files/FBSnapshotTestCase
- sourceTree
- <group>
-
- 14BD3072FD1820402768B3D7F2E5B4A5
-
- fileRef
- 8952D588C0E5AD12FD9CF3747FD061F2
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 14C609D8F203FD45194E93997EFF744E
-
- fileRef
- 71865C216F48AC822D486C8D9B03B13C
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 15082EF0D1C2F7B77B63E0116BDA622C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPFloatTuple.m
- path
- Expecta/EXPFloatTuple.m
- sourceTree
- <group>
-
- 1580BE8D870658FFFB9EF3D04B9213CC
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- Pods-MWPhotoBrowser_Tests.release.xcconfig
- sourceTree
- <group>
-
- 1629A676793A787618A75ABDA6E20C56
-
- fileRef
- 8C4EC29461A90C294949DAE717A1BEC5
- isa
- PBXBuildFile
-
- 164BD2AFD03035E623A90DF1AA095C35
-
- fileRef
- 3B5A7151F8E4FBFE54BF6C2AC80958FA
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 1684C2FDDE674F14B731CC940021D8C6
-
- buildActionMask
- 2147483647
- files
-
- 00641C72D7132E5890F1F7098337C3B5
- 8C4ECAE46CD3BCB39F38F4FF20D074F6
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 16A268BA14BC07320BB7FBE44EB37FB4
-
- fileRef
- 3CD608194F35F47CEC250368B43C48E9
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 18391089432560093C31CCA48ABB46AE
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- NSValue+Expecta.h
- path
- Expecta/NSValue+Expecta.h
- sourceTree
- <group>
-
- 189B7D1A1C865073D7F999A759ACD292
-
- buildConfigurations
-
- FD6FA76757975A1FC954269CE5739798
- 257A97CE59C7E5D5191DC00F15C261BE
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 199EF76AC47B3EE9FA80BE53835AB7B1
-
- buildActionMask
- 2147483647
- files
-
- 66081D3480D1FA028C4DE2344BF616D4
- 69363A59A4E2FF95D6A62AA88641A20A
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 1A0D2B172232171C3EB6DC4DFE575EE7
-
- fileRef
- 079AA0CF857B4A46F161666C58867CE1
- isa
- PBXBuildFile
-
- 1A1E6F8D4C651A22BB8CCEF1226FB1EE
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- PlayButtonOverlayLarge@2x.png
- sourceTree
- <group>
-
- 1A1E8E8494B9BFCEBBD8273148D44386
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- UIImage+MultiFormat.h
- path
- SDWebImage/UIImage+MultiFormat.h
- sourceTree
- <group>
-
- 1AB26E75F7BCD415D6AD6B8BA5F03DDB
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beIdenticalTo.m
- path
- Expecta/Matchers/EXPMatchers+beIdenticalTo.m
- sourceTree
- <group>
-
- 1AFDF0F0EF2A314336EACA38FCC6F784
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SPTExample.m
- path
- Specta/Specta/SPTExample.m
- sourceTree
- <group>
-
- 1B030B50B68FB0D602F2E4B1685FA9BA
-
- isa
- PBXTargetDependency
- name
- MWPhotoBrowser
- target
- E2FE87384A67337831E53490EEA8BF11
- targetProxy
- B6CE0371E70FB931CC99A90CEBFD6E83
-
- 1B0ADBF8A991262A6DE5BD0CB101EEE0
-
- children
-
- 0557FD60A45F62CD51B4972ECE5C2584
- FC1172043A5F0542D166D63AE9EBC260
- 123355D7F0D268DB0998FFB1CDD859B9
-
- isa
- PBXGroup
- name
- Support Files
- path
- ../Target Support Files/MBProgressHUD
- sourceTree
- <group>
-
- 1BB15402D8C2FB01A198273BA1991DED
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beginWith.m
- path
- Expecta/Matchers/EXPMatchers+beginWith.m
- sourceTree
- <group>
-
- 1C1837DF96AE65F662773DF1956BFF09
-
- baseConfigurationReference
- 805AE44C01D7936BA8A238C6C5C4807D
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/Specta/Specta-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- YES
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 1CCE02DFD89EF9B58809C379D0496685
-
- isa
- PBXTargetDependency
- name
- Expecta+Snapshots
- target
- 05257CC76400D71826E603561A0F73E6
- targetProxy
- FE4A445C1692178764D9C71EAC64ABAC
-
- 1D536F869C3B7D603AC4630F3F6AB919
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- ExpectaObject.h
- path
- Expecta/ExpectaObject.h
- sourceTree
- <group>
-
- 1D772DC880BCFABF5028DA167DE6B119
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SPTExcludeGlobalBeforeAfterEach.h
- path
- Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h
- sourceTree
- <group>
-
- 1DD364708B768EB7C94DD9BB48F217F4
-
- fileRef
- D54993E311EDD8802711B01895286E4E
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 1E08912939425D011D7C47713E6CDAF0
-
- fileRef
- BD4E094BE48FCAB50C0CEFC92B2C0B04
- isa
- PBXBuildFile
-
- 1E360C94C47826C4CAEEDBFC04C36A42
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- XCTestCase+Specta.h
- path
- Specta/Specta/XCTestCase+Specta.h
- sourceTree
- <group>
-
- 1EF011C5AA1726984A1B50A46191CE9B
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- XCTest+Private.h
- path
- Specta/Specta/XCTest+Private.h
- sourceTree
- <group>
-
- 20503FB88D4DCF32DC61DD92AA97A82B
-
- fileRef
- 6C8B1153C440825B90681905FC2F85B9
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 2055A9E17F10DAA3DD7884DDF96A0A50
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- MWPhotoBrowser.xcconfig
- sourceTree
- <group>
-
- 216490FDC8376C36DB920710C65B92F3
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- MWTapDetectingImageView.m
- sourceTree
- <group>
-
- 216D98400141172993D43965B937A9C6
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- DE3B07ED7FF04F506B0C5E00F4973589
- remoteInfo
- SDWebImage
-
- 222A85D6DAB7D3AC98EF6D7E68B13740
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SDWebImageManager.h
- path
- SDWebImage/SDWebImageManager.h
- sourceTree
- <group>
-
- 2239B5E63C5D2C1323D66F489F075C42
-
- fileRef
- 7250BEF99A7686EAB50B17986FDCED3E
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 232510EC13760470E86AABE302EF2B8E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatcherHelpers.m
- path
- Expecta/Matchers/EXPMatcherHelpers.m
- sourceTree
- <group>
-
- 237FB063FB365119546C7B5006224F3B
-
- fileRef
- AB8960E6933BD274C11AD9C15CF410AF
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 244F3301C3C77C58A95FA7864D67858D
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageSelectedSmallOff@2x.png
- sourceTree
- <group>
-
- 24FAEADA1249F6042B4B4B135CDD0DF9
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+respondTo.m
- path
- Expecta/Matchers/EXPMatchers+respondTo.m
- sourceTree
- <group>
-
- 25003C5ED979935F9483683DD2350697
-
- children
-
- FDEE1AFEA9C68977819B7D652EE1F6F2
- 2ECFFDC2A7A648A930A461436E2ECC2D
- 6C92311B12AB812820A4267248D69CCB
-
- isa
- PBXGroup
- name
- MWPhotoBrowser
- path
- ../..
- sourceTree
- <group>
-
- 257A97CE59C7E5D5191DC00F15C261BE
-
- baseConfigurationReference
- EF5AC1222120F3BAB7481DA9615352B0
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- NO
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 2677C6B3B248613A05ABDFB423C9F02C
-
- children
-
- EB4DE2009B511D62CF6BFE67FA73E321
- 9374BBB3BA16684D1B858CCC9C3E2D8A
- 523087C6D186A9F5BEE78D39F9A78F3F
- 71BC183B1FB7AB5F8CF9A3383C6B354C
- C9B97F514121309E4531C3439E206EC7
- D5EE5F7C5A846B01ACF225DE04E52196
- B83D4C05E77991780CA69BF68B431DD2
-
- isa
- PBXGroup
- name
- Pods-MWPhotoBrowser_Example
- path
- Target Support Files/Pods-MWPhotoBrowser_Example
- sourceTree
- <group>
-
- 26D004126E0DEF14D67843A444753FFF
-
- buildActionMask
- 2147483647
- files
-
- 8B97E5CA574F06B315C5F1D27B25DEFB
- 1629A676793A787618A75ABDA6E20C56
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 27499458B06BE275AED9ACF720F09853
-
- fileRef
- 1D772DC880BCFABF5028DA167DE6B119
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 2779B434631901F1434BC316E3FB5AE9
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beNil.h
- path
- Expecta/Matchers/EXPMatchers+beNil.h
- sourceTree
- <group>
-
- 28A20AE3D7A1F50CAD0D9D8B71205EC6
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageSelectedOn@2x.png
- sourceTree
- <group>
-
- 29062DA699B861B896758C5A677765BD
-
- children
-
- 2677C6B3B248613A05ABDFB423C9F02C
- 043124F225814F80E4ED4FF4BC40156A
-
- isa
- PBXGroup
- name
- Targets Support Files
- sourceTree
- <group>
-
- 2945FAA75C956DD6A541EB51E42E6899
-
- fileRef
- FDE2A8151D1FDB6749FB32276220BE7C
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 2989492A1A182744E36FD61DF1746D94
-
- fileRef
- DF11024BF511A0D2225D4BA84770CED7
- isa
- PBXBuildFile
-
- 299B50B04F45E1A2F52075C3B7A1AEB2
-
- isa
- PBXTargetDependency
- name
- SDWebImage
- target
- DE3B07ED7FF04F506B0C5E00F4973589
- targetProxy
- 90C5595E0565CBEBB42EFEBB157FF619
-
- 29B6CC3E1560257A444A209D97AC271E
-
- fileRef
- 7599165E41821009340AA99FDAC29AE0
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 29E4E0528D088AE8B2EE6D38E19D375E
-
- fileRef
- 6C982719FDCF6684EB752A0153066FC3
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 29E6F040DB8ACF8886F7FE628840C480
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beKindOf.h
- path
- Expecta/Matchers/EXPMatchers+beKindOf.h
- sourceTree
- <group>
-
- 2A17721E4A81DB608CA6D4FB6F0ADAFB
-
- fileRef
- 3E7FFEF7BFB0350CE8FCC2D6D64D1396
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 2ACE82A15131DC569A786CB49EFD1804
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SPTCallSite.h
- path
- Specta/Specta/SPTCallSite.h
- sourceTree
- <group>
-
- 2BFB267A4274D5D4B277138F9D4EEDA1
-
- fileRef
- 2EDD6193448F7939784FDF1C8016F000
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 2D5EE41C6DDBA8F159EEA954F335387A
-
- isa
- PBXTargetDependency
- name
- MBProgressHUD
- target
- FE2F1D7B9D9FCEA148517E4657B243F4
- targetProxy
- FF6817E7D2D11A6D747BFAEA934D0FD1
-
- 2D6EC33CA8D9BD953AD29E16068F2CBD
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SDImageCache.h
- path
- SDWebImage/SDImageCache.h
- sourceTree
- <group>
-
- 2D8E8EC45A3A1A1D94AE762CB5028504
-
- buildConfigurations
-
- B37F0F91F85060E28F1DAAB522DC7EC1
- 052A17875CB827423D627183396CEB60
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 2DE374580729793C277006A3481402A3
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- VideoOverlay@2x.png
- sourceTree
- <group>
-
- 2E7CBF297AA8A0E93C23BFAF1BE94DEE
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beIdenticalTo.h
- path
- Expecta/Matchers/EXPMatchers+beIdenticalTo.h
- sourceTree
- <group>
-
- 2ECFFDC2A7A648A930A461436E2ECC2D
-
- children
-
- 37ACF2CCD5DA793FAF5F71CF8F469294
-
- isa
- PBXGroup
- name
- Resources
- sourceTree
- <group>
-
- 2EDD6193448F7939784FDF1C8016F000
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SDWebImageManager.m
- path
- SDWebImage/SDWebImageManager.m
- sourceTree
- <group>
-
- 2F29BE2EDEBA2861368726A4772F4E8E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SPTExample.h
- path
- Specta/Specta/SPTExample.h
- sourceTree
- <group>
-
- 2F501FE84845EAD97B9087DAFCBBEE0E
-
- buildConfigurationList
- 57205495CF13B4EE93B13B7B0E3A1BD2
- buildPhases
-
- 143C0831AA95D723669324010D835391
- 199EF76AC47B3EE9FA80BE53835AB7B1
- C6AD7852D34E8A80DFF3B8376BDE812F
-
- buildRules
-
- dependencies
-
- isa
- PBXNativeTarget
- name
- Expecta
- productName
- Expecta
- productReference
- ADEAC9FE1270035973745D0EB3B84395
- productType
- com.apple.product-type.library.static
-
- 2F9D3747596E4E074C3B776949091047
-
- fileRef
- 44D0D04C0DF98EC05B4909F397D6F7FF
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 2FD7E39AFBAB884FA64CFB5DBDFA1F7B
-
- children
-
- CBE0BF23E2B3F39D22B51BC93022DE7D
- B73F44C64FD91479CFE63C882F1E5E70
-
- isa
- PBXGroup
- name
- SDWebImage
- path
- SDWebImage
- sourceTree
- <group>
-
- 311D5C7B166178CCB79CFD7E8DD4F641
-
- fileRef
- D91F4635A8EDF54921FC9B759BE009F6
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 3173089CCB6C063D260C58DD7BA3ABF5
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beKindOf.m
- path
- Expecta/Matchers/EXPMatchers+beKindOf.m
- sourceTree
- <group>
-
- 319D6926D1261EB1150D83F672CCA35E
-
- fileRef
- A09DD0AB6A512D74E5628070EBD56026
- isa
- PBXBuildFile
-
- 32A9515F32A6ACB0753681241864BABA
-
- fileRef
- F1948E226356BF652752F9FA7317BC73
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 33985216BF501EDD56E784D7CAD32FE7
-
- fileRef
- B1A8AF86363A5D8093FFE48748DC20A1
- isa
- PBXBuildFile
-
- 339A0C1BFF72397A705959E03877DDDB
-
- fileRef
- 5F878B29A406784703BC9F07FBFDD99F
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 341D7536159B52F41598F730CC45D548
-
- fileRef
- 8136A5BFC35DA48ABC2C0D94EA79B7F0
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 34B2272FAB199A0B69B898BFB9E733E1
-
- fileRef
- DE369A67A17A1EE2351376730BB039A4
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 34F30E1314EC4C287E6B89477C2D0FB4
-
- fileRef
- 8E485F27A3C78223FB086075C2974A49
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 3540CB186FE2EE9EE99381DA600738B8
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- EXPMatchers+FBSnapshotTest.h
- sourceTree
- <group>
-
- 362D9038C23D156F9F055EDF5565A5F1
-
- children
-
- 7D8198AD59277CB0379442369CF5247E
- 730E6CDCF09A029F8976D82EB7DACCF2
- 69C3D12EC1F2F8AE628C05AC390D9D61
- C402F1446422CAB85FC53BD77E5E9018
- FCA01B035C5FC9AF0969977B2C54A7A9
- 5A531485C6A0D185C72E03CD91B49919
- A8B86384F8C46CE8544B59FEB6C657F5
- D8619A771228AD0402C4D464E3C6EE53
- C0A33FBAF4E7C28807891EC8D0B65204
- 9D6702575943BF5C71AD0E2299CB53E2
- AABA7597E19FD75C9F320BCD6BB2759E
- C266061F84E4CFB93AF99D21EEB13401
- 564C3E7A9D55850E48FAC93F77A7F478
- 6C8B1153C440825B90681905FC2F85B9
- 216490FDC8376C36DB920710C65B92F3
- 8952D588C0E5AD12FD9CF3747FD061F2
- 94A310E9C2919B9904E9AFBD2837C2B9
- AE6C39B87AE391EC710DA8FB520ED3F5
- A1195ED094D0C8B66BB073959AA2ACCD
- E7E794ADE2D5267DF8949DD0A42B935B
- 5289709799A254B807701A658BD9D425
-
- isa
- PBXGroup
- name
- Classes
- path
- Classes
- sourceTree
- <group>
-
- 37726FF893DE97CB8E4497EED1D4F28E
-
- fileRef
- 0668957FEB1B3CAE2EABBC4AA9ABA7C3
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 37ACF2CCD5DA793FAF5F71CF8F469294
-
- children
-
- 4F696B27FDAEF5BE2C52EFF1848239D6
-
- isa
- PBXGroup
- name
- Pod
- path
- Pod
- sourceTree
- <group>
-
- 37E4F69B3E6AFDEE8D68A3430CEC8BF5
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- DACircularProgressView.h
- path
- DACircularProgress/DACircularProgressView.h
- sourceTree
- <group>
-
- 386634C7797B60DF71C8AD13DAAD315D
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- 9775596B3CA16905FC8F66DA8E2A3C67
- remoteInfo
- DACircularProgress
-
- 38777F32EB3F13ED8D2047C1C9ED6D6D
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- UIView+WebCacheOperation.m
- path
- SDWebImage/UIView+WebCacheOperation.m
- sourceTree
- <group>
-
- 3907B3A4464A3069E24142505C76338D
-
- buildActionMask
- 2147483647
- files
-
- AAF71AC633AFEC1D271F81DA183E75F0
- 5116C7E5987E156AC4BAA9BF327459AD
- 5728F0AC6D99470A4AF64DA015991D65
- 16A268BA14BC07320BB7FBE44EB37FB4
- 87A80C8B1F0C635DA56B74807AE426D9
- 45F8F3DCD4679DF7E346A6589E02123D
- B2DE78D2D5A5CF173FEBFA2FE4B4023D
- 7D56DF05F0071D94121A050CDB772D56
- 27499458B06BE275AED9ACF720F09853
- C2420EB9004B4667C6328B5C0D098C48
- E40400D97F14785D20A7A5594F0E2C56
- 904DB6CCA2AAC8D7B3245ED9628E865A
- 4A0F7A4BC9D18113AABC29DECF4E51D1
- FEFA85FDDB15B89CF28DF12C1C2071E1
- 033AB851ACA0C118D009F781287565DD
-
- isa
- PBXHeadersBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 3939EE53B37025D6F0E05FF8A4C7DCF0
-
- fileRef
- AE1B7431EAFB4D89A49A9DAD35DBE790
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 3A013F13122CDB8EE962F8CB7C6FCC8E
-
- fileRef
- DFA142DA2A1E6AB454178652BAC9A075
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 3B332CC633C291A7A96AD0922CFD8AB0
-
- fileRef
- 2D6EC33CA8D9BD953AD29E16068F2CBD
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 3B5A7151F8E4FBFE54BF6C2AC80958FA
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- UIImage+Diff.h
- path
- FBSnapshotTestCase/UIImage+Diff.h
- sourceTree
- <group>
-
- 3C5A51B8AE7322A210CF01AFBA648598
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beInstanceOf.h
- path
- Expecta/Matchers/EXPMatchers+beInstanceOf.h
- sourceTree
- <group>
-
- 3CAA21F3728659DC1B58A336233AEB79
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- PlayButtonOverlayLarge.png
- sourceTree
- <group>
-
- 3CD608194F35F47CEC250368B43C48E9
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SpectaUtility.h
- path
- Specta/Specta/SpectaUtility.h
- sourceTree
- <group>
-
- 3DA2CF997A09E53F375CF0DEEF25AFCF
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+postNotification.m
- path
- Expecta/Matchers/EXPMatchers+postNotification.m
- sourceTree
- <group>
-
- 3DEC242716623D70F4CC9F4A1D32805C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- ExpectaObject.m
- path
- Expecta/ExpectaObject.m
- sourceTree
- <group>
-
- 3E463E2B6917D9AA08A03BA8A8E74A18
-
- fileRef
- B5969E17FAFFDC548233DC602AAC6211
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 3E7FFEF7BFB0350CE8FCC2D6D64D1396
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPExpect.h
- path
- Expecta/EXPExpect.h
- sourceTree
- <group>
-
- 3EF2F2E1AF840BA0B6AD13D59AA5F80C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- PlayButtonOverlayLargeTap@3x.png
- sourceTree
- <group>
-
- 3F1E0CB31108E6E996D2E7418FE21D2E
-
- fileRef
- 661962DFFB8F4AF681F8EA78582EE534
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 40D39B6435EEF47A85F4E3FB684E72FE
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- DACircularProgressView.m
- path
- DACircularProgress/DACircularProgressView.m
- sourceTree
- <group>
-
- 40DAD22BCDD38D058B1C9A312C42DF49
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beNil.m
- path
- Expecta/Matchers/EXPMatchers+beNil.m
- sourceTree
- <group>
-
- 40F505E69B8595361C2A7528DDA222B6
-
- fileRef
- B23D9E49B5B3A5C76EAFFC9C7F40B4B9
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 4209F7E4332FDC16B4C407CA07C3E8E8
-
- children
-
- 86A1ADA0F8A843FA09BFF9142BEF76D5
- A6A21F67B2A713138BF1A404E3460084
- 990C6F27E60B10F0E4BA0674D80F546B
-
- isa
- PBXGroup
- name
- Support Files
- path
- ../Target Support Files/Expecta
- sourceTree
- <group>
-
- 4231743B6C143BDB4A5FBB032E6D3799
-
- fileRef
- 865FAF448207E691D600F40C4ACF7C58
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 427921605A450AEF67D129DACCD87BED
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- MBProgressHUD.m
- sourceTree
- <group>
-
- 430CE433DB59FE090A8CC6AFCFA43337
-
- fileRef
- D10BA2216A9B5F41557B4FC448EE865C
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 4358F868C1553FF4273B0726E5AD2012
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageError.png
- sourceTree
- <group>
-
- 4383E0DB1B07B9EB3155EF5D5F27C7BA
-
- fileRef
- 4BE4F23029A1EDB234CF7F2AEB043EB0
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 439E7363C4854DD4D1E46F32C2EA2F3B
-
- fileRef
- 8F2B443FA0D511403E4DA2A79DB3302A
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 43A1104CA0C628C2F693902EADA32B8C
-
- fileRef
- 746A80915CF52BE732D200BAA851FBAB
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 4463CD014E8C258B7F8BF0FD64901B8F
-
- fileRef
- 63327617AD4F38D1236E71968B0991E5
- isa
- PBXBuildFile
-
- 44D0D04C0DF98EC05B4909F397D6F7FF
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beInstanceOf.m
- path
- Expecta/Matchers/EXPMatchers+beInstanceOf.m
- sourceTree
- <group>
-
- 453678659359A72C87495DDD6D9BD0C6
-
- fileRef
- 730E6CDCF09A029F8976D82EB7DACCF2
- isa
- PBXBuildFile
-
- 45548268D1B9EE9D37731231D940A591
-
- fileRef
- 4594A9E3FFD6ABE129882E959BB04B5E
- isa
- PBXBuildFile
-
- 4594A9E3FFD6ABE129882E959BB04B5E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- FBSnapshotTestCase-dummy.m
- sourceTree
- <group>
-
- 45F8F3DCD4679DF7E346A6589E02123D
-
- fileRef
- 569060A075537DFE6A4D25D96C98668B
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 46A2CE1545DEBE5FE9DF073C8EBFE2F0
-
- buildActionMask
- 2147483647
- files
-
- F5F4D07451FB3E10EE7C16A83010425F
- B8FC063009C06CE659C8CF168A9F8765
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 46F312CBB94BAE62B58D3D7AE28E8DBD
-
- fileRef
- 9D5AE460F3B78B02A8AE8E5AD0DCC013
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 46F871A74D831312A633CCFC0A94F75D
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageSelectedSmallOn.png
- sourceTree
- <group>
-
- 47BC96C02F9C3E09817E3FEC2559E33B
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SDWebImageDownloaderOperation.h
- path
- SDWebImage/SDWebImageDownloaderOperation.h
- sourceTree
- <group>
-
- 487899F028C39C1A518547A1AB2F625A
-
- fileRef
- D70BED84191514A998A08D7F3B8BBB17
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 487E0AD53E31FE34EC41B45FC09B9097
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- UIBarButtonItemArrowLeft@3x.png
- sourceTree
- <group>
-
- 49D43B7D98ABA386628BDA9FB6BA411B
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SPTGlobalBeforeAfterEach.h
- path
- Specta/Specta/SPTGlobalBeforeAfterEach.h
- sourceTree
- <group>
-
- 49EFE75BAF060A33327F3CE8C18436F2
-
- fileRef
- 232510EC13760470E86AABE302EF2B8E
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 4A0F7A4BC9D18113AABC29DECF4E51D1
-
- fileRef
- EF75C10714B7CFF9071553F07D94A550
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 4B72A26F758BB4CA3663A7FB67696029
-
- fileRef
- DBE203B988A948E71FDDCAE62BA1F4CC
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 4BE4F23029A1EDB234CF7F2AEB043EB0
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- ExpectaSupport.m
- path
- Expecta/ExpectaSupport.m
- sourceTree
- <group>
-
- 4C9C7890ED44DBC3090EEDFD92749F0A
-
- buildActionMask
- 2147483647
- files
-
- B733330A3935B54DE57E0503C1867DAE
- 9C8319C4AFAB3CAE3C7314EAD8D1AB34
- 4B72A26F758BB4CA3663A7FB67696029
- 37726FF893DE97CB8E4497EED1D4F28E
- EB75F515760C184B2ED65E8649DC5792
- 67BBF4202A90EC070C5EBE20B57A0255
- E127589B46F33617D24F341DBAE1E90D
- 439E7363C4854DD4D1E46F32C2EA2F3B
- 32A9515F32A6ACB0753681241864BABA
- D9E225250B8DAA16A4D7B6A66EC6574A
- 0B3C605995BE46623C50E7658A1CBE96
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 4CFA073D420411E3535ABA966BEE98CC
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- UIImage+GIF.h
- path
- SDWebImage/UIImage+GIF.h
- sourceTree
- <group>
-
- 4CFCAA497A77475D017F781F8241A4C0
-
- fileRef
- 5E350F03F362C03BE32737DDE72D4632
- isa
- PBXBuildFile
-
- 4D720BB8AE19E427E58843509B28FEB6
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- name
- libPods-MWPhotoBrowser_Example.a
- path
- libPods-MWPhotoBrowser_Example.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 4DCDDE359E1F3BB419E0F7E9DD12CBB6
-
- fileRef
- 6CA9CE30C9B7FD5557F8DD0E06209E36
- isa
- PBXBuildFile
-
- 4F696B27FDAEF5BE2C52EFF1848239D6
-
- children
-
- 4358F868C1553FF4273B0726E5AD2012
- ABDF044BC66387B0E03E70BAC09D0AC8
- BA9181C8B2773795F2EACBDE286994AD
- 6CA9CE30C9B7FD5557F8DD0E06209E36
- E6798A1D89E725C8EB02146EE4B0E31E
- D2307EC60BB4D23E49C1420E6F192943
- F2334A461A36CF285AC6F7E96F8FE0DB
- 28A20AE3D7A1F50CAD0D9D8B71205EC6
- C9BF70FB69B8740763B185C23C560434
- BD4E094BE48FCAB50C0CEFC92B2C0B04
- 244F3301C3C77C58A95FA7864D67858D
- 60E1461AAED23D358B1A25A48F9DD77F
- 46F871A74D831312A633CCFC0A94F75D
- E4436D58F27EAC932F3CC2A7619D5FD3
- CB3EA5CC56581FD52BDBA0179D956E7B
- 3CAA21F3728659DC1B58A336233AEB79
- 1A1E6F8D4C651A22BB8CCEF1226FB1EE
- 75F83323F205A277BEC18AABDA0FA739
- 6D7C34F3A270979025E31A50FFFC7F28
- 0B92B054A2338462A743EB368F25A20B
- 3EF2F2E1AF840BA0B6AD13D59AA5F80C
- 0A9B8E3E35177F52A643739AC50B00FA
- C36BB9623ECA2B27942B66986A784EC9
- 487E0AD53E31FE34EC41B45FC09B9097
- BDD78DD77E210708F222D40A2FDE75B1
- 8DC04A9EEA14F0D2300FB6C0CAEB9CAB
- 7323B64F45BBE15A70D98D5E7FBF31C8
- C162177585DC8E186D24CADCC233B0EA
- 8439940A3793CF65B24F4185E04317D8
- D64041D7A1004D2C8771C29362B59366
- 8F3064A5B520D1E4290AA240A05B7D6F
- 2DE374580729793C277006A3481402A3
- 9604D510A96A637DD9AE0D304B68A5A2
-
- isa
- PBXGroup
- name
- Assets
- path
- Assets
- sourceTree
- <group>
-
- 5023A97277B66BB3E83DA779FEBAE80C
-
- fileRef
- 94A310E9C2919B9904E9AFBD2837C2B9
- isa
- PBXBuildFile
-
- 505D7B9189B81314EF02A1E9479972D0
-
- children
-
- 3540CB186FE2EE9EE99381DA600738B8
- 8C4EC29461A90C294949DAE717A1BEC5
- 6772D2471C34E5B39F0D3E7D0E235DA0
-
- isa
- PBXGroup
- name
- Expecta+Snapshots
- path
- Expecta+Snapshots
- sourceTree
- <group>
-
- 50F87BFDC26A0B4CC6DE06D3ACBD0714
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- name
- libMWPhotoBrowser.a
- path
- libMWPhotoBrowser.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 5116C7E5987E156AC4BAA9BF327459AD
-
- fileRef
- 9BF2584F8D336EF737485D7396CFBAFF
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 518626B93DA6269F02901D111B4DBF26
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- UIButton+WebCache.h
- path
- SDWebImage/UIButton+WebCache.h
- sourceTree
- <group>
-
- 518937C0924DA3A3DD216697CED9205F
-
- fileRef
- D615D83AA6E624C9EEFAB11B6DAB4612
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 523087C6D186A9F5BEE78D39F9A78F3F
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- Pods-MWPhotoBrowser_Example-dummy.m
- sourceTree
- <group>
-
- 5289709799A254B807701A658BD9D425
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- UIImage+MWPhotoBrowser.m
- sourceTree
- <group>
-
- 53A65E3DDAAB4288F448625574686617
-
- fileRef
- A59CA631962D8BFBF1D8BA4BA8F1F223
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 53FA1A78374A52A66FBFD0691645BCB8
-
- buildActionMask
- 2147483647
- files
-
- B25B4A401CE0322E5FA936642D8E8A36
- E145A7E23B46A8C1E1549511735A041D
- DD7BDEE57A8E95F9F327AC87B6A78256
- BEEAFC79B66B12E6D67D140381BE25F2
- 618AF4F15226C5AED0802286F3763EF4
- B52658FC373BA42C6DBF475CAEA30F09
- FFF549D1FBC0937A99BED40CC44BC155
- 760A4E328E68E43D12295FA08F7475FD
- 20503FB88D4DCF32DC61DD92AA97A82B
- 14BD3072FD1820402768B3D7F2E5B4A5
- FB42B2F11B39412F3015A082008F1782
- E54B859019C3D44B55F4723880F93D4D
-
- isa
- PBXHeadersBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 53FB0CBA14BE53F79F4EB4E7B46C523B
-
- fileRef
- DF11024BF511A0D2225D4BA84770CED7
- isa
- PBXBuildFile
-
- 56228B3CBF246784930BFE7B29EFDD04
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SPTCompiledExample.m
- path
- Specta/Specta/SPTCompiledExample.m
- sourceTree
- <group>
-
- 562BE99A6F630E709218EB9B3CF36E90
-
- fileRef
- 6CF3D336192327338965DC88856BDFCF
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 564C3E7A9D55850E48FAC93F77A7F478
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWPhotoProtocol.h
- sourceTree
- <group>
-
- 567A47FABAD9EE8B7DF32295CC53F937
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+endWith.h
- path
- Expecta/Matchers/EXPMatchers+endWith.h
- sourceTree
- <group>
-
- 569060A075537DFE6A4D25D96C98668B
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SPTCompiledExample.h
- path
- Specta/Specta/SPTCompiledExample.h
- sourceTree
- <group>
-
- 56BD615DEEA3BC153C0B73BAC8A60A13
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+endWith.m
- path
- Expecta/Matchers/EXPMatchers+endWith.m
- sourceTree
- <group>
-
- 571096112AA1AD00C10596D216783599
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SPTExampleGroup.m
- path
- Specta/Specta/SPTExampleGroup.m
- sourceTree
- <group>
-
- 57205495CF13B4EE93B13B7B0E3A1BD2
-
- buildConfigurations
-
- F84C57B89A97BB8108482354FFD8E157
- 9D77DAC945EC22411297CBC957C966F0
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 5728F0AC6D99470A4AF64DA015991D65
-
- fileRef
- 6347B71E8C22BA00F73AB093F101B7D4
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 5748A5F5926815AF7CCC45FA80943763
-
- fileRef
- B0329B325C97BC663835390843F985CE
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 574FFB37A8EF309B1A1EB265267DD353
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SDWebImageDownloader.h
- path
- SDWebImage/SDWebImageDownloader.h
- sourceTree
- <group>
-
- 5813251FEA21E4AEE97385709F1912DE
-
- buildConfigurationList
- 9F1294BB80138FB7DEE240DF61EC1523
- buildPhases
-
- DE0797009C8330FFDB1FC0EB8D2DA9DD
- F2BDF8E898C762EFB3844211CE201024
- 9987EAA3314FDCBDC6783C325695E1D8
-
- buildRules
-
- dependencies
-
- isa
- PBXNativeTarget
- name
- MWPhotoBrowser-MWPhotoBrowser
- productName
- MWPhotoBrowser-MWPhotoBrowser
- productReference
- 8261C05543EA69BA5F136A06D5005C50
- productType
- com.apple.product-type.bundle
-
- 589CDFB90C98BF58F34B688A2BEF2D04
-
- fileRef
- DF11024BF511A0D2225D4BA84770CED7
- isa
- PBXBuildFile
-
- 589E7F4856ABE929D7FC9F3A9E506FC9
-
- baseConfigurationReference
- FAF77DDAA41AC524C38F1D92F2EE01AB
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/Expecta+Snapshots/Expecta+Snapshots-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- NO
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 59DA6D130464A9F97CD181877DD36CB7
-
- fileRef
- 6B1C830074F8BFC3AE3CB3A5278754A8
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 59E65BF5E40AA0C59E0BBC07807714F1
-
- baseConfigurationReference
- D5EE5F7C5A846B01ACF225DE04E52196
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MACH_O_TYPE
- staticlib
- MTL_ENABLE_DEBUG_INFO
- YES
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PODS_ROOT
- $(SRCROOT)
- PRODUCT_NAME
- $(TARGET_NAME)
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 5A06D9F124A077FE3345C713135D7E6C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- NSValue+Expecta.m
- path
- Expecta/NSValue+Expecta.m
- sourceTree
- <group>
-
- 5A531485C6A0D185C72E03CD91B49919
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWGridViewController.h
- sourceTree
- <group>
-
- 5A859FF87C3507C937241DD78BD95EF3
-
- fileRef
- 6D7C34F3A270979025E31A50FFFC7F28
- isa
- PBXBuildFile
-
- 5CD9AEB21836919899CDA3A9D9510998
-
- buildConfigurations
-
- 59E65BF5E40AA0C59E0BBC07807714F1
- 5DBFCD132D088BC182C9B82D9A6F90D9
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 5D39CEB65ADB521B117CA181C2BB2C9C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- UIImageView+HighlightedWebCache.h
- path
- SDWebImage/UIImageView+HighlightedWebCache.h
- sourceTree
- <group>
-
- 5DBFCD132D088BC182C9B82D9A6F90D9
-
- baseConfigurationReference
- B83D4C05E77991780CA69BF68B431DD2
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MACH_O_TYPE
- staticlib
- MTL_ENABLE_DEBUG_INFO
- NO
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PODS_ROOT
- $(SRCROOT)
- PRODUCT_NAME
- $(TARGET_NAME)
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 5E350F03F362C03BE32737DDE72D4632
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- QuartzCore.framework
- path
- Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/QuartzCore.framework
- sourceTree
- DEVELOPER_DIR
-
- 5E8F33E777456DA63CA2D902508A9058
-
- fileRef
- C2CEB9C1175C4FC4D5BE5C6EF285E0A4
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 5EB4F27B76513AE918BA5AE0868E87C8
-
- fileRef
- EF4D256729962DC82677BF90E861294B
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 5EB6A7FF5E92B3E2E96A92367BE4AA32
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- 7D9E32DAA93E15CFCF77A5BCD2D4BAA2
- remoteInfo
- FBSnapshotTestCase
-
- 5F4AECEF356E35995112F9167B219AD6
-
- fileRef
- AF944A6486FDAD944BE766A70129E6D2
- isa
- PBXBuildFile
-
- 5F6D96E64F890BDC4A75B73C3D50A0DD
-
- fileRef
- D68BA9A93FD415E751DFA95CCF7DCB8D
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 5F878B29A406784703BC9F07FBFDD99F
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+postNotification.h
- path
- Expecta/Matchers/EXPMatchers+postNotification.h
- sourceTree
- <group>
-
- 60262C4B68C1B0EF7D3E4FADACB10CD7
-
- fileRef
- 222A85D6DAB7D3AC98EF6D7E68B13740
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 60D3CCEB5B53542228790ABD8885AF42
-
- fileRef
- 18391089432560093C31CCA48ABB46AE
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 60E1461AAED23D358B1A25A48F9DD77F
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageSelectedSmallOff@3x.png
- sourceTree
- <group>
-
- 60ECF290B248258F453088B6258302E6
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- DALabeledCircularProgressView.h
- path
- DACircularProgress/DALabeledCircularProgressView.h
- sourceTree
- <group>
-
- 617F18A93D7ABF1322E3C027265893C2
-
- baseConfigurationReference
- 2055A9E17F10DAA3DD7884DDF96A0A50
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/MWPhotoBrowser/MWPhotoBrowser-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- YES
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 618AF4F15226C5AED0802286F3763EF4
-
- fileRef
- D8619A771228AD0402C4D464E3C6EE53
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 619B0B2F7ACD42F8EF700EAE6D1C95DA
-
- buildConfigurations
-
- CB7148E744A9D03AEDC9D4809248999F
- 86334F1A4DF0160C4B098EF643AB6E07
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 63010FB3922AB3E2DDD6D8CDD2D10BFA
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+conformTo.m
- path
- Expecta/Matchers/EXPMatchers+conformTo.m
- sourceTree
- <group>
-
- 63327617AD4F38D1236E71968B0991E5
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- FBSnapshotTestCase.m
- path
- FBSnapshotTestCase/FBSnapshotTestCase.m
- sourceTree
- <group>
-
- 6347B71E8C22BA00F73AB093F101B7D4
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SpectaTypes.h
- path
- Specta/Specta/SpectaTypes.h
- sourceTree
- <group>
-
- 63B3276116DCC036DC3FF64871C5B34A
-
- fileRef
- 9BDA7CB400BA41525D0DAC5E267B2670
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 63D0CD4F0FB5A6103E1DDB46E876CBB6
-
- fileRef
- 3173089CCB6C063D260C58DD7BA3ABF5
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 64734F2BA63DAFDA24F819EE71704665
-
- fileRef
- 7323B64F45BBE15A70D98D5E7FBF31C8
- isa
- PBXBuildFile
-
- 659BCA5950BB094273E9E83E7D5271CF
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- E9AAC3590B391F4CFAF5F8348E6A8FE4
- remoteInfo
- Specta
-
- 65F75ED4B34CEDF568441FBC95BA1459
-
- fileRef
- 244F3301C3C77C58A95FA7864D67858D
- isa
- PBXBuildFile
-
- 66081D3480D1FA028C4DE2344BF616D4
-
- fileRef
- DF11024BF511A0D2225D4BA84770CED7
- isa
- PBXBuildFile
-
- 661962DFFB8F4AF681F8EA78582EE534
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- UIButton+WebCache.m
- path
- SDWebImage/UIButton+WebCache.m
- sourceTree
- <group>
-
- 664FB9826D0F046AB6CE15196CC120B7
-
- fileRef
- A1BF1E794449AF3F514B2EE3C85F4B10
- isa
- PBXBuildFile
-
- 66D391F04A8D672C0D42510DE811E7B2
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- NSObject+Expecta.h
- path
- Expecta/NSObject+Expecta.h
- sourceTree
- <group>
-
- 6772D2471C34E5B39F0D3E7D0E235DA0
-
- children
-
- FAF77DDAA41AC524C38F1D92F2EE01AB
- 785A993DF42B3ABEF658B85E1F47663F
- F5551459CFCB6B7914E9EC1783277D94
-
- isa
- PBXGroup
- name
- Support Files
- path
- ../Target Support Files/Expecta+Snapshots
- sourceTree
- <group>
-
- 67BBF4202A90EC070C5EBE20B57A0255
-
- fileRef
- 1AFDF0F0EF2A314336EACA38FCC6F784
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 688EFB46F8559BD675FD06384ABA49E1
-
- fileRef
- C162177585DC8E186D24CADCC233B0EA
- isa
- PBXBuildFile
-
- 68F141757E1606330C04FEBE78CBCE4E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text
- path
- Pods-MWPhotoBrowser_Tests-acknowledgements.markdown
- sourceTree
- <group>
-
- 691CE6B20E64762C98682B93B31435E7
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SPTSpec.h
- path
- Specta/Specta/SPTSpec.h
- sourceTree
- <group>
-
- 6924E116731D7079958063A3EE0781ED
-
- fileRef
- 6ED6BE9A61002A3AF6D4C834E2277D8C
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 69363A59A4E2FF95D6A62AA88641A20A
-
- fileRef
- 0B7E61991D03B44046913BF3B345F4DB
- isa
- PBXBuildFile
-
- 69C3D12EC1F2F8AE628C05AC390D9D61
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWCommon.h
- sourceTree
- <group>
-
- 69DC2FB163EAB23712D9C3C13C72518E
-
- fileRef
- C77F8C54B4042EC0746E5D285E7D400A
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 69EBB956302554EA37775F4D806BC4DD
-
- fileRef
- 3DA2CF997A09E53F375CF0DEEF25AFCF
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 6A4E3ACA285A21392936C110E7EC91F0
-
- fileRef
- 7AAD7709C9FF6828905D6A28E69C4221
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 6B1C830074F8BFC3AE3CB3A5278754A8
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- UIImage+GIF.m
- path
- SDWebImage/UIImage+GIF.m
- sourceTree
- <group>
-
- 6C8B1153C440825B90681905FC2F85B9
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWTapDetectingImageView.h
- sourceTree
- <group>
-
- 6C92311B12AB812820A4267248D69CCB
-
- children
-
- 2055A9E17F10DAA3DD7884DDF96A0A50
- 079AA0CF857B4A46F161666C58867CE1
- BA4C6CCE8BCEAFA07BB2679C87A008C5
-
- isa
- PBXGroup
- name
- Support Files
- path
- Example/Pods/Target Support Files/MWPhotoBrowser
- sourceTree
- <group>
-
- 6C982719FDCF6684EB752A0153066FC3
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SDWebImageDecoder.m
- path
- SDWebImage/SDWebImageDecoder.m
- sourceTree
- <group>
-
- 6CA9CE30C9B7FD5557F8DD0E06209E36
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageSelectedOff.png
- sourceTree
- <group>
-
- 6CD36438CB08D280978CEE50363D8B8B
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- name
- libExpecta+Snapshots.a
- path
- libExpecta+Snapshots.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 6CD3EC2C1FBF5655137A99638E9CC950
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- MediaPlayer.framework
- path
- Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/MediaPlayer.framework
- sourceTree
- DEVELOPER_DIR
-
- 6CF3D336192327338965DC88856BDFCF
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+haveCountOf.m
- path
- Expecta/Matchers/EXPMatchers+haveCountOf.m
- sourceTree
- <group>
-
- 6D37BEAA1FC469C3582CACB4E9766502
-
- fileRef
- EC9E28E1F941952C6708902F41FD209D
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 6D7C34F3A270979025E31A50FFFC7F28
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- PlayButtonOverlayLargeTap.png
- sourceTree
- <group>
-
- 6D8154E68B3360EE1C8DA3A4443096F3
-
- isa
- PBXTargetDependency
- name
- SDWebImage
- target
- DE3B07ED7FF04F506B0C5E00F4973589
- targetProxy
- 216D98400141172993D43965B937A9C6
-
- 6E43863A0284BCD9B517C3AE49207A9D
-
- buildActionMask
- 2147483647
- files
-
- 9D6E638E56BDAD3C2196ED9C28FAF857
- 1DD364708B768EB7C94DD9BB48F217F4
- 723DCD855EFE5AC009B1D2FFE88373C7
- 5748A5F5926815AF7CCC45FA80943763
- 164BD2AFD03035E623A90DF1AA095C35
-
- isa
- PBXHeadersBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 6EB2498C2AFB1DF8555CB7C1EF89CA5C
-
- fileRef
- F5963246D32249D4D198CE8A36B4DD12
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 6ED6BE9A61002A3AF6D4C834E2277D8C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers.h
- path
- Expecta/Matchers/EXPMatchers.h
- sourceTree
- <group>
-
- 6EEA87D8E87914D02AA319693371EE2C
-
- fileRef
- AABA7597E19FD75C9F320BCD6BB2759E
- isa
- PBXBuildFile
-
- 6F1FCA0BD48258CDEC1B14D704BA3E5D
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- Pods-MWPhotoBrowser_Tests.debug.xcconfig
- sourceTree
- <group>
-
- 6FAC17B355970FC2EBFADA7C72544799
-
- buildActionMask
- 2147483647
- files
-
- D041545E1DB9D43FCBB294B7E9573AFF
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 700F6F4AFED22AEAA1D8943236F94924
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatcher.h
- path
- Expecta/EXPMatcher.h
- sourceTree
- <group>
-
- 70545E4EA86C6E593A2A9F6731DA8F6D
-
- fileRef
- 10E68FD4A81F628778B6A4992DB9D952
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 70922EF029715CA28E814F87373F29C4
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+equal.m
- path
- Expecta/Matchers/EXPMatchers+equal.m
- sourceTree
- <group>
-
- 70D801E0B95C23BCC270E4EC8659D463
-
- fileRef
- DB7D9B8599935A5FF3862B90E049CABD
- isa
- PBXBuildFile
-
- 717B38CC8B651B61F35E12EE4211DAF0
-
- baseConfigurationReference
- 2055A9E17F10DAA3DD7884DDF96A0A50
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- PRODUCT_NAME
- MWPhotoBrowser
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
- WRAPPER_EXTENSION
- bundle
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- 71865C216F48AC822D486C8D9B03B13C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beSubclassOf.h
- path
- Expecta/Matchers/EXPMatchers+beSubclassOf.h
- sourceTree
- <group>
-
- 719353E5F5BDD19B2D80B273F365F2BF
-
- children
-
- 25003C5ED979935F9483683DD2350697
-
- isa
- PBXGroup
- name
- Development Pods
- sourceTree
- <group>
-
- 71BC183B1FB7AB5F8CF9A3383C6B354C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.script.sh
- path
- Pods-MWPhotoBrowser_Example-frameworks.sh
- sourceTree
- <group>
-
- 722090AAE01BA442E883E6F02AA8DF40
-
- buildConfigurationList
- 8BEDD694C8600B014302155F48FD5B08
- buildPhases
-
- A07F4B785B315E5B075218A988F05149
- 6FAC17B355970FC2EBFADA7C72544799
-
- buildRules
-
- dependencies
-
- 0B8D4914244FCBC9DCAF2B9AD09F3DD5
- 0EAAE557DE1A2949F0793F1230D1D046
- 1CCE02DFD89EF9B58809C379D0496685
- 9F0508C4938477BDB11EAF1F3A6960E7
- 01F58E863C79FB5A8433D92837FFE619
- A815E988348FB8A8B609F012516ABD15
- D359D2CDD896874DAD7B6D2EF3FEE26D
- 13EA87F4C750EBB98261F8ED14EFE770
-
- isa
- PBXNativeTarget
- name
- Pods-MWPhotoBrowser_Tests
- productName
- Pods-MWPhotoBrowser_Tests
- productReference
- E0EBF0357895E0C657A233A9D4D0E2C1
- productType
- com.apple.product-type.library.static
-
- 723DCD855EFE5AC009B1D2FFE88373C7
-
- fileRef
- 8E108520195BF6568A4A53786EA7B6F0
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 7250BEF99A7686EAB50B17986FDCED3E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+match.m
- path
- Expecta/Matchers/EXPMatchers+match.m
- sourceTree
- <group>
-
- 730E6CDCF09A029F8976D82EB7DACCF2
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- MWCaptionView.m
- sourceTree
- <group>
-
- 7323B64F45BBE15A70D98D5E7FBF31C8
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- UIBarButtonItemArrowRight@3x.png
- sourceTree
- <group>
-
- 7357CD98F48585C602A75C901AD5E096
-
- buildActionMask
- 2147483647
- files
-
- 63B3276116DCC036DC3FF64871C5B34A
- 34B2272FAB199A0B69B898BFB9E733E1
- 33985216BF501EDD56E784D7CAD32FE7
- EDDE097EFD40E9A4E32E4B44C97CE44B
- 29E4E0528D088AE8B2EE6D38E19D375E
- 53A65E3DDAAB4288F448625574686617
- 29B6CC3E1560257A444A209D97AC271E
- 2BFB267A4274D5D4B277138F9D4EEDA1
- DC1F1DBD53679CB78C5967BA9DEC08CA
- 3F1E0CB31108E6E996D2E7418FE21D2E
- 59DA6D130464A9F97CD181877DD36CB7
- B28719F6B1978267C407032A2AE646F8
- DFAB389ECAD69BF8BE6357CFADABBF5C
- 7D3B3786F1D6CED2CE141B2B1BDAE012
- F3BB0A963277282C6BF73E81250B6943
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 7389D03E90A74E5A200DD5ADBB209885
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- DACircularProgress.xcconfig
- sourceTree
- <group>
-
- 7436C602BB1CA7C91560C28DE749357B
-
- fileRef
- F9B2375A6E20F2774E7B3F08FB92909E
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 746A80915CF52BE732D200BAA851FBAB
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beLessThanOrEqualTo.m
- path
- Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m
- sourceTree
- <group>
-
- 74707D5ABEC55B3084F52C40A4227B06
-
- fileRef
- 2779B434631901F1434BC316E3FB5AE9
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 74A9CCFEBE692130454C41959EBA5254
-
- fileRef
- 8A00437F88A0C89CD672C2085CCCF62B
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 7599165E41821009340AA99FDAC29AE0
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SDWebImageDownloaderOperation.m
- path
- SDWebImage/SDWebImageDownloaderOperation.m
- sourceTree
- <group>
-
- 75F83323F205A277BEC18AABDA0FA739
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- PlayButtonOverlayLarge@3x.png
- sourceTree
- <group>
-
- 760A4E328E68E43D12295FA08F7475FD
-
- fileRef
- 564C3E7A9D55850E48FAC93F77A7F478
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 76331E71086C8CD5118A69B046D8F0FB
-
- fileRef
- 567A47FABAD9EE8B7DF32295CC53F937
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 76C42C41A4B61435A3315770F58154B2
-
- fileRef
- 8F3064A5B520D1E4290AA240A05B7D6F
- isa
- PBXBuildFile
-
- 779CFE8771E1EF63F1313ABEBCECAA4A
-
- fileRef
- 15082EF0D1C2F7B77B63E0116BDA622C
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 785A993DF42B3ABEF658B85E1F47663F
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- Expecta+Snapshots-dummy.m
- sourceTree
- <group>
-
- 78759DF877B83416A90AA2BC606BF7ED
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SDWebImagePrefetcher.m
- path
- SDWebImage/SDWebImagePrefetcher.m
- sourceTree
- <group>
-
- 788D548DE837CA2FA9D2D744D64FA847
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+raise.m
- path
- Expecta/Matchers/EXPMatchers+raise.m
- sourceTree
- <group>
-
- 79996E262256F57DB50CD16E5EBE5D52
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatcherHelpers.h
- path
- Expecta/Matchers/EXPMatcherHelpers.h
- sourceTree
- <group>
-
- 79D73FB4B6A3C92513B81243EA72E78C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+match.h
- path
- Expecta/Matchers/EXPMatchers+match.h
- sourceTree
- <group>
-
- 7AAD7709C9FF6828905D6A28E69C4221
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPDefines.h
- path
- Expecta/EXPDefines.h
- sourceTree
- <group>
-
- 7AC91F55DAAA2F0223A97BEFF8BCAF68
-
- fileRef
- D09A95F4452843967F4C8F3FA5EC1A68
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 7CF892960748F43245AD2B5CD2AC41A5
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- name
- libSpecta.a
- path
- libSpecta.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 7D3B3786F1D6CED2CE141B2B1BDAE012
-
- fileRef
- A2B692D3F450E25A5D8B17F524EA0720
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 7D56DF05F0071D94121A050CDB772D56
-
- fileRef
- 818AFFCC037C608492FAE59C7C3E85C0
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 7D8198AD59277CB0379442369CF5247E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWCaptionView.h
- sourceTree
- <group>
-
- 7D901800D8324F9F338B54CA286AD771
-
- fileRef
- D2307EC60BB4D23E49C1420E6F192943
- isa
- PBXBuildFile
-
- 7D9E32DAA93E15CFCF77A5BCD2D4BAA2
-
- buildConfigurationList
- 189B7D1A1C865073D7F999A759ACD292
- buildPhases
-
- 9C03752CBF78921009132B656CF36184
- 46A2CE1545DEBE5FE9DF073C8EBFE2F0
- 6E43863A0284BCD9B517C3AE49207A9D
-
- buildRules
-
- dependencies
-
- isa
- PBXNativeTarget
- name
- FBSnapshotTestCase
- productName
- FBSnapshotTestCase
- productReference
- D52C083C7341E76797DB059849542613
- productType
- com.apple.product-type.library.static
-
- 7DACEAF8582049D6EB8B4CFFB6CA48CD
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beGreaterThan.m
- path
- Expecta/Matchers/EXPMatchers+beGreaterThan.m
- sourceTree
- <group>
-
- 7DB346D0F39D3F0E887471402A8071AB
-
- children
-
- BA6428E9F66FD5A23C0A2E06ED26CD2F
- 719353E5F5BDD19B2D80B273F365F2BF
- F4CDA5FA9197A41E0081E84F932906EB
- 9D89C03F805626896F95FA71887D578C
- 9142D907B715CE18385E00AB1972B1BD
- 29062DA699B861B896758C5A677765BD
-
- isa
- PBXGroup
- sourceTree
- <group>
-
- 7E05296687CBD4F8C77EA450EEAB7B60
-
- fileRef
- ABDF044BC66387B0E03E70BAC09D0AC8
- isa
- PBXBuildFile
-
- 7FEE0E8D094D7BCCAC7129473EE05ADC
-
- fileRef
- 788D548DE837CA2FA9D2D744D64FA847
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 8059E5674B08670B0A002D564FFABF44
-
- fileRef
- 70922EF029715CA28E814F87373F29C4
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 805AE44C01D7936BA8A238C6C5C4807D
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- Specta.xcconfig
- sourceTree
- <group>
-
- 809101940909F56A7B70CE17D447640B
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beLessThanOrEqualTo.h
- path
- Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h
- sourceTree
- <group>
-
- 8136A5BFC35DA48ABC2C0D94EA79B7F0
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPFloatTuple.h
- path
- Expecta/EXPFloatTuple.h
- sourceTree
- <group>
-
- 818AFFCC037C608492FAE59C7C3E85C0
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SPTExampleGroup.h
- path
- Specta/Specta/SPTExampleGroup.h
- sourceTree
- <group>
-
- 8261C05543EA69BA5F136A06D5005C50
-
- explicitFileType
- wrapper.cfbundle
- includeInIndex
- 0
- isa
- PBXFileReference
- name
- MWPhotoBrowser.bundle
- path
- MWPhotoBrowser.bundle
- sourceTree
- BUILT_PRODUCTS_DIR
-
- 82AC9861A9FE0BEFEC04D31C3B05ABB2
-
- fileRef
- 40D39B6435EEF47A85F4E3FB684E72FE
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 82FC12F67E83874B93592218E9FB4CA0
-
- fileRef
- 427921605A450AEF67D129DACCD87BED
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 8439940A3793CF65B24F4185E04317D8
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- UIBarButtonItemGrid@2x.png
- sourceTree
- <group>
-
- 85A6795A5CD0C6DEA1F648AD0E6D1248
-
- baseConfigurationReference
- 2055A9E17F10DAA3DD7884DDF96A0A50
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/MWPhotoBrowser/MWPhotoBrowser-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- NO
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 862018A7CC10880108A2BDC5146C8F3F
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beInTheRangeOf.h
- path
- Expecta/Matchers/EXPMatchers+beInTheRangeOf.h
- sourceTree
- <group>
-
- 86334F1A4DF0160C4B098EF643AB6E07
-
- baseConfigurationReference
- 7389D03E90A74E5A200DD5ADBB209885
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/DACircularProgress/DACircularProgress-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- NO
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 865FAF448207E691D600F40C4ACF7C58
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPUnsupportedObject.h
- path
- Expecta/EXPUnsupportedObject.h
- sourceTree
- <group>
-
- 866569443B7D10AB5D6DC7FC0830235B
-
- fileRef
- DF11024BF511A0D2225D4BA84770CED7
- isa
- PBXBuildFile
-
- 86A1ADA0F8A843FA09BFF9142BEF76D5
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- Expecta.xcconfig
- sourceTree
- <group>
-
- 872948DAF79618AD725E0BF364E5DDD4
-
- fileRef
- 5A06D9F124A077FE3345C713135D7E6C
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- 87A80C8B1F0C635DA56B74807AE426D9
-
- fileRef
- 2ACE82A15131DC569A786CB49EFD1804
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 886428740DB164747FBA1935F65900DF
-
- buildActionMask
- 2147483647
- files
-
- EFE77B95F063C96D9B07BC2A988AB403
- B6CB1D947CABAFFCEFC7F94006CB7AD4
- 319D6926D1261EB1150D83F672CCA35E
- 00518063767430EDC47FCC49F4409458
- 4CFCAA497A77475D017F781F8241A4C0
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 8952D588C0E5AD12FD9CF3747FD061F2
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWTapDetectingView.h
- sourceTree
- <group>
-
- 8A00437F88A0C89CD672C2085CCCF62B
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SDWebImageCompat.h
- path
- SDWebImage/SDWebImageCompat.h
- sourceTree
- <group>
-
- 8B2FFB12DD1404D98DCA25509B11611E
-
- fileRef
- 1A1E6F8D4C651A22BB8CCEF1226FB1EE
- isa
- PBXBuildFile
-
- 8B97E5CA574F06B315C5F1D27B25DEFB
-
- fileRef
- 785A993DF42B3ABEF658B85E1F47663F
- isa
- PBXBuildFile
-
- 8BEDD694C8600B014302155F48FD5B08
-
- buildConfigurations
-
- ECE81C5981477AA7D254ACC70534BE23
- BFD984F9AF4C47EDD370C631057D40E8
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 8C4EC29461A90C294949DAE717A1BEC5
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- EXPMatchers+FBSnapshotTest.m
- sourceTree
- <group>
-
- 8C4ECAE46CD3BCB39F38F4FF20D074F6
-
- fileRef
- 0B7E61991D03B44046913BF3B345F4DB
- isa
- PBXBuildFile
-
- 8D8B7C183B18D82F1958BB3115798433
-
- buildConfigurations
-
- C0593046ABD536BD086B85302FA897DF
- CC01A834786EDBE30D7011502AE0F9B3
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 8DC04A9EEA14F0D2300FB6C0CAEB9CAB
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- UIBarButtonItemArrowRight@2x.png
- sourceTree
- <group>
-
- 8DF90D623F7F9015EEE9F1D7FEE7E053
-
- fileRef
- 0A924BC847BA99EBCBD0588603448B05
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 8E108520195BF6568A4A53786EA7B6F0
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- FBSnapshotTestController.h
- path
- FBSnapshotTestCase/FBSnapshotTestController.h
- sourceTree
- <group>
-
- 8E485F27A3C78223FB086075C2974A49
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- NSData+ImageContentType.h
- path
- SDWebImage/NSData+ImageContentType.h
- sourceTree
- <group>
-
- 8EE5D8EDB6C595B190E81B76D3190EB3
-
- isa
- PBXTargetDependency
- name
- MBProgressHUD
- target
- FE2F1D7B9D9FCEA148517E4657B243F4
- targetProxy
- D7B59E66FA2C765426650ADECEF955EF
-
- 8F2B443FA0D511403E4DA2A79DB3302A
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SPTSharedExampleGroups.m
- path
- Specta/Specta/SPTSharedExampleGroups.m
- sourceTree
- <group>
-
- 8F3064A5B520D1E4290AA240A05B7D6F
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- VideoOverlay.png
- sourceTree
- <group>
-
- 8F674582EE71972EE60EFD96C1F173D5
-
- fileRef
- 0683DF2C9B7FC27B576AB4B7B3B146ED
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 9019F9233E2A8B04A82C1B8D0274F09F
-
- fileRef
- 9A9B45D988FA49FD87F8587C42403EC5
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 904DB6CCA2AAC8D7B3245ED9628E865A
-
- fileRef
- 691CE6B20E64762C98682B93B31435E7
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 90C5595E0565CBEBB42EFEBB157FF619
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- DE3B07ED7FF04F506B0C5E00F4973589
- remoteInfo
- SDWebImage
-
- 9142D907B715CE18385E00AB1972B1BD
-
- children
-
- CEFDBDB8900789B0FFB86EBB7065BC62
- ADEAC9FE1270035973745D0EB3B84395
- 6CD36438CB08D280978CEE50363D8B8B
- D52C083C7341E76797DB059849542613
- D7F1441E30E059AC17B4C1CE1464C07B
- 50F87BFDC26A0B4CC6DE06D3ACBD0714
- 4D720BB8AE19E427E58843509B28FEB6
- E0EBF0357895E0C657A233A9D4D0E2C1
- C5284B0E2549CD42E31F469FB8B92DA8
- 7CF892960748F43245AD2B5CD2AC41A5
- 8261C05543EA69BA5F136A06D5005C50
-
- isa
- PBXGroup
- name
- Products
- sourceTree
- <group>
-
- 91E14C244388DE830AA1C4AE88415F76
-
- fileRef
- BA9181C8B2773795F2EACBDE286994AD
- isa
- PBXBuildFile
-
- 92F064516748B6AA4C6E303A38C3FE6A
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPExpect.m
- path
- Expecta/EXPExpect.m
- sourceTree
- <group>
-
- 9374BBB3BA16684D1B858CCC9C3E2D8A
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.plist.xml
- path
- Pods-MWPhotoBrowser_Example-acknowledgements.plist
- sourceTree
- <group>
-
- 93CF7F496E727D827BED2105B65D2073
-
- fileRef
- E4436D58F27EAC932F3CC2A7619D5FD3
- isa
- PBXBuildFile
-
- 94A310E9C2919B9904E9AFBD2837C2B9
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- MWTapDetectingView.m
- sourceTree
- <group>
-
- 956FB3AB698AF3DA776A9F24AA79C229
-
- fileRef
- 66D391F04A8D672C0D42510DE811E7B2
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 9604D510A96A637DD9AE0D304B68A5A2
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- VideoOverlay@3x.png
- sourceTree
- <group>
-
- 96AE2267633A27498E5D45052BDD5BBA
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- 9775596B3CA16905FC8F66DA8E2A3C67
- remoteInfo
- DACircularProgress
-
- 9775596B3CA16905FC8F66DA8E2A3C67
-
- buildConfigurationList
- 619B0B2F7ACD42F8EF700EAE6D1C95DA
- buildPhases
-
- A6993E0B001E6EB572176DFCF9B87C6A
- F2A9AAC03867BB4990470BAC5912E030
- 1246A1C00980422020A6884856143651
-
- buildRules
-
- dependencies
-
- isa
- PBXNativeTarget
- name
- DACircularProgress
- productName
- DACircularProgress
- productReference
- CEFDBDB8900789B0FFB86EBB7065BC62
- productType
- com.apple.product-type.library.static
-
- 97B5429A3CE99BA07086198F10CCE615
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- E2FE87384A67337831E53490EEA8BF11
- remoteInfo
- MWPhotoBrowser
-
- 97E91EC237B8623D895DBF6092034AD7
-
- fileRef
- 862018A7CC10880108A2BDC5146C8F3F
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 981F3EB0C06E97770D2421E673B013A1
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+contain.h
- path
- Expecta/Matchers/EXPMatchers+contain.h
- sourceTree
- <group>
-
- 9839B551DAF141B99431C2238C8EEBC0
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- AssetsLibrary.framework
- path
- Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/AssetsLibrary.framework
- sourceTree
- DEVELOPER_DIR
-
- 990C6F27E60B10F0E4BA0674D80F546B
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- Expecta-prefix.pch
- sourceTree
- <group>
-
- 9933B0F6DA01EDF804C19260E9515E65
-
- fileRef
- 0B7E61991D03B44046913BF3B345F4DB
- isa
- PBXBuildFile
-
- 9987EAA3314FDCBDC6783C325695E1D8
-
- buildActionMask
- 2147483647
- files
-
- E287D744F886B15E1060AFEA475FC727
- 7E05296687CBD4F8C77EA450EEAB7B60
- 91E14C244388DE830AA1C4AE88415F76
- 4DCDDE359E1F3BB419E0F7E9DD12CBB6
- BE6668D2527C0063CE1C755190A7596F
- 7D901800D8324F9F338B54CA286AD771
- F26631BB63543446C157972F2F6D1475
- FBADF2C12D471003AEB710314DA3FF49
- FAC85E18FE868D87FFB2E13C182F4DB9
- 1E08912939425D011D7C47713E6CDAF0
- 65F75ED4B34CEDF568441FBC95BA1459
- B9051EB6C3E749E2F0538ABF5076D0BE
- EDC1E77817E2D0252126B98EB0206A62
- 93CF7F496E727D827BED2105B65D2073
- A14C97547283B618AE64053DD92BB395
- F2168F9F63056AC8BFB344608C4158BE
- 8B2FFB12DD1404D98DCA25509B11611E
- F314DFE6C76A8EEBC3D8CAF03EB89850
- 5A859FF87C3507C937241DD78BD95EF3
- 051AA4E51A019933DD1E5CE99CD7352A
- A2406F04BC69905BAB01C77F8073B55D
- E99804B4B10C0A5C7C08E5EF962804CE
- FC1FB976E1C29A75089D2374BDFCCC44
- 105B37778FEED1965C8D0AF4C9E4B4F1
- AB0885F8524D9BE85FDEA8BF30520D43
- F88B870D7D0531FB54EAD23EB162DB70
- 64734F2BA63DAFDA24F819EE71704665
- 688EFB46F8559BD675FD06384ABA49E1
- C1814AA3C422738CF4B8DC63539CCD3E
- BB3A5C6A66C23862172BF9BED9BC8200
- 76C42C41A4B61435A3315770F58154B2
- D3C785493044AF463085D75F2E9D4FEE
- E97CDC7A1DFD18DAAD3C505929F32105
-
- isa
- PBXResourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 999D9522F4AD2757D76E2BC0D6606B4A
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- 5813251FEA21E4AEE97385709F1912DE
- remoteInfo
- MWPhotoBrowser-MWPhotoBrowser
-
- 9A086D9BE521AADC7C972AE3D9CD5B48
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- Specta.h
- path
- Specta/Specta/Specta.h
- sourceTree
- <group>
-
- 9A9B45D988FA49FD87F8587C42403EC5
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beSupersetOf.h
- path
- Expecta/Matchers/EXPMatchers+beSupersetOf.h
- sourceTree
- <group>
-
- 9AF3FD4A822DCF644AB50D3967C43C14
-
- buildActionMask
- 2147483647
- files
-
- B6B32565B1C26404789EEFCF37B7C225
-
- isa
- PBXHeadersBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 9B546D0F895D9B5A8316B948CEE95C77
-
- fileRef
- 29E6F040DB8ACF8886F7FE628840C480
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 9BDA7CB400BA41525D0DAC5E267B2670
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- NSData+ImageContentType.m
- path
- SDWebImage/NSData+ImageContentType.m
- sourceTree
- <group>
-
- 9BF2584F8D336EF737485D7396CFBAFF
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SpectaDSL.h
- path
- Specta/Specta/SpectaDSL.h
- sourceTree
- <group>
-
- 9C03752CBF78921009132B656CF36184
-
- buildActionMask
- 2147483647
- files
-
- 45548268D1B9EE9D37731231D940A591
- 4463CD014E8C258B7F8BF0FD64901B8F
- 664FB9826D0F046AB6CE15196CC120B7
- A245A84584833A620D85A9C8285C71A1
- 1186EC1A35306EBBA8C3DE66F0973361
- AB5E9DFDA102BB04CB66FC61E01085B0
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- 9C8319C4AFAB3CAE3C7314EAD8D1AB34
-
- fileRef
- F3FAB75D28A2755E4F9F79FB9F2AF5DB
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- 9C95EBE1D39EEFE5E6404691C95BE2E2
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.script.sh
- path
- Pods-MWPhotoBrowser_Tests-resources.sh
- sourceTree
- <group>
-
- 9D5AE460F3B78B02A8AE8E5AD0DCC013
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+contain.m
- path
- Expecta/Matchers/EXPMatchers+contain.m
- sourceTree
- <group>
-
- 9D6702575943BF5C71AD0E2299CB53E2
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWPhotoBrowser.h
- sourceTree
- <group>
-
- 9D6E638E56BDAD3C2196ED9C28FAF857
-
- fileRef
- E348B132ABCC246013AE3A5532BC609F
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- 9D77DAC945EC22411297CBC957C966F0
-
- baseConfigurationReference
- 86A1ADA0F8A843FA09BFF9142BEF76D5
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/Expecta/Expecta-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- NO
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- 9D89C03F805626896F95FA71887D578C
-
- children
-
- F629BC640170D45C22A8048A42BAB040
- F6E655732BA75BED75FFACA472080CC4
- 505D7B9189B81314EF02A1E9479972D0
- A22495C61077EFF6CD10B8B82AFA964B
- C833942945CF274906A18C8D4BAAE480
- 2FD7E39AFBAB884FA64CFB5DBDFA1F7B
- D8BBE4506E8863FF1D2FA4058580F0C8
-
- isa
- PBXGroup
- name
- Pods
- sourceTree
- <group>
-
- 9E58B396BFA804075E0FCC2D7E764BA6
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- UIImageView+HighlightedWebCache.m
- path
- SDWebImage/UIImageView+HighlightedWebCache.m
- sourceTree
- <group>
-
- 9E907D6C90793FF2CC5533F151827418
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- DE3B07ED7FF04F506B0C5E00F4973589
- remoteInfo
- SDWebImage
-
- 9F0508C4938477BDB11EAF1F3A6960E7
-
- isa
- PBXTargetDependency
- name
- FBSnapshotTestCase
- target
- 7D9E32DAA93E15CFCF77A5BCD2D4BAA2
- targetProxy
- 5EB6A7FF5E92B3E2E96A92367BE4AA32
-
- 9F080C1D1A758D0A874B7345BE67EC81
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- 9775596B3CA16905FC8F66DA8E2A3C67
- remoteInfo
- DACircularProgress
-
- 9F1294BB80138FB7DEE240DF61EC1523
-
- buildConfigurations
-
- 717B38CC8B651B61F35E12EE4211DAF0
- B74838FB9BEB33B6489F58D787E2A6A4
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- 9F19BCDE9BF6E330E14588598DFC6337
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.plist.xml
- path
- Pods-MWPhotoBrowser_Tests-acknowledgements.plist
- sourceTree
- <group>
-
- A07F4B785B315E5B075218A988F05149
-
- buildActionMask
- 2147483647
- files
-
- 060435B6E32CF028837E209B20E10639
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- A09DD0AB6A512D74E5628070EBD56026
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- ImageIO.framework
- path
- Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/ImageIO.framework
- sourceTree
- DEVELOPER_DIR
-
- A0BA05DFEF00406DC4E8898D36D7418D
-
- fileRef
- A8B86384F8C46CE8544B59FEB6C657F5
- isa
- PBXBuildFile
-
- A0C76077A20E75ED950BF4F88A252F83
-
- buildActionMask
- 2147483647
- files
-
- 34F30E1314EC4C287E6B89477C2D0FB4
- 3B332CC633C291A7A96AD0922CFD8AB0
- 74A9CCFEBE692130454C41959EBA5254
- 69DC2FB163EAB23712D9C3C13C72518E
- 0EF1CB072B5DE5D0A4EE7053EB0E2364
- C16C9E56CBDDE2AD1FCF3EFFF3127C20
- 60262C4B68C1B0EF7D3E4FADACB10CD7
- 518937C0924DA3A3DD216697CED9205F
- 0498B98EB393D71314953683060EFD58
- D791C7B718024D8AED15BE84AA2FAAD0
- A14B4E9F94C0A0EC1EE0AE8BFE030787
- F9B0A541E338684F945B7539D802CF64
- 0DC4183837552F23710F86F9A032C574
- 3939EE53B37025D6F0E05FF8A4C7DCF0
- 311D5C7B166178CCB79CFD7E8DD4F641
-
- isa
- PBXHeadersBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- A1195ED094D0C8B66BB073959AA2ACCD
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- MWZoomingScrollView.m
- sourceTree
- <group>
-
- A14B4E9F94C0A0EC1EE0AE8BFE030787
-
- fileRef
- 4CFA073D420411E3535ABA966BEE98CC
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- A14C97547283B618AE64053DD92BB395
-
- fileRef
- CB3EA5CC56581FD52BDBA0179D956E7B
- isa
- PBXBuildFile
-
- A1BF1E794449AF3F514B2EE3C85F4B10
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- FBSnapshotTestCasePlatform.m
- path
- FBSnapshotTestCase/FBSnapshotTestCasePlatform.m
- sourceTree
- <group>
-
- A2118778317DA37C36420E58FB3923B3
-
- buildConfigurationList
- 5CD9AEB21836919899CDA3A9D9510998
- buildPhases
-
- F0A8CE7CF766D19972CF0934C1652293
- A4AB49CB62EB99071274FD6937EE5352
-
- buildRules
-
- dependencies
-
- B55362A439917186B971EF580B391A1B
- 2D5EE41C6DDBA8F159EEA954F335387A
- 1B030B50B68FB0D602F2E4B1685FA9BA
- 6D8154E68B3360EE1C8DA3A4443096F3
-
- isa
- PBXNativeTarget
- name
- Pods-MWPhotoBrowser_Example
- productName
- Pods-MWPhotoBrowser_Example
- productReference
- 4D720BB8AE19E427E58843509B28FEB6
- productType
- com.apple.product-type.library.static
-
- A22495C61077EFF6CD10B8B82AFA964B
-
- children
-
- E348B132ABCC246013AE3A5532BC609F
- 63327617AD4F38D1236E71968B0991E5
- D54993E311EDD8802711B01895286E4E
- A1BF1E794449AF3F514B2EE3C85F4B10
- 8E108520195BF6568A4A53786EA7B6F0
- 0043FDF25F85C0B2C11CEAE6B1C54D87
- B0329B325C97BC663835390843F985CE
- B0DFED38A647950C79B13061F923258C
- 3B5A7151F8E4FBFE54BF6C2AC80958FA
- DD5F3D6C4044A157839220B037A055E8
- 148F0DEDC306B5A6D48931EFD279E456
-
- isa
- PBXGroup
- name
- FBSnapshotTestCase
- path
- FBSnapshotTestCase
- sourceTree
- <group>
-
- A2406F04BC69905BAB01C77F8073B55D
-
- fileRef
- 3EF2F2E1AF840BA0B6AD13D59AA5F80C
- isa
- PBXBuildFile
-
- A245A84584833A620D85A9C8285C71A1
-
- fileRef
- 0043FDF25F85C0B2C11CEAE6B1C54D87
- isa
- PBXBuildFile
-
- A26F992E8831118311F3DB7CB830595A
-
- fileRef
- FFC94BC21DE6B02A85C4BA9B703D222D
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- A2B692D3F450E25A5D8B17F524EA0720
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- UIImageView+WebCache.m
- path
- SDWebImage/UIImageView+WebCache.m
- sourceTree
- <group>
-
- A4AB49CB62EB99071274FD6937EE5352
-
- buildActionMask
- 2147483647
- files
-
- 0364DCB58A865A2830638D2C0CCED41C
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- A59CA631962D8BFBF1D8BA4BA8F1F223
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SDWebImageDownloader.m
- path
- SDWebImage/SDWebImageDownloader.m
- sourceTree
- <group>
-
- A65C491577A425AF82C53F4A40A0A24B
-
- fileRef
- 1AB26E75F7BCD415D6AD6B8BA5F03DDB
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- A6854D311D55E2BBD8BFCE4E82DF3EA9
-
- fileRef
- BA9D20AF1E1E4CF225AA2D772049336D
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- A6993E0B001E6EB572176DFCF9B87C6A
-
- buildActionMask
- 2147483647
- files
-
- 5F4AECEF356E35995112F9167B219AD6
- 82AC9861A9FE0BEFEC04D31C3B05ABB2
- EF9006327AFFDBED3FD589DA04E2D36A
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- A6A21F67B2A713138BF1A404E3460084
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- Expecta-dummy.m
- sourceTree
- <group>
-
- A6FD2A9ACF0632CB41BE9AF1A13BD166
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- 2F501FE84845EAD97B9087DAFCBBEE0E
- remoteInfo
- Expecta
-
- A7141BC83638F4B38D4D312BAE3BDAC4
-
- fileRef
- 1BB15402D8C2FB01A198273BA1991DED
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- A815E988348FB8A8B609F012516ABD15
-
- isa
- PBXTargetDependency
- name
- MWPhotoBrowser
- target
- E2FE87384A67337831E53490EEA8BF11
- targetProxy
- 97B5429A3CE99BA07086198F10CCE615
-
- A8490A46CB5206BCA5F90FCFBA2D731E
-
- fileRef
- 79996E262256F57DB50CD16E5EBE5D52
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- A8B86384F8C46CE8544B59FEB6C657F5
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- MWGridViewController.m
- sourceTree
- <group>
-
- AA7B402D31D86AE5E3DD083408311FF1
-
- fileRef
- E4AD00C4B132C99837C22CC9031DE9F8
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- AABA7597E19FD75C9F320BCD6BB2759E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- MWPhotoBrowser.m
- sourceTree
- <group>
-
- AAE75938ED3DD46BC00352B82D7CA890
-
- fileRef
- B2CBEFFA54424B8FBBE1EB23EC879E69
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- AAF71AC633AFEC1D271F81DA183E75F0
-
- fileRef
- 9A086D9BE521AADC7C972AE3D9CD5B48
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- AB0885F8524D9BE85FDEA8BF30520D43
-
- fileRef
- BDD78DD77E210708F222D40A2FDE75B1
- isa
- PBXBuildFile
-
- AB1D6408D48F6ECF3FCE553BE73961F5
-
- fileRef
- 2E7CBF297AA8A0E93C23BFAF1BE94DEE
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- AB5E9DFDA102BB04CB66FC61E01085B0
-
- fileRef
- DD5F3D6C4044A157839220B037A055E8
- isa
- PBXBuildFile
-
- AB8960E6933BD274C11AD9C15CF410AF
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+haveCountOf.h
- path
- Expecta/Matchers/EXPMatchers+haveCountOf.h
- sourceTree
- <group>
-
- ABDF044BC66387B0E03E70BAC09D0AC8
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageError@2x.png
- sourceTree
- <group>
-
- AD198F3513AFD6128A50C356DC253545
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- Specta-dummy.m
- sourceTree
- <group>
-
- AD6791D14732A3C17164F61CC72FFB0D
-
- fileRef
- AE917511985F6891AF3F8233B9D34001
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- ADEAC9FE1270035973745D0EB3B84395
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- name
- libExpecta.a
- path
- libExpecta.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- AE1B7431EAFB4D89A49A9DAD35DBE790
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- UIImageView+WebCache.h
- path
- SDWebImage/UIImageView+WebCache.h
- sourceTree
- <group>
-
- AE6C39B87AE391EC710DA8FB520ED3F5
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWZoomingScrollView.h
- sourceTree
- <group>
-
- AE917511985F6891AF3F8233B9D34001
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beGreaterThanOrEqualTo.m
- path
- Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m
- sourceTree
- <group>
-
- AF944A6486FDAD944BE766A70129E6D2
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- DACircularProgress-dummy.m
- sourceTree
- <group>
-
- B0329B325C97BC663835390843F985CE
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- UIImage+Compare.h
- path
- FBSnapshotTestCase/UIImage+Compare.h
- sourceTree
- <group>
-
- B0D25391E290ADE1BF90E18B8281F5F3
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beFalsy.m
- path
- Expecta/Matchers/EXPMatchers+beFalsy.m
- sourceTree
- <group>
-
- B0DFED38A647950C79B13061F923258C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- UIImage+Compare.m
- path
- FBSnapshotTestCase/UIImage+Compare.m
- sourceTree
- <group>
-
- B1A8AF86363A5D8093FFE48748DC20A1
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- SDWebImage-dummy.m
- sourceTree
- <group>
-
- B23D9E49B5B3A5C76EAFFC9C7F40B4B9
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPUnsupportedObject.m
- path
- Expecta/EXPUnsupportedObject.m
- sourceTree
- <group>
-
- B25B4A401CE0322E5FA936642D8E8A36
-
- fileRef
- 7D8198AD59277CB0379442369CF5247E
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- B28719F6B1978267C407032A2AE646F8
-
- fileRef
- FE9D7A964178EF6E3CE5FC52134DF825
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- B2CBEFFA54424B8FBBE1EB23EC879E69
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+raise.h
- path
- Expecta/Matchers/EXPMatchers+raise.h
- sourceTree
- <group>
-
- B2DE78D2D5A5CF173FEBFA2FE4B4023D
-
- fileRef
- 2F29BE2EDEBA2861368726A4772F4E8E
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- B33234F432A72D5E8B65694AE937B78F
-
- fileRef
- 56BD615DEEA3BC153C0B73BAC8A60A13
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- B37F0F91F85060E28F1DAAB522DC7EC1
-
- buildSettings
-
- ALWAYS_SEARCH_USER_PATHS
- NO
- CLANG_CXX_LANGUAGE_STANDARD
- gnu++0x
- CLANG_CXX_LIBRARY
- libc++
- CLANG_ENABLE_MODULES
- YES
- CLANG_ENABLE_OBJC_ARC
- YES
- CLANG_WARN_BOOL_CONVERSION
- YES
- CLANG_WARN_CONSTANT_CONVERSION
- YES
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE
- YES
- CLANG_WARN_EMPTY_BODY
- YES
- CLANG_WARN_ENUM_CONVERSION
- YES
- CLANG_WARN_INT_CONVERSION
- YES
- CLANG_WARN_OBJC_ROOT_CLASS
- YES
- CLANG_WARN_UNREACHABLE_CODE
- YES
- CLANG_WARN__DUPLICATE_METHOD_MATCH
- YES
- COPY_PHASE_STRIP
- NO
- GCC_C_LANGUAGE_STANDARD
- gnu99
- GCC_DYNAMIC_NO_PIC
- NO
- GCC_OPTIMIZATION_LEVEL
- 0
- GCC_PREPROCESSOR_DEFINITIONS
-
- DEBUG=1
- $(inherited)
-
- GCC_SYMBOLS_PRIVATE_EXTERN
- NO
- GCC_WARN_64_TO_32_BIT_CONVERSION
- YES
- GCC_WARN_ABOUT_RETURN_TYPE
- YES
- GCC_WARN_UNDECLARED_SELECTOR
- YES
- GCC_WARN_UNINITIALIZED_AUTOS
- YES
- GCC_WARN_UNUSED_FUNCTION
- YES
- GCC_WARN_UNUSED_VARIABLE
- YES
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- ONLY_ACTIVE_ARCH
- YES
- STRIP_INSTALLED_PRODUCT
- NO
- SYMROOT
- ${SRCROOT}/../build
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- B52658FC373BA42C6DBF475CAEA30F09
-
- fileRef
- 9D6702575943BF5C71AD0E2299CB53E2
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- B55362A439917186B971EF580B391A1B
-
- isa
- PBXTargetDependency
- name
- DACircularProgress
- target
- 9775596B3CA16905FC8F66DA8E2A3C67
- targetProxy
- 9F080C1D1A758D0A874B7345BE67EC81
-
- B5969E17FAFFDC548233DC602AAC6211
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beGreaterThanOrEqualTo.h
- path
- Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h
- sourceTree
- <group>
-
- B6B32565B1C26404789EEFCF37B7C225
-
- fileRef
- 3540CB186FE2EE9EE99381DA600738B8
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- B6CB1D947CABAFFCEFC7F94006CB7AD4
-
- fileRef
- DF11024BF511A0D2225D4BA84770CED7
- isa
- PBXBuildFile
-
- B6CE0371E70FB931CC99A90CEBFD6E83
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- E2FE87384A67337831E53490EEA8BF11
- remoteInfo
- MWPhotoBrowser
-
- B733330A3935B54DE57E0503C1867DAE
-
- fileRef
- AD198F3513AFD6128A50C356DC253545
- isa
- PBXBuildFile
-
- B73F44C64FD91479CFE63C882F1E5E70
-
- children
-
- CB09954F9727813F76DD0EC906DB781E
- B1A8AF86363A5D8093FFE48748DC20A1
- DD16771750E90A2599B84EDB4AFF9B9E
-
- isa
- PBXGroup
- name
- Support Files
- path
- ../Target Support Files/SDWebImage
- sourceTree
- <group>
-
- B74838FB9BEB33B6489F58D787E2A6A4
-
- baseConfigurationReference
- 2055A9E17F10DAA3DD7884DDF96A0A50
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- PRODUCT_NAME
- MWPhotoBrowser
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
- WRAPPER_EXTENSION
- bundle
-
- isa
- XCBuildConfiguration
- name
- Release
-
- B83D4C05E77991780CA69BF68B431DD2
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- Pods-MWPhotoBrowser_Example.release.xcconfig
- sourceTree
- <group>
-
- B8FC063009C06CE659C8CF168A9F8765
-
- fileRef
- 0B7E61991D03B44046913BF3B345F4DB
- isa
- PBXBuildFile
-
- B9051EB6C3E749E2F0538ABF5076D0BE
-
- fileRef
- 60E1461AAED23D358B1A25A48F9DD77F
- isa
- PBXBuildFile
-
- B98B98DB394C072483E8066C6B594401
-
- buildActionMask
- 2147483647
- files
-
- 589CDFB90C98BF58F34B688A2BEF2D04
- 1181CB6FC2D63C42F19EAB56C604A71E
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- BA4C6CCE8BCEAFA07BB2679C87A008C5
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWPhotoBrowser-prefix.pch
- sourceTree
- <group>
-
- BA6428E9F66FD5A23C0A2E06ED26CD2F
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text
- name
- Podfile
- path
- ../Podfile
- sourceTree
- SOURCE_ROOT
- xcLanguageSpecificationIdentifier
- xcode.lang.ruby
-
- BA9181C8B2773795F2EACBDE286994AD
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageError@3x.png
- sourceTree
- <group>
-
- BA9D20AF1E1E4CF225AA2D772049336D
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- Expecta.h
- path
- Expecta/Expecta.h
- sourceTree
- <group>
-
- BB3A5C6A66C23862172BF9BED9BC8200
-
- fileRef
- D64041D7A1004D2C8771C29362B59366
- isa
- PBXBuildFile
-
- BD30B724A71CF5D6E93805B7615EC79C
-
- fileRef
- 0AB1B49E98BEDDFC8A45BB3C1FB54076
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- BD4E094BE48FCAB50C0CEFC92B2C0B04
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageSelectedSmallOff.png
- sourceTree
- <group>
-
- BD56223A67203315C1B15E39E3B40934
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.script.sh
- path
- Pods-MWPhotoBrowser_Tests-frameworks.sh
- sourceTree
- <group>
-
- BDD78DD77E210708F222D40A2FDE75B1
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- UIBarButtonItemArrowRight.png
- sourceTree
- <group>
-
- BE6668D2527C0063CE1C755190A7596F
-
- fileRef
- E6798A1D89E725C8EB02146EE4B0E31E
- isa
- PBXBuildFile
-
- BEEAFC79B66B12E6D67D140381BE25F2
-
- fileRef
- 5A531485C6A0D185C72E03CD91B49919
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- BFD984F9AF4C47EDD370C631057D40E8
-
- baseConfigurationReference
- 1580BE8D870658FFFB9EF3D04B9213CC
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MACH_O_TYPE
- staticlib
- MTL_ENABLE_DEBUG_INFO
- NO
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PODS_ROOT
- $(SRCROOT)
- PRODUCT_NAME
- $(TARGET_NAME)
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- C0593046ABD536BD086B85302FA897DF
-
- baseConfigurationReference
- CB09954F9727813F76DD0EC906DB781E
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/SDWebImage/SDWebImage-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- YES
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- C0A33FBAF4E7C28807891EC8D0B65204
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- MWPhoto.m
- sourceTree
- <group>
-
- C162177585DC8E186D24CADCC233B0EA
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- UIBarButtonItemGrid.png
- sourceTree
- <group>
-
- C16C9E56CBDDE2AD1FCF3EFFF3127C20
-
- fileRef
- 47BC96C02F9C3E09817E3FEC2559E33B
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- C1814AA3C422738CF4B8DC63539CCD3E
-
- fileRef
- 8439940A3793CF65B24F4185E04317D8
- isa
- PBXBuildFile
-
- C2420EB9004B4667C6328B5C0D098C48
-
- fileRef
- 49D43B7D98ABA386628BDA9FB6BA411B
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- C266061F84E4CFB93AF99D21EEB13401
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWPhotoBrowserPrivate.h
- sourceTree
- <group>
-
- C2909BC6E2528AB50ADD2B0E4FE78DA1
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SPTTestSuite.m
- path
- Specta/Specta/SPTTestSuite.m
- sourceTree
- <group>
-
- C2BFF99EB859FD7056CF72C4850693D1
-
- fileRef
- 63010FB3922AB3E2DDD6D8CDD2D10BFA
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- C2CEB9C1175C4FC4D5BE5C6EF285E0A4
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beTruthy.m
- path
- Expecta/Matchers/EXPMatchers+beTruthy.m
- sourceTree
- <group>
-
- C36BB9623ECA2B27942B66986A784EC9
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- UIBarButtonItemArrowLeft@2x.png
- sourceTree
- <group>
-
- C3D6913F5E4E594A29E40A526602BBB7
-
- isa
- PBXTargetDependency
- name
- MWPhotoBrowser-MWPhotoBrowser
- target
- 5813251FEA21E4AEE97385709F1912DE
- targetProxy
- 999D9522F4AD2757D76E2BC0D6606B4A
-
- C402F1446422CAB85FC53BD77E5E9018
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWGridCell.h
- sourceTree
- <group>
-
- C5284B0E2549CD42E31F469FB8B92DA8
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- name
- libSDWebImage.a
- path
- libSDWebImage.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- C5AFFFCB54FD9036E7BC9BA54ADAAF30
-
- baseConfigurationReference
- 0557FD60A45F62CD51B4972ECE5C2584
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/MBProgressHUD/MBProgressHUD-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- NO
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- C5BD0A3729BF33E203724A88CFE727BC
-
- fileRef
- FCA01B035C5FC9AF0969977B2C54A7A9
- isa
- PBXBuildFile
-
- C655D4974F9982F0810618C9AC07216F
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- DALabeledCircularProgressView.m
- path
- DACircularProgress/DALabeledCircularProgressView.m
- sourceTree
- <group>
-
- C6671739E8C5904113586F8BEBBC9780
-
- fileRef
- F40AD0DE1188AA331D98100B8766D6C8
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- C6AD7852D34E8A80DFF3B8376BDE812F
-
- buildActionMask
- 2147483647
- files
-
- 8DF90D623F7F9015EEE9F1D7FEE7E053
- 6A4E3ACA285A21392936C110E7EC91F0
- 3A013F13122CDB8EE962F8CB7C6FCC8E
- A6854D311D55E2BBD8BFCE4E82DF3EA9
- 081F2104425CDCB0915354E2FBD7E24E
- 7AC91F55DAAA2F0223A97BEFF8BCAF68
- 2A17721E4A81DB608CA6D4FB6F0ADAFB
- 341D7536159B52F41598F730CC45D548
- 07282695806D1DFBF187BFA004D80641
- A8490A46CB5206BCA5F90FCFBA2D731E
- AA7B402D31D86AE5E3DD083408311FF1
- F4CA468B5A9F8FF2A4DB8B236A8E71BF
- 021C50274FF43A6F07E119D572C3ACB6
- 8F674582EE71972EE60EFD96C1F173D5
- 3E463E2B6917D9AA08A03BA8A8E74A18
- AB1D6408D48F6ECF3FCE553BE73961F5
- D42799488F38F2DB8A580730CEE13CE6
- 97E91EC237B8623D895DBF6092034AD7
- 9B546D0F895D9B5A8316B948CEE95C77
- DFF580AE359407E841BA8D8DDCE6E299
- EE52A320EC3155B114104E06396D1B59
- 74707D5ABEC55B3084F52C40A4227B06
- 14C609D8F203FD45194E93997EFF744E
- 9019F9233E2A8B04A82C1B8D0274F09F
- 70545E4EA86C6E593A2A9F6731DA8F6D
- 2945FAA75C956DD6A541EB51E42E6899
- 02C7E3EC1E1DFDD7046BD26A67E92686
- 76331E71086C8CD5118A69B046D8F0FB
- 430CE433DB59FE090A8CC6AFCFA43337
- 237FB063FB365119546C7B5006224F3B
- C98F5401E5C1AB6512BE50C3B7CEA9BF
- 339A0C1BFF72397A705959E03877DDDB
- AAE75938ED3DD46BC00352B82D7CA890
- 6EB2498C2AFB1DF8555CB7C1EF89CA5C
- E867CBF850D20C314BF4BD790432455D
- 6924E116731D7079958063A3EE0781ED
- 4231743B6C143BDB4A5FBB032E6D3799
- 956FB3AB698AF3DA776A9F24AA79C229
- 60D3CCEB5B53542228790ABD8885AF42
-
- isa
- PBXHeadersBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- C6D58082433E54F547A343BCED70CA50
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- Specta-prefix.pch
- sourceTree
- <group>
-
- C6FE69AE06A770FF76C19B8039EC0780
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- Pods-MWPhotoBrowser_Tests-dummy.m
- sourceTree
- <group>
-
- C77F8C54B4042EC0746E5D285E7D400A
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SDWebImageDecoder.h
- path
- SDWebImage/SDWebImageDecoder.h
- sourceTree
- <group>
-
- C833942945CF274906A18C8D4BAAE480
-
- children
-
- EF4D256729962DC82677BF90E861294B
- 427921605A450AEF67D129DACCD87BED
- 1B0ADBF8A991262A6DE5BD0CB101EEE0
-
- isa
- PBXGroup
- name
- MBProgressHUD
- path
- MBProgressHUD
- sourceTree
- <group>
-
- C98F5401E5C1AB6512BE50C3B7CEA9BF
-
- fileRef
- 79D73FB4B6A3C92513B81243EA72E78C
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- C9B5F86F6244D78D3F80384F609427C6
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- 2F501FE84845EAD97B9087DAFCBBEE0E
- remoteInfo
- Expecta
-
- C9B97F514121309E4531C3439E206EC7
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.script.sh
- path
- Pods-MWPhotoBrowser_Example-resources.sh
- sourceTree
- <group>
-
- C9BF70FB69B8740763B185C23C560434
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageSelectedOn@3x.png
- sourceTree
- <group>
-
- CA0DFA401B2A45337DFC72F893A060EF
-
- fileRef
- 523087C6D186A9F5BEE78D39F9A78F3F
- isa
- PBXBuildFile
-
- CA8230DE5C83368629EF3E62C4F0E7B7
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- XCTestCase+Specta.m
- path
- Specta/Specta/XCTestCase+Specta.m
- sourceTree
- <group>
-
- CB08C9C83ABDBE55762A423ED48491EF
-
- fileRef
- 7DACEAF8582049D6EB8B4CFFB6CA48CD
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- CB09954F9727813F76DD0EC906DB781E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- SDWebImage.xcconfig
- sourceTree
- <group>
-
- CB3EA5CC56581FD52BDBA0179D956E7B
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageSelectedSmallOn@3x.png
- sourceTree
- <group>
-
- CB7148E744A9D03AEDC9D4809248999F
-
- baseConfigurationReference
- 7389D03E90A74E5A200DD5ADBB209885
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/DACircularProgress/DACircularProgress-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- YES
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- CBE0BF23E2B3F39D22B51BC93022DE7D
-
- children
-
- 8E485F27A3C78223FB086075C2974A49
- 9BDA7CB400BA41525D0DAC5E267B2670
- 2D6EC33CA8D9BD953AD29E16068F2CBD
- DE369A67A17A1EE2351376730BB039A4
- 8A00437F88A0C89CD672C2085CCCF62B
- 10E446637EC5FF03088009E61B491E75
- C77F8C54B4042EC0746E5D285E7D400A
- 6C982719FDCF6684EB752A0153066FC3
- 574FFB37A8EF309B1A1EB265267DD353
- A59CA631962D8BFBF1D8BA4BA8F1F223
- 47BC96C02F9C3E09817E3FEC2559E33B
- 7599165E41821009340AA99FDAC29AE0
- 222A85D6DAB7D3AC98EF6D7E68B13740
- 2EDD6193448F7939784FDF1C8016F000
- D615D83AA6E624C9EEFAB11B6DAB4612
- EC0223776620A3EA741C855D0211CB0A
- 78759DF877B83416A90AA2BC606BF7ED
- 518626B93DA6269F02901D111B4DBF26
- 661962DFFB8F4AF681F8EA78582EE534
- 4CFA073D420411E3535ABA966BEE98CC
- 6B1C830074F8BFC3AE3CB3A5278754A8
- 1A1E8E8494B9BFCEBBD8273148D44386
- FE9D7A964178EF6E3CE5FC52134DF825
- 5D39CEB65ADB521B117CA181C2BB2C9C
- 9E58B396BFA804075E0FCC2D7E764BA6
- AE1B7431EAFB4D89A49A9DAD35DBE790
- A2B692D3F450E25A5D8B17F524EA0720
- D91F4635A8EDF54921FC9B759BE009F6
- 38777F32EB3F13ED8D2047C1C9ED6D6D
-
- isa
- PBXGroup
- name
- Core
- sourceTree
- <group>
-
- CC01A834786EDBE30D7011502AE0F9B3
-
- baseConfigurationReference
- CB09954F9727813F76DD0EC906DB781E
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/SDWebImage/SDWebImage-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- NO
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Release
-
- CD12BF87A360D901CFA6AC563638FED1
-
- children
-
- 805AE44C01D7936BA8A238C6C5C4807D
- AD198F3513AFD6128A50C356DC253545
- C6D58082433E54F547A343BCED70CA50
-
- isa
- PBXGroup
- name
- Support Files
- path
- ../Target Support Files/Specta
- sourceTree
- <group>
-
- CEFDBDB8900789B0FFB86EBB7065BC62
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- name
- libDACircularProgress.a
- path
- libDACircularProgress.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- CF37F67F6269058934EB779D902EE7AB
-
- fileRef
- C0A33FBAF4E7C28807891EC8D0B65204
- isa
- PBXBuildFile
-
- CF95446EA555B49150EA7270096D78B2
-
- fileRef
- E906DDCC926C2EA5161E326AB04AC53F
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- D041545E1DB9D43FCBB294B7E9573AFF
-
- fileRef
- DF11024BF511A0D2225D4BA84770CED7
- isa
- PBXBuildFile
-
- D09A95F4452843967F4C8F3FA5EC1A68
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- ExpectaSupport.h
- path
- Expecta/ExpectaSupport.h
- sourceTree
- <group>
-
- D10BA2216A9B5F41557B4FC448EE865C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+equal.h
- path
- Expecta/Matchers/EXPMatchers+equal.h
- sourceTree
- <group>
-
- D2307EC60BB4D23E49C1420E6F192943
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageSelectedOff@3x.png
- sourceTree
- <group>
-
- D351C08D4390F427D8E1BEC3CB8A57BD
-
- children
-
- 9839B551DAF141B99431C2238C8EEBC0
- DB7D9B8599935A5FF3862B90E049CABD
- DF11024BF511A0D2225D4BA84770CED7
- A09DD0AB6A512D74E5628070EBD56026
- 6CD3EC2C1FBF5655137A99638E9CC950
- 5E350F03F362C03BE32737DDE72D4632
- 0B7E61991D03B44046913BF3B345F4DB
-
- isa
- PBXGroup
- name
- iOS
- sourceTree
- <group>
-
- D359D2CDD896874DAD7B6D2EF3FEE26D
-
- isa
- PBXTargetDependency
- name
- SDWebImage
- target
- DE3B07ED7FF04F506B0C5E00F4973589
- targetProxy
- 9E907D6C90793FF2CC5533F151827418
-
- D3C785493044AF463085D75F2E9D4FEE
-
- fileRef
- 2DE374580729793C277006A3481402A3
- isa
- PBXBuildFile
-
- D41D8CD98F00B204E9800998ECF8427E
-
- attributes
-
- LastSwiftUpdateCheck
- 0700
- LastUpgradeCheck
- 0700
-
- buildConfigurationList
- 2D8E8EC45A3A1A1D94AE762CB5028504
- compatibilityVersion
- Xcode 3.2
- developmentRegion
- English
- hasScannedForEncodings
- 0
- isa
- PBXProject
- knownRegions
-
- en
-
- mainGroup
- 7DB346D0F39D3F0E887471402A8071AB
- productRefGroup
- 9142D907B715CE18385E00AB1972B1BD
- projectDirPath
-
- projectReferences
-
- projectRoot
-
- targets
-
- 9775596B3CA16905FC8F66DA8E2A3C67
- 2F501FE84845EAD97B9087DAFCBBEE0E
- 05257CC76400D71826E603561A0F73E6
- 7D9E32DAA93E15CFCF77A5BCD2D4BAA2
- FE2F1D7B9D9FCEA148517E4657B243F4
- E2FE87384A67337831E53490EEA8BF11
- 5813251FEA21E4AEE97385709F1912DE
- A2118778317DA37C36420E58FB3923B3
- 722090AAE01BA442E883E6F02AA8DF40
- DE3B07ED7FF04F506B0C5E00F4973589
- E9AAC3590B391F4CFAF5F8348E6A8FE4
-
-
- D42799488F38F2DB8A580730CEE13CE6
-
- fileRef
- 3C5A51B8AE7322A210CF01AFBA648598
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- D47B0B4C04222F6784D38356F02BEB32
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- FE2F1D7B9D9FCEA148517E4657B243F4
- remoteInfo
- MBProgressHUD
-
- D52C083C7341E76797DB059849542613
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- name
- libFBSnapshotTestCase.a
- path
- libFBSnapshotTestCase.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- D54993E311EDD8802711B01895286E4E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- FBSnapshotTestCasePlatform.h
- path
- FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
- sourceTree
- <group>
-
- D583D511354F609B73EB28F4CFA2C32A
-
- isa
- PBXTargetDependency
- name
- DACircularProgress
- target
- 9775596B3CA16905FC8F66DA8E2A3C67
- targetProxy
- 386634C7797B60DF71C8AD13DAAD315D
-
- D5DEC16E7CEEFEABBFEBAC3A10358C5A
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- FBSnapshotTestCase-prefix.pch
- sourceTree
- <group>
-
- D5EE5F7C5A846B01ACF225DE04E52196
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- Pods-MWPhotoBrowser_Example.debug.xcconfig
- sourceTree
- <group>
-
- D615D83AA6E624C9EEFAB11B6DAB4612
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SDWebImageOperation.h
- path
- SDWebImage/SDWebImageOperation.h
- sourceTree
- <group>
-
- D64041D7A1004D2C8771C29362B59366
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- UIBarButtonItemGrid@3x.png
- sourceTree
- <group>
-
- D68BA9A93FD415E751DFA95CCF7DCB8D
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beCloseTo.m
- path
- Expecta/Matchers/EXPMatchers+beCloseTo.m
- sourceTree
- <group>
-
- D70BED84191514A998A08D7F3B8BBB17
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPDoubleTuple.m
- path
- Expecta/EXPDoubleTuple.m
- sourceTree
- <group>
-
- D791C7B718024D8AED15BE84AA2FAAD0
-
- fileRef
- 518626B93DA6269F02901D111B4DBF26
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- D7A0524D2A055F825B4DF69A9DBBFF98
-
- fileRef
- A1195ED094D0C8B66BB073959AA2ACCD
- isa
- PBXBuildFile
-
- D7B59E66FA2C765426650ADECEF955EF
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- FE2F1D7B9D9FCEA148517E4657B243F4
- remoteInfo
- MBProgressHUD
-
- D7F1441E30E059AC17B4C1CE1464C07B
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- name
- libMBProgressHUD.a
- path
- libMBProgressHUD.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- D8619A771228AD0402C4D464E3C6EE53
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MWPhoto.h
- sourceTree
- <group>
-
- D8BBE4506E8863FF1D2FA4058580F0C8
-
- children
-
- 9A086D9BE521AADC7C972AE3D9CD5B48
- 9BF2584F8D336EF737485D7396CFBAFF
- F3FAB75D28A2755E4F9F79FB9F2AF5DB
- 6347B71E8C22BA00F73AB093F101B7D4
- 3CD608194F35F47CEC250368B43C48E9
- DBE203B988A948E71FDDCAE62BA1F4CC
- 2ACE82A15131DC569A786CB49EFD1804
- 0668957FEB1B3CAE2EABBC4AA9ABA7C3
- 569060A075537DFE6A4D25D96C98668B
- 56228B3CBF246784930BFE7B29EFDD04
- 2F29BE2EDEBA2861368726A4772F4E8E
- 1AFDF0F0EF2A314336EACA38FCC6F784
- 818AFFCC037C608492FAE59C7C3E85C0
- 571096112AA1AD00C10596D216783599
- 1D772DC880BCFABF5028DA167DE6B119
- 49D43B7D98ABA386628BDA9FB6BA411B
- 1398D1B84667A17FCB66182F776EAC42
- 8F2B443FA0D511403E4DA2A79DB3302A
- 691CE6B20E64762C98682B93B31435E7
- F1948E226356BF652752F9FA7317BC73
- EF75C10714B7CFF9071553F07D94A550
- C2909BC6E2528AB50ADD2B0E4FE78DA1
- 1EF011C5AA1726984A1B50A46191CE9B
- 1E360C94C47826C4CAEEDBFC04C36A42
- CA8230DE5C83368629EF3E62C4F0E7B7
- CD12BF87A360D901CFA6AC563638FED1
-
- isa
- PBXGroup
- name
- Specta
- path
- Specta
- sourceTree
- <group>
-
- D91F4635A8EDF54921FC9B759BE009F6
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- UIView+WebCacheOperation.h
- path
- SDWebImage/UIView+WebCacheOperation.h
- sourceTree
- <group>
-
- D9E225250B8DAA16A4D7B6A66EC6574A
-
- fileRef
- C2909BC6E2528AB50ADD2B0E4FE78DA1
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- DA7F16221783A03C084D9BAAF7F404DB
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beginWith.h
- path
- Expecta/Matchers/EXPMatchers+beginWith.h
- sourceTree
- <group>
-
- DB7D9B8599935A5FF3862B90E049CABD
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- CoreGraphics.framework
- path
- Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/CoreGraphics.framework
- sourceTree
- DEVELOPER_DIR
-
- DBE203B988A948E71FDDCAE62BA1F4CC
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SpectaUtility.m
- path
- Specta/Specta/SpectaUtility.m
- sourceTree
- <group>
-
- DC1F1DBD53679CB78C5967BA9DEC08CA
-
- fileRef
- 78759DF877B83416A90AA2BC606BF7ED
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- DD16771750E90A2599B84EDB4AFF9B9E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- SDWebImage-prefix.pch
- sourceTree
- <group>
-
- DD5F3D6C4044A157839220B037A055E8
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- UIImage+Diff.m
- path
- FBSnapshotTestCase/UIImage+Diff.m
- sourceTree
- <group>
-
- DD7BDEE57A8E95F9F327AC87B6A78256
-
- fileRef
- C402F1446422CAB85FC53BD77E5E9018
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- DDAA00E6C2E81A6C35534DD632143F09
-
- children
-
- 7389D03E90A74E5A200DD5ADBB209885
- AF944A6486FDAD944BE766A70129E6D2
- E5EA159155EA435901485FBB8111088C
-
- isa
- PBXGroup
- name
- Support Files
- path
- ../Target Support Files/DACircularProgress
- sourceTree
- <group>
-
- DE0797009C8330FFDB1FC0EB8D2DA9DD
-
- buildActionMask
- 2147483647
- files
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- DE369A67A17A1EE2351376730BB039A4
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SDImageCache.m
- path
- SDWebImage/SDImageCache.m
- sourceTree
- <group>
-
- DE3B07ED7FF04F506B0C5E00F4973589
-
- buildConfigurationList
- 8D8B7C183B18D82F1958BB3115798433
- buildPhases
-
- 7357CD98F48585C602A75C901AD5E096
- B98B98DB394C072483E8066C6B594401
- A0C76077A20E75ED950BF4F88A252F83
-
- buildRules
-
- dependencies
-
- isa
- PBXNativeTarget
- name
- SDWebImage
- productName
- SDWebImage
- productReference
- C5284B0E2549CD42E31F469FB8B92DA8
- productType
- com.apple.product-type.library.static
-
- DF11024BF511A0D2225D4BA84770CED7
-
- isa
- PBXFileReference
- lastKnownFileType
- wrapper.framework
- name
- Foundation.framework
- path
- Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk/System/Library/Frameworks/Foundation.framework
- sourceTree
- DEVELOPER_DIR
-
- DFA142DA2A1E6AB454178652BAC9A075
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPDoubleTuple.h
- path
- Expecta/EXPDoubleTuple.h
- sourceTree
- <group>
-
- DFAB389ECAD69BF8BE6357CFADABBF5C
-
- fileRef
- 9E58B396BFA804075E0FCC2D7E764BA6
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- DFF580AE359407E841BA8D8DDCE6E299
-
- fileRef
- ED1EC819236EDC3B337FCB044454FEB6
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- E06376455C1D5E45B97ACDC5438FC15B
-
- fileRef
- 40DAD22BCDD38D058B1C9A312C42DF49
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- E0EBF0357895E0C657A233A9D4D0E2C1
-
- explicitFileType
- archive.ar
- includeInIndex
- 0
- isa
- PBXFileReference
- name
- libPods-MWPhotoBrowser_Tests.a
- path
- libPods-MWPhotoBrowser_Tests.a
- sourceTree
- BUILT_PRODUCTS_DIR
-
- E127589B46F33617D24F341DBAE1E90D
-
- fileRef
- 571096112AA1AD00C10596D216783599
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- E145A7E23B46A8C1E1549511735A041D
-
- fileRef
- 69C3D12EC1F2F8AE628C05AC390D9D61
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- E287D744F886B15E1060AFEA475FC727
-
- fileRef
- 4358F868C1553FF4273B0726E5AD2012
- isa
- PBXBuildFile
-
- E2EBD18BA89D3FF648947DF31FA12D44
-
- fileRef
- 24FAEADA1249F6042B4B4B135CDD0DF9
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- E2FE87384A67337831E53490EEA8BF11
-
- buildConfigurationList
- 0732716566238BF76BBF762F85C8ABAF
- buildPhases
-
- F90E42BE0540AE823AEBE381B7F2AF8C
- 886428740DB164747FBA1935F65900DF
- 53FA1A78374A52A66FBFD0691645BCB8
-
- buildRules
-
- dependencies
-
- D583D511354F609B73EB28F4CFA2C32A
- 8EE5D8EDB6C595B190E81B76D3190EB3
- C3D6913F5E4E594A29E40A526602BBB7
- 299B50B04F45E1A2F52075C3B7A1AEB2
-
- isa
- PBXNativeTarget
- name
- MWPhotoBrowser
- productName
- MWPhotoBrowser
- productReference
- 50F87BFDC26A0B4CC6DE06D3ACBD0714
- productType
- com.apple.product-type.library.static
-
- E348B132ABCC246013AE3A5532BC609F
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- FBSnapshotTestCase.h
- path
- FBSnapshotTestCase/FBSnapshotTestCase.h
- sourceTree
- <group>
-
- E40400D97F14785D20A7A5594F0E2C56
-
- fileRef
- 1398D1B84667A17FCB66182F776EAC42
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- E4436D58F27EAC932F3CC2A7619D5FD3
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageSelectedSmallOn@2x.png
- sourceTree
- <group>
-
- E4AD00C4B132C99837C22CC9031DE9F8
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beCloseTo.h
- path
- Expecta/Matchers/EXPMatchers+beCloseTo.h
- sourceTree
- <group>
-
- E54B859019C3D44B55F4723880F93D4D
-
- fileRef
- E7E794ADE2D5267DF8949DD0A42B935B
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- E5EA159155EA435901485FBB8111088C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- DACircularProgress-prefix.pch
- sourceTree
- <group>
-
- E6798A1D89E725C8EB02146EE4B0E31E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageSelectedOff@2x.png
- sourceTree
- <group>
-
- E7B8141DB24F5AA0D1F847AFEC0DB018
-
- baseConfigurationReference
- 0557FD60A45F62CD51B4972ECE5C2584
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/MBProgressHUD/MBProgressHUD-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- YES
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- E7E794ADE2D5267DF8949DD0A42B935B
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- UIImage+MWPhotoBrowser.h
- sourceTree
- <group>
-
- E81C08F5CCC0A5FBFF4559E2173164C7
-
- buildActionMask
- 2147483647
- files
-
- 70D801E0B95C23BCC270E4EC8659D463
- 2989492A1A182744E36FD61DF1746D94
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- E867CBF850D20C314BF4BD790432455D
-
- fileRef
- 05DA7841521B75C4D0C303F32E518117
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- E8709320B1728545E4889D6232A39109
-
- fileRef
- 216490FDC8376C36DB920710C65B92F3
- isa
- PBXBuildFile
-
- E906DDCC926C2EA5161E326AB04AC53F
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPBlockDefinedMatcher.m
- path
- Expecta/EXPBlockDefinedMatcher.m
- sourceTree
- <group>
-
- E97CDC7A1DFD18DAAD3C505929F32105
-
- fileRef
- 9604D510A96A637DD9AE0D304B68A5A2
- isa
- PBXBuildFile
-
- E99804B4B10C0A5C7C08E5EF962804CE
-
- fileRef
- 0A9B8E3E35177F52A643739AC50B00FA
- isa
- PBXBuildFile
-
- E9AAC3590B391F4CFAF5F8348E6A8FE4
-
- buildConfigurationList
- F4A25246330C837CF7FB43FCC4E2A63F
- buildPhases
-
- 4C9C7890ED44DBC3090EEDFD92749F0A
- 1684C2FDDE674F14B731CC940021D8C6
- 3907B3A4464A3069E24142505C76338D
-
- buildRules
-
- dependencies
-
- isa
- PBXNativeTarget
- name
- Specta
- productName
- Specta
- productReference
- 7CF892960748F43245AD2B5CD2AC41A5
- productType
- com.apple.product-type.library.static
-
- EB4DE2009B511D62CF6BFE67FA73E321
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text
- path
- Pods-MWPhotoBrowser_Example-acknowledgements.markdown
- sourceTree
- <group>
-
- EB75F515760C184B2ED65E8649DC5792
-
- fileRef
- 56228B3CBF246784930BFE7B29EFDD04
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- EB88EE844F8ADBE7E78B381D8832162D
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beFalsy.h
- path
- Expecta/Matchers/EXPMatchers+beFalsy.h
- sourceTree
- <group>
-
- EC0223776620A3EA741C855D0211CB0A
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SDWebImagePrefetcher.h
- path
- SDWebImage/SDWebImagePrefetcher.h
- sourceTree
- <group>
-
- EC9E28E1F941952C6708902F41FD209D
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beSupersetOf.m
- path
- Expecta/Matchers/EXPMatchers+beSupersetOf.m
- sourceTree
- <group>
-
- ECE81C5981477AA7D254ACC70534BE23
-
- baseConfigurationReference
- 6F1FCA0BD48258CDEC1B14D704BA3E5D
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MACH_O_TYPE
- staticlib
- MTL_ENABLE_DEBUG_INFO
- YES
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PODS_ROOT
- $(SRCROOT)
- PRODUCT_NAME
- $(TARGET_NAME)
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- ED177B9B7FCFE4E41DCDCCFB49692E1D
-
- fileRef
- 5289709799A254B807701A658BD9D425
- isa
- PBXBuildFile
-
- ED1EC819236EDC3B337FCB044454FEB6
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+beLessThan.h
- path
- Expecta/Matchers/EXPMatchers+beLessThan.h
- sourceTree
- <group>
-
- EDC1E77817E2D0252126B98EB0206A62
-
- fileRef
- 46F871A74D831312A633CCFC0A94F75D
- isa
- PBXBuildFile
-
- EDDE097EFD40E9A4E32E4B44C97CE44B
-
- fileRef
- 10E446637EC5FF03088009E61B491E75
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- EE04EE8ADAB8F7DF7FCEFDDD1E801BE6
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- 7D9E32DAA93E15CFCF77A5BCD2D4BAA2
- remoteInfo
- FBSnapshotTestCase
-
- EE52A320EC3155B114104E06396D1B59
-
- fileRef
- 809101940909F56A7B70CE17D447640B
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- EF1C003613925663F17E023C73AF519C
-
- buildActionMask
- 2147483647
- files
-
- 5EB4F27B76513AE918BA5AE0868E87C8
-
- isa
- PBXHeadersBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- EF4D256729962DC82677BF90E861294B
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- MBProgressHUD.h
- sourceTree
- <group>
-
- EF5AC1222120F3BAB7481DA9615352B0
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- FBSnapshotTestCase.xcconfig
- sourceTree
- <group>
-
- EF75C10714B7CFF9071553F07D94A550
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- SPTTestSuite.h
- path
- Specta/Specta/SPTTestSuite.h
- sourceTree
- <group>
-
- EF9006327AFFDBED3FD589DA04E2D36A
-
- fileRef
- C655D4974F9982F0810618C9AC07216F
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- EFE77B95F063C96D9B07BC2A988AB403
-
- fileRef
- 9839B551DAF141B99431C2238C8EEBC0
- isa
- PBXBuildFile
-
- F0A8CE7CF766D19972CF0934C1652293
-
- buildActionMask
- 2147483647
- files
-
- CA0DFA401B2A45337DFC72F893A060EF
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- F1948E226356BF652752F9FA7317BC73
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SPTSpec.m
- path
- Specta/Specta/SPTSpec.m
- sourceTree
- <group>
-
- F1F4E65611F5567A86AF797EAC3E225B
-
- fileRef
- B0D25391E290ADE1BF90E18B8281F5F3
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -fno-objc-arc
-
-
- F2168F9F63056AC8BFB344608C4158BE
-
- fileRef
- 3CAA21F3728659DC1B58A336233AEB79
- isa
- PBXBuildFile
-
- F2334A461A36CF285AC6F7E96F8FE0DB
-
- includeInIndex
- 1
- isa
- PBXFileReference
- path
- ImageSelectedOn.png
- sourceTree
- <group>
-
- F26631BB63543446C157972F2F6D1475
-
- fileRef
- F2334A461A36CF285AC6F7E96F8FE0DB
- isa
- PBXBuildFile
-
- F2A9AAC03867BB4990470BAC5912E030
-
- buildActionMask
- 2147483647
- files
-
- 53FB0CBA14BE53F79F4EB4E7B46C523B
- 072C184628072EDE522629576F1716DE
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- F2BDF8E898C762EFB3844211CE201024
-
- buildActionMask
- 2147483647
- files
-
- isa
- PBXFrameworksBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- F2F5671C4613023EE94A2E62DA06031D
-
- buildConfigurations
-
- E7B8141DB24F5AA0D1F847AFEC0DB018
- C5AFFFCB54FD9036E7BC9BA54ADAAF30
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- F314DFE6C76A8EEBC3D8CAF03EB89850
-
- fileRef
- 75F83323F205A277BEC18AABDA0FA739
- isa
- PBXBuildFile
-
- F3BB0A963277282C6BF73E81250B6943
-
- fileRef
- 38777F32EB3F13ED8D2047C1C9ED6D6D
- isa
- PBXBuildFile
- settings
-
- COMPILER_FLAGS
- -DOS_OBJECT_USE_OBJC=0
-
-
- F3FAB75D28A2755E4F9F79FB9F2AF5DB
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- SpectaDSL.m
- path
- Specta/Specta/SpectaDSL.m
- sourceTree
- <group>
-
- F40AD0DE1188AA331D98100B8766D6C8
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beLessThan.m
- path
- Expecta/Matchers/EXPMatchers+beLessThan.m
- sourceTree
- <group>
-
- F4A25246330C837CF7FB43FCC4E2A63F
-
- buildConfigurations
-
- 1C1837DF96AE65F662773DF1956BFF09
- 04D4EDE1F05B96EE8BB9DCD368608620
-
- defaultConfigurationIsVisible
- 0
- defaultConfigurationName
- Release
- isa
- XCConfigurationList
-
- F4CA468B5A9F8FF2A4DB8B236A8E71BF
-
- fileRef
- EB88EE844F8ADBE7E78B381D8832162D
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- F4CDA5FA9197A41E0081E84F932906EB
-
- children
-
- D351C08D4390F427D8E1BEC3CB8A57BD
-
- isa
- PBXGroup
- name
- Frameworks
- sourceTree
- <group>
-
- F5551459CFCB6B7914E9EC1783277D94
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- path
- Expecta+Snapshots-prefix.pch
- sourceTree
- <group>
-
- F5963246D32249D4D198CE8A36B4DD12
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+raiseWithReason.h
- path
- Expecta/Matchers/EXPMatchers+raiseWithReason.h
- sourceTree
- <group>
-
- F5F4D07451FB3E10EE7C16A83010425F
-
- fileRef
- DF11024BF511A0D2225D4BA84770CED7
- isa
- PBXBuildFile
-
- F601833D09980E16136321674463BE81
-
- isa
- PBXTargetDependency
- name
- Expecta
- target
- 2F501FE84845EAD97B9087DAFCBBEE0E
- targetProxy
- C9B5F86F6244D78D3F80384F609427C6
-
- F6045A7604731086F9E1A9412E290302
-
- baseConfigurationReference
- FAF77DDAA41AC524C38F1D92F2EE01AB
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/Expecta+Snapshots/Expecta+Snapshots-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- YES
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- F629BC640170D45C22A8048A42BAB040
-
- children
-
- 37E4F69B3E6AFDEE8D68A3430CEC8BF5
- 40D39B6435EEF47A85F4E3FB684E72FE
- 60ECF290B248258F453088B6258302E6
- C655D4974F9982F0810618C9AC07216F
- DDAA00E6C2E81A6C35534DD632143F09
-
- isa
- PBXGroup
- name
- DACircularProgress
- path
- DACircularProgress
- sourceTree
- <group>
-
- F6E655732BA75BED75FFACA472080CC4
-
- children
-
- 0A924BC847BA99EBCBD0588603448B05
- E906DDCC926C2EA5161E326AB04AC53F
- 7AAD7709C9FF6828905D6A28E69C4221
- DFA142DA2A1E6AB454178652BAC9A075
- D70BED84191514A998A08D7F3B8BBB17
- BA9D20AF1E1E4CF225AA2D772049336D
- 1D536F869C3B7D603AC4630F3F6AB919
- 3DEC242716623D70F4CC9F4A1D32805C
- D09A95F4452843967F4C8F3FA5EC1A68
- 4BE4F23029A1EDB234CF7F2AEB043EB0
- 3E7FFEF7BFB0350CE8FCC2D6D64D1396
- 92F064516748B6AA4C6E303A38C3FE6A
- 8136A5BFC35DA48ABC2C0D94EA79B7F0
- 15082EF0D1C2F7B77B63E0116BDA622C
- 700F6F4AFED22AEAA1D8943236F94924
- 79996E262256F57DB50CD16E5EBE5D52
- 232510EC13760470E86AABE302EF2B8E
- 6ED6BE9A61002A3AF6D4C834E2277D8C
- E4AD00C4B132C99837C22CC9031DE9F8
- D68BA9A93FD415E751DFA95CCF7DCB8D
- EB88EE844F8ADBE7E78B381D8832162D
- B0D25391E290ADE1BF90E18B8281F5F3
- DA7F16221783A03C084D9BAAF7F404DB
- 1BB15402D8C2FB01A198273BA1991DED
- 0683DF2C9B7FC27B576AB4B7B3B146ED
- 7DACEAF8582049D6EB8B4CFFB6CA48CD
- B5969E17FAFFDC548233DC602AAC6211
- AE917511985F6891AF3F8233B9D34001
- 2E7CBF297AA8A0E93C23BFAF1BE94DEE
- 1AB26E75F7BCD415D6AD6B8BA5F03DDB
- 3C5A51B8AE7322A210CF01AFBA648598
- 44D0D04C0DF98EC05B4909F397D6F7FF
- 862018A7CC10880108A2BDC5146C8F3F
- F9B2375A6E20F2774E7B3F08FB92909E
- 29E6F040DB8ACF8886F7FE628840C480
- 3173089CCB6C063D260C58DD7BA3ABF5
- ED1EC819236EDC3B337FCB044454FEB6
- F40AD0DE1188AA331D98100B8766D6C8
- 809101940909F56A7B70CE17D447640B
- 746A80915CF52BE732D200BAA851FBAB
- 2779B434631901F1434BC316E3FB5AE9
- 40DAD22BCDD38D058B1C9A312C42DF49
- 71865C216F48AC822D486C8D9B03B13C
- 0AB1B49E98BEDDFC8A45BB3C1FB54076
- 9A9B45D988FA49FD87F8587C42403EC5
- EC9E28E1F941952C6708902F41FD209D
- 10E68FD4A81F628778B6A4992DB9D952
- C2CEB9C1175C4FC4D5BE5C6EF285E0A4
- FDE2A8151D1FDB6749FB32276220BE7C
- 63010FB3922AB3E2DDD6D8CDD2D10BFA
- 981F3EB0C06E97770D2421E673B013A1
- 9D5AE460F3B78B02A8AE8E5AD0DCC013
- 567A47FABAD9EE8B7DF32295CC53F937
- 56BD615DEEA3BC153C0B73BAC8A60A13
- D10BA2216A9B5F41557B4FC448EE865C
- 70922EF029715CA28E814F87373F29C4
- AB8960E6933BD274C11AD9C15CF410AF
- 6CF3D336192327338965DC88856BDFCF
- 79D73FB4B6A3C92513B81243EA72E78C
- 7250BEF99A7686EAB50B17986FDCED3E
- 5F878B29A406784703BC9F07FBFDD99F
- 3DA2CF997A09E53F375CF0DEEF25AFCF
- B2CBEFFA54424B8FBBE1EB23EC879E69
- 788D548DE837CA2FA9D2D744D64FA847
- F5963246D32249D4D198CE8A36B4DD12
- FFC94BC21DE6B02A85C4BA9B703D222D
- 05DA7841521B75C4D0C303F32E518117
- 24FAEADA1249F6042B4B4B135CDD0DF9
- 865FAF448207E691D600F40C4ACF7C58
- B23D9E49B5B3A5C76EAFFC9C7F40B4B9
- 66D391F04A8D672C0D42510DE811E7B2
- 18391089432560093C31CCA48ABB46AE
- 5A06D9F124A077FE3345C713135D7E6C
- 4209F7E4332FDC16B4C407CA07C3E8E8
-
- isa
- PBXGroup
- name
- Expecta
- path
- Expecta
- sourceTree
- <group>
-
- F84C57B89A97BB8108482354FFD8E157
-
- baseConfigurationReference
- 86A1ADA0F8A843FA09BFF9142BEF76D5
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/Expecta/Expecta-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- YES
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- F88B870D7D0531FB54EAD23EB162DB70
-
- fileRef
- 8DC04A9EEA14F0D2300FB6C0CAEB9CAB
- isa
- PBXBuildFile
-
- F90E42BE0540AE823AEBE381B7F2AF8C
-
- buildActionMask
- 2147483647
- files
-
- 453678659359A72C87495DDD6D9BD0C6
- C5BD0A3729BF33E203724A88CFE727BC
- A0BA05DFEF00406DC4E8898D36D7418D
- CF37F67F6269058934EB779D902EE7AB
- 1A0D2B172232171C3EB6DC4DFE575EE7
- 6EEA87D8E87914D02AA319693371EE2C
- E8709320B1728545E4889D6232A39109
- 5023A97277B66BB3E83DA779FEBAE80C
- D7A0524D2A055F825B4DF69A9DBBFF98
- ED177B9B7FCFE4E41DCDCCFB49692E1D
-
- isa
- PBXSourcesBuildPhase
- runOnlyForDeploymentPostprocessing
- 0
-
- F9B0A541E338684F945B7539D802CF64
-
- fileRef
- 1A1E8E8494B9BFCEBBD8273148D44386
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- F9B2375A6E20F2774E7B3F08FB92909E
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+beInTheRangeOf.m
- path
- Expecta/Matchers/EXPMatchers+beInTheRangeOf.m
- sourceTree
- <group>
-
- FAC85E18FE868D87FFB2E13C182F4DB9
-
- fileRef
- C9BF70FB69B8740763B185C23C560434
- isa
- PBXBuildFile
-
- FAF77DDAA41AC524C38F1D92F2EE01AB
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- text.xcconfig
- path
- Expecta+Snapshots.xcconfig
- sourceTree
- <group>
-
- FB42B2F11B39412F3015A082008F1782
-
- fileRef
- AE6C39B87AE391EC710DA8FB520ED3F5
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- FBADF2C12D471003AEB710314DA3FF49
-
- fileRef
- 28A20AE3D7A1F50CAD0D9D8B71205EC6
- isa
- PBXBuildFile
-
- FC1172043A5F0542D166D63AE9EBC260
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- MBProgressHUD-dummy.m
- sourceTree
- <group>
-
- FC1FB976E1C29A75089D2374BDFCCC44
-
- fileRef
- C36BB9623ECA2B27942B66986A784EC9
- isa
- PBXBuildFile
-
- FC214077677D4F02E03C6C85F774E028
-
- fileRef
- FC1172043A5F0542D166D63AE9EBC260
- isa
- PBXBuildFile
-
- FCA01B035C5FC9AF0969977B2C54A7A9
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- path
- MWGridCell.m
- sourceTree
- <group>
-
- FD6FA76757975A1FC954269CE5739798
-
- baseConfigurationReference
- EF5AC1222120F3BAB7481DA9615352B0
- buildSettings
-
- ENABLE_STRICT_OBJC_MSGSEND
- YES
- GCC_PREFIX_HEADER
- Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch
- IPHONEOS_DEPLOYMENT_TARGET
- 7.0
- MTL_ENABLE_DEBUG_INFO
- YES
- OTHER_LDFLAGS
-
- OTHER_LIBTOOLFLAGS
-
- PRIVATE_HEADERS_FOLDER_PATH
-
- PRODUCT_NAME
- $(TARGET_NAME)
- PUBLIC_HEADERS_FOLDER_PATH
-
- SDKROOT
- iphoneos
- SKIP_INSTALL
- YES
-
- isa
- XCBuildConfiguration
- name
- Debug
-
- FDE2A8151D1FDB6749FB32276220BE7C
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.h
- name
- EXPMatchers+conformTo.h
- path
- Expecta/Matchers/EXPMatchers+conformTo.h
- sourceTree
- <group>
-
- FDEE1AFEA9C68977819B7D652EE1F6F2
-
- children
-
- 362D9038C23D156F9F055EDF5565A5F1
-
- isa
- PBXGroup
- name
- Pod
- path
- Pod
- sourceTree
- <group>
-
- FDF72740DBC37AFACFED73ED42282383
-
- fileRef
- A6A21F67B2A713138BF1A404E3460084
- isa
- PBXBuildFile
-
- FE2F1D7B9D9FCEA148517E4657B243F4
-
- buildConfigurationList
- F2F5671C4613023EE94A2E62DA06031D
- buildPhases
-
- 098439AB598DDF1AF51146A2E3E2E562
- E81C08F5CCC0A5FBFF4559E2173164C7
- EF1C003613925663F17E023C73AF519C
-
- buildRules
-
- dependencies
-
- isa
- PBXNativeTarget
- name
- MBProgressHUD
- productName
- MBProgressHUD
- productReference
- D7F1441E30E059AC17B4C1CE1464C07B
- productType
- com.apple.product-type.library.static
-
- FE4A445C1692178764D9C71EAC64ABAC
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- 05257CC76400D71826E603561A0F73E6
- remoteInfo
- Expecta+Snapshots
-
- FE9D7A964178EF6E3CE5FC52134DF825
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- UIImage+MultiFormat.m
- path
- SDWebImage/UIImage+MultiFormat.m
- sourceTree
- <group>
-
- FEFA85FDDB15B89CF28DF12C1C2071E1
-
- fileRef
- 1EF011C5AA1726984A1B50A46191CE9B
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
- FF6817E7D2D11A6D747BFAEA934D0FD1
-
- containerPortal
- D41D8CD98F00B204E9800998ECF8427E
- isa
- PBXContainerItemProxy
- proxyType
- 1
- remoteGlobalIDString
- FE2F1D7B9D9FCEA148517E4657B243F4
- remoteInfo
- MBProgressHUD
-
- FFC94BC21DE6B02A85C4BA9B703D222D
-
- includeInIndex
- 1
- isa
- PBXFileReference
- lastKnownFileType
- sourcecode.c.objc
- name
- EXPMatchers+raiseWithReason.m
- path
- Expecta/Matchers/EXPMatchers+raiseWithReason.m
- sourceTree
- <group>
-
- FFF549D1FBC0937A99BED40CC44BC155
-
- fileRef
- C266061F84E4CFB93AF99D21EEB13401
- isa
- PBXBuildFile
- settings
-
- ATTRIBUTES
-
- Public
-
-
-
-
- rootObject
- D41D8CD98F00B204E9800998ECF8427E
-
-
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 03790652A4D48DF16670CE1F8A8ACA28 /* NSData+ImageContentType.m in Sources */ = {isa = PBXBuildFile; fileRef = 68904844EDD8B0E1656994579E375556 /* NSData+ImageContentType.m */; };
+ 06213666F5D27832632BFB02CC59152F /* UIImage+MultiFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = C42FA0DD02BA58833B3291B8EE5453B3 /* UIImage+MultiFormat.m */; };
+ 065B7C9B3484853130E1EDD0EEF9E315 /* ImageSelectedOff.png in Resources */ = {isa = PBXBuildFile; fileRef = B4EC6B4614D5E16BB53E3077F206CA1E /* ImageSelectedOff.png */; };
+ 08C311E859C46A9F50FEA29F2CD19333 /* UIBarButtonItemGrid@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 267C2934BF3AC41203225D4407CC199C /* UIBarButtonItemGrid@2x.png */; };
+ 09EF676B05C6ACC78D2C70617613A5F3 /* VideoOverlay@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4A8E037CBDEB041B441D44F8D753C800 /* VideoOverlay@2x.png */; };
+ 0BD576E2AE119573E4774EBE4CA0AB8C /* UIImageView+HighlightedWebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 285B99025F07CD8503576AD605E22595 /* UIImageView+HighlightedWebCache.m */; };
+ 0CA23DCC76B83B612A3CEED98D14B23E /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 319D1D195DE68BB6B31174C660B80C35 /* QuartzCore.framework */; };
+ 1149D428B1A8AFF984100BFC02C2F0F6 /* SDWebImageDownloaderOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 91158196B13560F29BEBC0EACA63081F /* SDWebImageDownloaderOperation.m */; };
+ 143E7852F250B1ACC80574287E7AE670 /* MWTapDetectingImageView.h in Headers */ = {isa = PBXBuildFile; fileRef = A3C18447D1C236CD6AF2F9E65DD0DE55 /* MWTapDetectingImageView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 15E2731485B8A740C9B3D09FA081772C /* ImageSelectedOff@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 2898AAEB7C7B51155FB96696FAA90BD6 /* ImageSelectedOff@3x.png */; };
+ 18010D3EAC4CD6FD5DE5BEB31D84BF3F /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB07EB3DBB8B3726A8C8D4C121128252 /* ImageIO.framework */; };
+ 191BC494BBB2E717ADD5A825FAF0298E /* Pods-MWPhotoBrowser_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 523087C6D186A9F5BEE78D39F9A78F3F /* Pods-MWPhotoBrowser_Example-dummy.m */; };
+ 1B4A883BC1CD28EBF4104B23558FB05F /* XCDYouTubeVideoWebpage.h in Headers */ = {isa = PBXBuildFile; fileRef = 15CD00E6B0C3B9E43E98F423E0F2FA78 /* XCDYouTubeVideoWebpage.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 1C20719672D3D31408BDE8B9EC3DC186 /* DACircularProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = F40AC0AA757FE8EBF2A0E0E280584BB7 /* DACircularProgressView.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; };
+ 1C249AFD4D30C9781D975C5BD9820E6E /* SDWebImageDecoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 2561F9FAC3D17C10D9B8782F7EA13AC3 /* SDWebImageDecoder.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 1E3F480411E4D9426D23C6E7EBB25280 /* ImageSelectedSmallOff@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 4153DC366F63963049573D55CD704DF0 /* ImageSelectedSmallOff@3x.png */; };
+ 1F0040A78C886D1BF549C77BC8609A8F /* MWGridCell.h in Headers */ = {isa = PBXBuildFile; fileRef = B48F6B36F519F83EB80B3B94D521ABCA /* MWGridCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 2574052CE22F5FF9550ECB6954BAE7C6 /* XCDYouTubeKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A76616D4138F12C0B613FD90D15C387 /* XCDYouTubeKit-dummy.m */; };
+ 2627D4952E417CD05538854756F6CD59 /* PlayButtonOverlayLargeTap@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = CE9BABFB647BE1C44CFE2FE94F5593AF /* PlayButtonOverlayLargeTap@2x.png */; };
+ 28890300F9CF467291F12C60B523C170 /* XCDYouTubeVideo+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 72A2D3D767AFBA6CC0D8C20CF17C9053 /* XCDYouTubeVideo+Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 29D92292654AA07340E0084A9E81807B /* NSImage+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 70FCA5846909D9997DB4F931716B8DE5 /* NSImage+WebCache.m */; };
+ 2FBFD1E8EBD310A62465A5286EC1519B /* XCDYouTubeVideo.m in Sources */ = {isa = PBXBuildFile; fileRef = 827493420A942151E281EF10E737DCD2 /* XCDYouTubeVideo.m */; };
+ 311B3D9921D7B34246527B1A4C42E156 /* SDImageCacheConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 0019FFE32488D12E91DF49285F5FF601 /* SDImageCacheConfig.m */; };
+ 312314D6273DA3455D2478DD48812979 /* UIView+WebCacheOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = CFF07B67A9B77459FC57D8FA642FCD8F /* UIView+WebCacheOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 3322F110A1F61085D0D47D6D0F698E8C /* XCDYouTubeVideoPlayerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BBA9E1FC35BF984DAD65D871226BD30A /* XCDYouTubeVideoPlayerViewController.m */; };
+ 34959020687362963252282E5B2E887D /* MWPhotoBrowserPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 69F69B0AAD989CC0D5EE92C64AF081C1 /* MWPhotoBrowserPrivate.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 380B5160798CEB55E5F83881A2413851 /* MWGridCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 2ECE11B813E2D8395BF1E2BAF66C3C86 /* MWGridCell.m */; };
+ 399A4EF7AA1F3D09C882224177191DF8 /* SDWebImage-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = FC9C217D6FCE57C753C503155A032F90 /* SDWebImage-dummy.m */; };
+ 3AA0164D2EAFB19697E16AE2FA86BC1C /* UIImageView+HighlightedWebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = B7D4F01F607BCA676FF9DCC879807F12 /* UIImageView+HighlightedWebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 3E6E773CF7E7E98623105A3BAD7D2A7A /* SDWebImageDecoder.m in Sources */ = {isa = PBXBuildFile; fileRef = 4651D57FB723FFC6E39FB507026C0CA5 /* SDWebImageDecoder.m */; };
+ 407B77D677D697F153EC818C72EB5FDC /* PlayButtonOverlayLarge.png in Resources */ = {isa = PBXBuildFile; fileRef = F3FF374B7F06707BC0A800C33656EBF7 /* PlayButtonOverlayLarge.png */; };
+ 413E6366D1BB031094E64827825C7920 /* UIImage+GIF.h in Headers */ = {isa = PBXBuildFile; fileRef = 3E80AE3422458EA95D8AAEEE710AC9AD /* UIImage+GIF.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 42FBD92B413723005C57E09153EDD4DD /* XCDYouTubeVideoWebpage.m in Sources */ = {isa = PBXBuildFile; fileRef = EA431420FD1214920060C0C8482A9537 /* XCDYouTubeVideoWebpage.m */; };
+ 45D889B34D53E1E061EDE60ECA310E86 /* UIImageView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A1C86A069A248849D284B499A6E97C8 /* UIImageView+WebCache.m */; };
+ 470BD77F580ACCEB374D74BC329D2A80 /* SDImageCacheConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = D3B47DD7B481099652A370DFDD05D7C8 /* SDImageCacheConfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 4926B5144B8F8DF1A35E0772D2747EED /* MWPhotoBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 34957AE61A36398103EECA2DF6864E5F /* MWPhotoBrowser.m */; };
+ 4AAF77C2CC5BC34EDE19D90D4B065A3C /* XCDYouTubeError.h in Headers */ = {isa = PBXBuildFile; fileRef = 61AA7204BB4E75475398AE14B093DA08 /* XCDYouTubeError.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5188753984E1A6AD66E4F74885D793A4 /* SDWebImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = EE00B9E53ADD21AFAD854A442125675C /* SDWebImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5236283A6B842C1C73979F8AAF7FDAA4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C3500291C1AB893ED627ADBF3045201 /* Foundation.framework */; };
+ 536F7D0550F5FD9F5869CEC995CFEE9B /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 429A3AE6183908945918BCB06FF17F71 /* MBProgressHUD.m */; };
+ 5CCE699134F35953196FDAE46842B9A1 /* MWTapDetectingView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6225B58ACFE59C19AA045789CDA37228 /* MWTapDetectingView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 5EEB0C5A2A1EDAD0B53BC1E161CADBEC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C3500291C1AB893ED627ADBF3045201 /* Foundation.framework */; };
+ 628F68B457A8B1CB64313F1D93323691 /* XCDYouTubeVideoOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 87B0236831B5A9DD4CE44E798AE63AAF /* XCDYouTubeVideoOperation.m */; };
+ 6388018D39DDC46C089814F05FFDB0B2 /* ImageSelectedSmallOff.png in Resources */ = {isa = PBXBuildFile; fileRef = B8EEC3913637C9D26D2B5375BC58370E /* ImageSelectedSmallOff.png */; };
+ 6557D4E5DE6AB5E5E97DEFED85FF5902 /* ImageSelectedOn@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BAD8122560B81995DE7AEFED709CD5B0 /* ImageSelectedOn@2x.png */; };
+ 681EB16B32E9F89CA280EFA5F2D5F700 /* UIBarButtonItemArrowRight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3D0870870C2514897E5E0B809C5BB574 /* UIBarButtonItemArrowRight@2x.png */; };
+ 684342BE9A6E4D6E2F305506D9C2DF67 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C3500291C1AB893ED627ADBF3045201 /* Foundation.framework */; };
+ 688216571CF93DE6BF0795688178FBF2 /* XCDYouTubeLogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 7D32C60CBE4D4DD537CE18B20EFC6DBB /* XCDYouTubeLogger.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 691445AE5FE7C1087443F62454854585 /* SDWebImageOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 2394854B5FCE13AD861E6B7B7E40BF28 /* SDWebImageOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 69268E4E72584D9CC10A4EAAE046DE34 /* NSData+ImageContentType.h in Headers */ = {isa = PBXBuildFile; fileRef = 284C0034CED40D0783450522A361B3F1 /* NSData+ImageContentType.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6997E3676CBCABA03FB885F2C1E4D488 /* UIBarButtonItemGrid@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = E239EE52BB520E9C5F7379F65CFFFA89 /* UIBarButtonItemGrid@3x.png */; };
+ 6ABFF71973A60F873FB24283752F23C7 /* MWTapDetectingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 45A233C8CEEE290509DEA0BFDC549AC8 /* MWTapDetectingView.m */; };
+ 6B029AB303CC0A1AEBFE4CC8EB4AD6F6 /* PlayButtonOverlayLarge@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D100662E81CC4215C78271EB8A6D54D2 /* PlayButtonOverlayLarge@3x.png */; };
+ 6B435E7A22049D812C48B18228EE30FA /* UIImage+GIF.m in Sources */ = {isa = PBXBuildFile; fileRef = 78BF2BA5376A2F3CDB57E09ACEE95FB7 /* UIImage+GIF.m */; };
+ 6DE82A7FDF46F210E0BDB900D3770DE9 /* SDWebImagePrefetcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 24AEF6CB98EDF644D8EB083CAE8E508F /* SDWebImagePrefetcher.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6E45FADFBE123E407A9E52D338478A35 /* XCDYouTubeVideoPlayerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = A93F62A0A04AB7F6D691AB98B89742F8 /* XCDYouTubeVideoPlayerViewController.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 74B0705F1A94734BFD48DD8B5BCA0E4A /* NSImage+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F5E054039F51294C76AD03C84907221 /* NSImage+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 75D63A4C76983908E1DDB2F03F3E7631 /* MWCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = B9468817E266DDB38A1BBFA1ED50140A /* MWCommon.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 7B55D285D87D62C1886E59EA0107E28D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C3500291C1AB893ED627ADBF3045201 /* Foundation.framework */; };
+ 81AFB28F4FD24E966E446666CBD2ED9A /* ImageSelectedOff@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 043C5C7E850148F4356E08CC571343F6 /* ImageSelectedOff@2x.png */; };
+ 82DF54572A874909AA5A6A4305B13FC0 /* SDImageCache.h in Headers */ = {isa = PBXBuildFile; fileRef = AE5949E3ABA034EF5FD521FE9B1E0DE4 /* SDImageCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 84DA48E069BFCC61F56B838A3718678B /* SDWebImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 848031D42ECD54A1EDBF3CD75A8E8E62 /* SDWebImageDownloader.m */; };
+ 84ED4242F4B973D3B28E7B4A9CC27F29 /* UIBarButtonItemArrowLeft@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 384AEAAFD14B494C697DE99D9626FC3D /* UIBarButtonItemArrowLeft@3x.png */; };
+ 86C003C9110F03270FFBB1EB60AAD0C7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C3500291C1AB893ED627ADBF3045201 /* Foundation.framework */; };
+ 87F2AD26F91565CA163C68D0A17F2D7D /* PlayButtonOverlayLarge@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = DED380D62C5DAF3E1BE048D39F25E1F7 /* PlayButtonOverlayLarge@2x.png */; };
+ 894CC379E93885EEFBA98C088DC1A6FE /* ImageIO.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB07EB3DBB8B3726A8C8D4C121128252 /* ImageIO.framework */; };
+ 89A0909D060C64A3474CB8740803F756 /* UIImageView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = BF54041C9EA97C362A7194A2BBD2D47D /* UIImageView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 89B32A28997B77659B41B8C7E528865A /* DALabeledCircularProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 255B376F633128BD868C865C8100F891 /* DALabeledCircularProgressView.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; };
+ 8A46F0E4FE4F8F99CE8B56B80219C0B5 /* MWPhoto.h in Headers */ = {isa = PBXBuildFile; fileRef = 17B8EC6579A85B095BBB953B2BACDC4D /* MWPhoto.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 8C3CE3FDE0409456E6157526A6658C9D /* XCDYouTubePlayerScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E5C3A333CC5E3F298272B092DBA327A /* XCDYouTubePlayerScript.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 8C9B1DC3568E2881FF159096A119F748 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B7D28D11E6FD9233B0903D19E28E42F /* CoreGraphics.framework */; };
+ 8D9CDD06A9A0835664B70735CCAC44F9 /* MWGridViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3CDA4FECD7DC98374BF11BF811BC13 /* MWGridViewController.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 8E04E866C412A43EE9F5F4E99156C281 /* XCDYouTubeLogger+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FBB01D058B0870082F46BDA01100006 /* XCDYouTubeLogger+Private.h */; settings = {ATTRIBUTES = (Project, ); }; };
+ 92BAC0C076ED4B4126B8B6B1F3674052 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 819C42AA2A5C9B2B495C46B243AA9871 /* MediaPlayer.framework */; };
+ 93C6691C77ACE940932BB6884164916C /* MWZoomingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 72F675616B6F01593236138964FA5D7A /* MWZoomingScrollView.m */; };
+ 94D880AC12F7FBAB7F27D2BBA9CBB53E /* DACircularProgressView.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F60183888E76B492E42A142D2E6ADF /* DACircularProgressView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9748D46596A2877C6A56EA63335EA98E /* PlayButtonOverlayLargeTap.png in Resources */ = {isa = PBXBuildFile; fileRef = 4D735962D89ED7521924F000CC84F0B3 /* PlayButtonOverlayLargeTap.png */; };
+ 97B809F5F71727FEF2096F35F66440C0 /* SDWebImageDownloaderOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CC79D14E261B7328F0F184793D3200C /* SDWebImageDownloaderOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9A012773BC5B0C892C1F49FEEA7AEA1A /* XCDYouTubeClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 31C8D9DC7224F0175A0DC05980842E8F /* XCDYouTubeClient.m */; };
+ 9B2EB697BA5F2755961E5F26517269BF /* MWPhotoProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 473F1046E2756050DC6393A1CFDCD921 /* MWPhotoProtocol.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9DBFBEAC9B203F9AA487D495D81BE708 /* XCDYouTubeKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 86894EB778120D0BA5A20900227211D6 /* XCDYouTubeKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ A0D65DECEAAE5313F7D3ED6E83A3F424 /* ImageSelectedOn.png in Resources */ = {isa = PBXBuildFile; fileRef = 8F05B0FBD8EF708D9C0A2313D7E4991F /* ImageSelectedOn.png */; };
+ A2499D4D74B295D1CF9E7C1FCE953353 /* XCDYouTubeLogger.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D6A90C678CD7AD0673FDA6244AD5517 /* XCDYouTubeLogger.m */; };
+ A3A46156C9FCE04957F55EA1D35B8B36 /* DACircularProgress-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = EDDBA5189954A37652730586EA316615 /* DACircularProgress-dummy.m */; };
+ A497612914790999A287061130B31E35 /* VideoOverlay.png in Resources */ = {isa = PBXBuildFile; fileRef = 0A1D4BC782FEAF7E7B3CE00AD20A9D56 /* VideoOverlay.png */; };
+ A49A7C7E7CCFB0BE64D9D91F8605E466 /* MWCaptionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 108F52EB1AD2E2E813D8A1BA39CA0E29 /* MWCaptionView.m */; };
+ A589C2AAEEC55339FFC90231BAAEB896 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C3500291C1AB893ED627ADBF3045201 /* Foundation.framework */; };
+ A6FE332576AB55520742E9F1C0FAF60A /* ImageError@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7CB4B5DD2F712E750BC2960C273DFB18 /* ImageError@3x.png */; };
+ A9AE96769BBD013545E91C160A57AF3C /* UIBarButtonItemArrowRight.png in Resources */ = {isa = PBXBuildFile; fileRef = 3C5BCEFDC54D0083C71C51D2D6E3773F /* UIBarButtonItemArrowRight.png */; };
+ AD7E80C376AD8F15093FE5F49A6F381E /* UIImage+MWPhotoBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A700EB3D444481DEA257EF64DBD638F /* UIImage+MWPhotoBrowser.m */; };
+ ADEF815DB6288A5A1A3BCB00187F3DB7 /* ImageSelectedSmallOn@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = BE6B85274938B613103F79C93015F697 /* ImageSelectedSmallOn@2x.png */; };
+ AE3E4287CAE1C503F929EE58DF7A5C32 /* Pods-MWPhotoBrowser_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C6FE69AE06A770FF76C19B8039EC0780 /* Pods-MWPhotoBrowser_Tests-dummy.m */; };
+ B24256F5BBD8399AE5D4E91E1F0A6354 /* UIBarButtonItemArrowRight@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 1D2F6B44C48397D7AB82DEA6C26683FF /* UIBarButtonItemArrowRight@3x.png */; };
+ B399F242E2E2228F1CCBA419903B743E /* MWPhoto.m in Sources */ = {isa = PBXBuildFile; fileRef = 924311B1D87B266961649FC55D2FC382 /* MWPhoto.m */; };
+ B44922CF212DA6BEDE68346D7F279B38 /* UIButton+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 72711722566FF105286888A47D951465 /* UIButton+WebCache.m */; };
+ B5CA9CACF4783F854CD0ED9682DBBAB6 /* XCDYouTubeVideo.h in Headers */ = {isa = PBXBuildFile; fileRef = 11BF2395A4552FB278A008367D3BDEC0 /* XCDYouTubeVideo.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ B648B2AF2A3FCBB4F71340F5A5FE4F2A /* SDWebImageCompat.m in Sources */ = {isa = PBXBuildFile; fileRef = D381C194FC4962EA98F2E809F3E344E4 /* SDWebImageCompat.m */; };
+ BA4030864EA15D612024C6120BA61AA7 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 94FA350FB2E702E8DEB7F0E87BFF265D /* AssetsLibrary.framework */; };
+ BCBBD96745B6D3249DD97F2DFDDB0B4D /* XCDYouTubeClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4559FBBF5604AC2F281A85F60C806D91 /* XCDYouTubeClient.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ BD2B1183C98880C35D1E6E0DA03244E3 /* ImageError.png in Resources */ = {isa = PBXBuildFile; fileRef = 88407C0C0D596BCC8D05BBE057C89AD6 /* ImageError.png */; };
+ BEAE85CE4CF40CB17AF5E311237428DF /* SDWebImageCompat.h in Headers */ = {isa = PBXBuildFile; fileRef = 824DB8E5A3F385243985261081E3D404 /* SDWebImageCompat.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C103527FB28620120C1FDDBC1A58E2B5 /* MWGridViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = DA17D4FD829678725B0E27AB3EEBDE70 /* MWGridViewController.m */; };
+ C23657B0710AE187185AB686C4682162 /* DALabeledCircularProgressView.h in Headers */ = {isa = PBXBuildFile; fileRef = A54DEF56D69674C937E50C66824969DB /* DALabeledCircularProgressView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ C7126224D81564C32A2CE82634077C41 /* UIBarButtonItemArrowLeft@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 911876E33C6EA1A3845C5BD270724BF2 /* UIBarButtonItemArrowLeft@2x.png */; };
+ C7757DF5EBF5680452FCDF7A88C7372F /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 819C42AA2A5C9B2B495C46B243AA9871 /* MediaPlayer.framework */; };
+ C8D8C8B074A4538BCB53D0BA6D31B647 /* UIBarButtonItemGrid.png in Resources */ = {isa = PBXBuildFile; fileRef = E77CC6051B233AD4305096C9903253AE /* UIBarButtonItemGrid.png */; };
+ CA5E682B018BF5756152E04FE2F23909 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5C3500291C1AB893ED627ADBF3045201 /* Foundation.framework */; };
+ CACAB725EE8934DC19A02159BBAF9B7C /* SDWebImageDownloader.h in Headers */ = {isa = PBXBuildFile; fileRef = CCA0DD825B12F64710E0B749D2F907C3 /* SDWebImageDownloader.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ CB249274BDE21B9E63E6B3A37C2DFA7E /* XCDYouTubePlayerScript.m in Sources */ = {isa = PBXBuildFile; fileRef = 544249CD9EA7A0088FC5581044682615 /* XCDYouTubePlayerScript.m */; };
+ CB7EF2373D782BF551346C3025EF5C31 /* ImageSelectedSmallOn@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 251C46FB3CCCFD799AA37B743FB19580 /* ImageSelectedSmallOn@3x.png */; };
+ CBAEC6427E8F15D32EB244502704E34F /* XCDYouTubeOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D9A8C9DB20DF530C39DE6169505F5C9 /* XCDYouTubeOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ CBFC363C55935F24F7FBD100D477289E /* UIBarButtonItemArrowLeft.png in Resources */ = {isa = PBXBuildFile; fileRef = 70A24AB9B553831F48E27D2AB7C359CA /* UIBarButtonItemArrowLeft.png */; };
+ CD3798DA06F5CE66D50EE102AB129B24 /* ImageSelectedSmallOn.png in Resources */ = {isa = PBXBuildFile; fileRef = 24D23C172A45E908D632E10D8C8761D7 /* ImageSelectedSmallOn.png */; };
+ D15943A25850CB92ECFDABFD80659B73 /* MWCaptionView.h in Headers */ = {isa = PBXBuildFile; fileRef = F2A204E4A3C0D375DA1C5E5865562073 /* MWCaptionView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D415D0767A8AF457434FFFB5957D4616 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 319D1D195DE68BB6B31174C660B80C35 /* QuartzCore.framework */; };
+ D973D10CB3689E00F6BE1018EB59733D /* MWZoomingScrollView.h in Headers */ = {isa = PBXBuildFile; fileRef = DAD82231B48DCA36652DCCFB70E3C8D4 /* MWZoomingScrollView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D9E0466714F05737A8CAD68837917909 /* MWPhotoBrowser.h in Headers */ = {isa = PBXBuildFile; fileRef = 024BED5A7F788631613A3D106BA426A3 /* MWPhotoBrowser.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ DB256BB9A307FFD8E0249BB76E3727E5 /* MWPhotoBrowser-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 86D41C83838EE54331D46AFC15C7AF80 /* MWPhotoBrowser-dummy.m */; };
+ DE32BD199618010C35001382B06C0583 /* UIView+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 6F9FFF0DA8DCFCFF0CDC281F875B701C /* UIView+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ E1818358073B616C998BE6924F9A37AA /* MWTapDetectingImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = E37E97ECB888144AEB4FAF30B818E94B /* MWTapDetectingImageView.m */; };
+ E1F6ED2BB7071F051116A3D742D5C529 /* UIImage+MWPhotoBrowser.h in Headers */ = {isa = PBXBuildFile; fileRef = 4C4ADEC096A7924AFD84F05C519C7BAE /* UIImage+MWPhotoBrowser.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ E414E8B58987EBF185D0E53082F6509F /* SDWebImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = F2DF4DF230BEB311A632901CFC209A0B /* SDWebImageManager.m */; };
+ E5229F5125ACD420659E7B2D19BB30A8 /* MBProgressHUD-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 20506E0C607E50D76B9CC17B8BBD0B67 /* MBProgressHUD-dummy.m */; };
+ E524567EAE48DBF04A5CC2DC9C7660C2 /* SDImageCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 6568616BB8E91849142C316FEB92F6FC /* SDImageCache.m */; };
+ E7553F6BDC21CC30A1A5497AB4871F40 /* VideoOverlay@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 11DF833BD31DD8C196820D972C6C4B5B /* VideoOverlay@3x.png */; };
+ EA321C98029015AA4895C0B26891D8F8 /* MBProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = 613230911986C71FD43CEB2CFB8FF46E /* MBProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ EC3CC8B8273B764D06D57A436101AFFF /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B42901246743DD72C579A928C740D8C /* JavaScriptCore.framework */; };
+ ED93F4180563FD91CBA05EBE2FC8CEE2 /* UIButton+WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 703C9EFD2AA8C6BEB1F6340EA47F63B5 /* UIButton+WebCache.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ EDC74522B5481DBA1E0E8BCF5EB2DB4D /* ImageSelectedOn@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = D1B90034C0975F4D627B41121DE520EB /* ImageSelectedOn@3x.png */; };
+ F774771FD2AF28EDE38A7BAE9CBD1F86 /* ImageError@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3FBCD7FE1411BD313C1C82BA366DF91C /* ImageError@2x.png */; };
+ F8A6D4F60AC6079247F94ACF6085428C /* ImageSelectedSmallOff@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6D584665C4236810C577B0E432AE8FC5 /* ImageSelectedSmallOff@2x.png */; };
+ F933318673BF90B3367F1D42022F25D5 /* UIImage+MultiFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 311CB30D9BF0E59EED8B8FECE87AFBB4 /* UIImage+MultiFormat.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ F98F567E530C55F69ED4CE2AFDF985C0 /* UIView+WebCacheOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 675C8D009D295CE70BEDD602DDA78342 /* UIView+WebCacheOperation.m */; };
+ FB285D9473C598C8545E16412CA896B0 /* SDWebImagePrefetcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 75649DFC61B05C7D9118BBEDD688F157 /* SDWebImagePrefetcher.m */; };
+ FCD9F2EE58C254324C7862A42DAE6958 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 319D1D195DE68BB6B31174C660B80C35 /* QuartzCore.framework */; };
+ FDF827DD9F0B138E81C045AA4DFF6D02 /* UIView+WebCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 31716F99D5200A376861BD5E9833F97C /* UIView+WebCache.m */; };
+ FEAD22727E8B732CDD8855FA9C82FCBB /* PlayButtonOverlayLargeTap@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 508EC3DBD6A1DA39BF6E8A9E6BEFBF8C /* PlayButtonOverlayLargeTap@3x.png */; };
+ FF8C717AEE55CF367821AB2B226121D7 /* XCDYouTubeVideoOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AD5C83AC6393597FEF6BE9BA8217C54 /* XCDYouTubeVideoOperation.h */; settings = {ATTRIBUTES = (Public, ); }; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 17786A867B4986489E93D109CB966DA8 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 586F2DFA9BDCC6675C2546793A69E5CC;
+ remoteInfo = MBProgressHUD;
+ };
+ 3F662D450E1D5B8864A8191BDD9BEA0A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = C791F0A928C1A8FE97074DFC9ACF4E75;
+ remoteInfo = DACircularProgress;
+ };
+ 4718360B3B7B53721FDC69B2C5E66807 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2E703DC4611B1BE34520E1D529B0B818;
+ remoteInfo = MWPhotoBrowser;
+ };
+ 4FA773E1CC5DBA3580ABC016A5D8900A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = C791F0A928C1A8FE97074DFC9ACF4E75;
+ remoteInfo = DACircularProgress;
+ };
+ 610A1F48A5384ADADDB90F129A07A86A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 586F2DFA9BDCC6675C2546793A69E5CC;
+ remoteInfo = MBProgressHUD;
+ };
+ 6133B85E5603FEAC49B503C19F650129 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = C791F0A928C1A8FE97074DFC9ACF4E75;
+ remoteInfo = DACircularProgress;
+ };
+ 6F521EE713D023C8503476CA2678CB5F /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2E703DC4611B1BE34520E1D529B0B818;
+ remoteInfo = MWPhotoBrowser;
+ };
+ 81F0FD7289C08E6B3976CA38C84B5CAD /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 3CFB26B217D02ACC44EF862D2A1E0F84;
+ remoteInfo = XCDYouTubeKit;
+ };
+ 8710E142FF800E5F8C72EFFCC79AAF9E /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 586F2DFA9BDCC6675C2546793A69E5CC;
+ remoteInfo = MBProgressHUD;
+ };
+ 8BBB35822EA15DC01ACA46DC68B71B54 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 3CFB26B217D02ACC44EF862D2A1E0F84;
+ remoteInfo = XCDYouTubeKit;
+ };
+ 9D8F27213074350B1F35182682CA45EF /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 2B9456DE7CCE0313CBD1C89727596CCB;
+ remoteInfo = "MWPhotoBrowser-MWPhotoBrowser";
+ };
+ 9E1B128A38787D22DEDDBA3646D48C55 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 272ADB1F5A254267FC963E4A14FB1B7B;
+ remoteInfo = SDWebImage;
+ };
+ A4B9CAB0BB4BE712BC12C5DDD5C2FC71 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 272ADB1F5A254267FC963E4A14FB1B7B;
+ remoteInfo = SDWebImage;
+ };
+ B805AAEAFE3980EB39A9EC8EB38C2AE3 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 3CFB26B217D02ACC44EF862D2A1E0F84;
+ remoteInfo = XCDYouTubeKit;
+ };
+ CA46572EB6B3C0DCDEC10D3DE929F9A1 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 272ADB1F5A254267FC963E4A14FB1B7B;
+ remoteInfo = SDWebImage;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 0019FFE32488D12E91DF49285F5FF601 /* SDImageCacheConfig.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCacheConfig.m; path = SDWebImage/SDImageCacheConfig.m; sourceTree = ""; };
+ 024BED5A7F788631613A3D106BA426A3 /* MWPhotoBrowser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MWPhotoBrowser.h; sourceTree = ""; };
+ 043C5C7E850148F4356E08CC571343F6 /* ImageSelectedOff@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "ImageSelectedOff@2x.png"; sourceTree = ""; };
+ 092E9AB0AD0BD7C59F01D2B23435086E /* XCDYouTubeKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = XCDYouTubeKit.xcconfig; sourceTree = ""; };
+ 0A1D4BC782FEAF7E7B3CE00AD20A9D56 /* VideoOverlay.png */ = {isa = PBXFileReference; includeInIndex = 1; path = VideoOverlay.png; sourceTree = ""; };
+ 0AD5C83AC6393597FEF6BE9BA8217C54 /* XCDYouTubeVideoOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = XCDYouTubeVideoOperation.h; path = XCDYouTubeKit/XCDYouTubeVideoOperation.h; sourceTree = ""; };
+ 0CC79D14E261B7328F0F184793D3200C /* SDWebImageDownloaderOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloaderOperation.h; path = SDWebImage/SDWebImageDownloaderOperation.h; sourceTree = ""; };
+ 0FBB01D058B0870082F46BDA01100006 /* XCDYouTubeLogger+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCDYouTubeLogger+Private.h"; path = "XCDYouTubeKit/XCDYouTubeLogger+Private.h"; sourceTree = ""; };
+ 108F52EB1AD2E2E813D8A1BA39CA0E29 /* MWCaptionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MWCaptionView.m; sourceTree = ""; };
+ 11BF2395A4552FB278A008367D3BDEC0 /* XCDYouTubeVideo.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = XCDYouTubeVideo.h; path = XCDYouTubeKit/XCDYouTubeVideo.h; sourceTree = ""; };
+ 11DF833BD31DD8C196820D972C6C4B5B /* VideoOverlay@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "VideoOverlay@3x.png"; sourceTree = ""; };
+ 13CA5034DE9AC59B5CE9353BC9A3E4E9 /* SDWebImage.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SDWebImage.xcconfig; sourceTree = ""; };
+ 1580BE8D870658FFFB9EF3D04B9213CC /* Pods-MWPhotoBrowser_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MWPhotoBrowser_Tests.release.xcconfig"; sourceTree = ""; };
+ 15CD00E6B0C3B9E43E98F423E0F2FA78 /* XCDYouTubeVideoWebpage.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = XCDYouTubeVideoWebpage.h; path = XCDYouTubeKit/XCDYouTubeVideoWebpage.h; sourceTree = ""; };
+ 17B8EC6579A85B095BBB953B2BACDC4D /* MWPhoto.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MWPhoto.h; sourceTree = ""; };
+ 1A3CDA4FECD7DC98374BF11BF811BC13 /* MWGridViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MWGridViewController.h; sourceTree = ""; };
+ 1D2F6B44C48397D7AB82DEA6C26683FF /* UIBarButtonItemArrowRight@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "UIBarButtonItemArrowRight@3x.png"; sourceTree = ""; };
+ 1E5C3A333CC5E3F298272B092DBA327A /* XCDYouTubePlayerScript.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = XCDYouTubePlayerScript.h; path = XCDYouTubeKit/XCDYouTubePlayerScript.h; sourceTree = ""; };
+ 20506E0C607E50D76B9CC17B8BBD0B67 /* MBProgressHUD-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MBProgressHUD-dummy.m"; sourceTree = ""; };
+ 2394854B5FCE13AD861E6B7B7E40BF28 /* SDWebImageOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageOperation.h; path = SDWebImage/SDWebImageOperation.h; sourceTree = ""; };
+ 24AEF6CB98EDF644D8EB083CAE8E508F /* SDWebImagePrefetcher.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImagePrefetcher.h; path = SDWebImage/SDWebImagePrefetcher.h; sourceTree = ""; };
+ 24D23C172A45E908D632E10D8C8761D7 /* ImageSelectedSmallOn.png */ = {isa = PBXFileReference; includeInIndex = 1; path = ImageSelectedSmallOn.png; sourceTree = ""; };
+ 251C46FB3CCCFD799AA37B743FB19580 /* ImageSelectedSmallOn@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "ImageSelectedSmallOn@3x.png"; sourceTree = ""; };
+ 255B376F633128BD868C865C8100F891 /* DALabeledCircularProgressView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DALabeledCircularProgressView.m; path = DACircularProgress/DALabeledCircularProgressView.m; sourceTree = ""; };
+ 2561F9FAC3D17C10D9B8782F7EA13AC3 /* SDWebImageDecoder.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDecoder.h; path = SDWebImage/SDWebImageDecoder.h; sourceTree = ""; };
+ 267C2934BF3AC41203225D4407CC199C /* UIBarButtonItemGrid@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "UIBarButtonItemGrid@2x.png"; sourceTree = ""; };
+ 284C0034CED40D0783450522A361B3F1 /* NSData+ImageContentType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSData+ImageContentType.h"; path = "SDWebImage/NSData+ImageContentType.h"; sourceTree = ""; };
+ 285B99025F07CD8503576AD605E22595 /* UIImageView+HighlightedWebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+HighlightedWebCache.m"; path = "SDWebImage/UIImageView+HighlightedWebCache.m"; sourceTree = ""; };
+ 2898AAEB7C7B51155FB96696FAA90BD6 /* ImageSelectedOff@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "ImageSelectedOff@3x.png"; sourceTree = ""; };
+ 2A1C86A069A248849D284B499A6E97C8 /* UIImageView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImageView+WebCache.m"; path = "SDWebImage/UIImageView+WebCache.m"; sourceTree = ""; };
+ 2A700EB3D444481DEA257EF64DBD638F /* UIImage+MWPhotoBrowser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UIImage+MWPhotoBrowser.m"; sourceTree = ""; };
+ 2ECE11B813E2D8395BF1E2BAF66C3C86 /* MWGridCell.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MWGridCell.m; sourceTree = ""; };
+ 311CB30D9BF0E59EED8B8FECE87AFBB4 /* UIImage+MultiFormat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+MultiFormat.h"; path = "SDWebImage/UIImage+MultiFormat.h"; sourceTree = ""; };
+ 31716F99D5200A376861BD5E9833F97C /* UIView+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCache.m"; path = "SDWebImage/UIView+WebCache.m"; sourceTree = ""; };
+ 319D1D195DE68BB6B31174C660B80C35 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
+ 31C8D9DC7224F0175A0DC05980842E8F /* XCDYouTubeClient.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = XCDYouTubeClient.m; path = XCDYouTubeKit/XCDYouTubeClient.m; sourceTree = ""; };
+ 34957AE61A36398103EECA2DF6864E5F /* MWPhotoBrowser.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MWPhotoBrowser.m; sourceTree = ""; };
+ 384AEAAFD14B494C697DE99D9626FC3D /* UIBarButtonItemArrowLeft@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "UIBarButtonItemArrowLeft@3x.png"; sourceTree = ""; };
+ 3A9A7F170395BAE8C9F81BE229B86A3B /* DACircularProgress-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "DACircularProgress-prefix.pch"; sourceTree = ""; };
+ 3B9D8B93E01ED71CAE1599552334415A /* libSDWebImage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libSDWebImage.a; path = libSDWebImage.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 3C5BCEFDC54D0083C71C51D2D6E3773F /* UIBarButtonItemArrowRight.png */ = {isa = PBXFileReference; includeInIndex = 1; path = UIBarButtonItemArrowRight.png; sourceTree = ""; };
+ 3D0870870C2514897E5E0B809C5BB574 /* UIBarButtonItemArrowRight@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "UIBarButtonItemArrowRight@2x.png"; sourceTree = ""; };
+ 3D911019815E4FE245A868D1E049E070 /* MWPhotoBrowser-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MWPhotoBrowser-prefix.pch"; sourceTree = ""; };
+ 3E80AE3422458EA95D8AAEEE710AC9AD /* UIImage+GIF.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+GIF.h"; path = "SDWebImage/UIImage+GIF.h"; sourceTree = ""; };
+ 3F5E054039F51294C76AD03C84907221 /* NSImage+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "NSImage+WebCache.h"; path = "SDWebImage/NSImage+WebCache.h"; sourceTree = ""; };
+ 3FBCD7FE1411BD313C1C82BA366DF91C /* ImageError@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "ImageError@2x.png"; sourceTree = ""; };
+ 4153DC366F63963049573D55CD704DF0 /* ImageSelectedSmallOff@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "ImageSelectedSmallOff@3x.png"; sourceTree = ""; };
+ 429A3AE6183908945918BCB06FF17F71 /* MBProgressHUD.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MBProgressHUD.m; sourceTree = ""; };
+ 4559FBBF5604AC2F281A85F60C806D91 /* XCDYouTubeClient.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = XCDYouTubeClient.h; path = XCDYouTubeKit/XCDYouTubeClient.h; sourceTree = ""; };
+ 45A233C8CEEE290509DEA0BFDC549AC8 /* MWTapDetectingView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MWTapDetectingView.m; sourceTree = ""; };
+ 4651D57FB723FFC6E39FB507026C0CA5 /* SDWebImageDecoder.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDecoder.m; path = SDWebImage/SDWebImageDecoder.m; sourceTree = ""; };
+ 473F1046E2756050DC6393A1CFDCD921 /* MWPhotoProtocol.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MWPhotoProtocol.h; sourceTree = ""; };
+ 49D1F6AC30D78BC33129965F92C60117 /* libPods-MWPhotoBrowser_Tests.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-MWPhotoBrowser_Tests.a"; path = "libPods-MWPhotoBrowser_Tests.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 4A8E037CBDEB041B441D44F8D753C800 /* VideoOverlay@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "VideoOverlay@2x.png"; sourceTree = ""; };
+ 4C4ADEC096A7924AFD84F05C519C7BAE /* UIImage+MWPhotoBrowser.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UIImage+MWPhotoBrowser.h"; sourceTree = ""; };
+ 4D735962D89ED7521924F000CC84F0B3 /* PlayButtonOverlayLargeTap.png */ = {isa = PBXFileReference; includeInIndex = 1; path = PlayButtonOverlayLargeTap.png; sourceTree = ""; };
+ 508EC3DBD6A1DA39BF6E8A9E6BEFBF8C /* PlayButtonOverlayLargeTap@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "PlayButtonOverlayLargeTap@3x.png"; sourceTree = ""; };
+ 523087C6D186A9F5BEE78D39F9A78F3F /* Pods-MWPhotoBrowser_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-MWPhotoBrowser_Example-dummy.m"; sourceTree = ""; };
+ 544249CD9EA7A0088FC5581044682615 /* XCDYouTubePlayerScript.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = XCDYouTubePlayerScript.m; path = XCDYouTubeKit/XCDYouTubePlayerScript.m; sourceTree = ""; };
+ 5715223FFEC1673091FC3796CAB8D397 /* MBProgressHUD-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MBProgressHUD-prefix.pch"; sourceTree = ""; };
+ 5850E7021F9E89F83FC1C6A9A28091E4 /* libPods-MWPhotoBrowser_Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = "libPods-MWPhotoBrowser_Example.a"; path = "libPods-MWPhotoBrowser_Example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 5A76616D4138F12C0B613FD90D15C387 /* XCDYouTubeKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "XCDYouTubeKit-dummy.m"; sourceTree = ""; };
+ 5C3500291C1AB893ED627ADBF3045201 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
+ 613230911986C71FD43CEB2CFB8FF46E /* MBProgressHUD.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MBProgressHUD.h; sourceTree = ""; };
+ 61AA7204BB4E75475398AE14B093DA08 /* XCDYouTubeError.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = XCDYouTubeError.h; path = XCDYouTubeKit/XCDYouTubeError.h; sourceTree = ""; };
+ 6225B58ACFE59C19AA045789CDA37228 /* MWTapDetectingView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MWTapDetectingView.h; sourceTree = ""; };
+ 6568616BB8E91849142C316FEB92F6FC /* SDImageCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDImageCache.m; path = SDWebImage/SDImageCache.m; sourceTree = ""; };
+ 65FB5D74A2ACE687E3C9BD35C3E36833 /* SDWebImage-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SDWebImage-prefix.pch"; sourceTree = ""; };
+ 675C8D009D295CE70BEDD602DDA78342 /* UIView+WebCacheOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIView+WebCacheOperation.m"; path = "SDWebImage/UIView+WebCacheOperation.m"; sourceTree = ""; };
+ 68904844EDD8B0E1656994579E375556 /* NSData+ImageContentType.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSData+ImageContentType.m"; path = "SDWebImage/NSData+ImageContentType.m"; sourceTree = ""; };
+ 68F141757E1606330C04FEBE78CBCE4E /* Pods-MWPhotoBrowser_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-MWPhotoBrowser_Tests-acknowledgements.markdown"; sourceTree = ""; };
+ 69F69B0AAD989CC0D5EE92C64AF081C1 /* MWPhotoBrowserPrivate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MWPhotoBrowserPrivate.h; sourceTree = ""; };
+ 6D584665C4236810C577B0E432AE8FC5 /* ImageSelectedSmallOff@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "ImageSelectedSmallOff@2x.png"; sourceTree = ""; };
+ 6D6A90C678CD7AD0673FDA6244AD5517 /* XCDYouTubeLogger.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = XCDYouTubeLogger.m; path = XCDYouTubeKit/XCDYouTubeLogger.m; sourceTree = ""; };
+ 6F1FCA0BD48258CDEC1B14D704BA3E5D /* Pods-MWPhotoBrowser_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MWPhotoBrowser_Tests.debug.xcconfig"; sourceTree = ""; };
+ 6F9FFF0DA8DCFCFF0CDC281F875B701C /* UIView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCache.h"; path = "SDWebImage/UIView+WebCache.h"; sourceTree = ""; };
+ 703C9EFD2AA8C6BEB1F6340EA47F63B5 /* UIButton+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIButton+WebCache.h"; path = "SDWebImage/UIButton+WebCache.h"; sourceTree = ""; };
+ 70A24AB9B553831F48E27D2AB7C359CA /* UIBarButtonItemArrowLeft.png */ = {isa = PBXFileReference; includeInIndex = 1; path = UIBarButtonItemArrowLeft.png; sourceTree = ""; };
+ 70FCA5846909D9997DB4F931716B8DE5 /* NSImage+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "NSImage+WebCache.m"; path = "SDWebImage/NSImage+WebCache.m"; sourceTree = ""; };
+ 71BC183B1FB7AB5F8CF9A3383C6B354C /* Pods-MWPhotoBrowser_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MWPhotoBrowser_Example-frameworks.sh"; sourceTree = ""; };
+ 72711722566FF105286888A47D951465 /* UIButton+WebCache.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIButton+WebCache.m"; path = "SDWebImage/UIButton+WebCache.m"; sourceTree = ""; };
+ 72A2D3D767AFBA6CC0D8C20CF17C9053 /* XCDYouTubeVideo+Private.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "XCDYouTubeVideo+Private.h"; path = "XCDYouTubeKit/XCDYouTubeVideo+Private.h"; sourceTree = ""; };
+ 72F675616B6F01593236138964FA5D7A /* MWZoomingScrollView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MWZoomingScrollView.m; sourceTree = ""; };
+ 75649DFC61B05C7D9118BBEDD688F157 /* SDWebImagePrefetcher.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImagePrefetcher.m; path = SDWebImage/SDWebImagePrefetcher.m; sourceTree = ""; };
+ 78BF2BA5376A2F3CDB57E09ACEE95FB7 /* UIImage+GIF.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+GIF.m"; path = "SDWebImage/UIImage+GIF.m"; sourceTree = ""; };
+ 7A30FFD9C4FEF09A3AD4F8881F276028 /* MBProgressHUD.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MBProgressHUD.xcconfig; sourceTree = ""; };
+ 7B42901246743DD72C579A928C740D8C /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
+ 7CB4B5DD2F712E750BC2960C273DFB18 /* ImageError@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "ImageError@3x.png"; sourceTree = ""; };
+ 7D32C60CBE4D4DD537CE18B20EFC6DBB /* XCDYouTubeLogger.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = XCDYouTubeLogger.h; path = XCDYouTubeKit/XCDYouTubeLogger.h; sourceTree = ""; };
+ 819C42AA2A5C9B2B495C46B243AA9871 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/MediaPlayer.framework; sourceTree = DEVELOPER_DIR; };
+ 824DB8E5A3F385243985261081E3D404 /* SDWebImageCompat.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageCompat.h; path = SDWebImage/SDWebImageCompat.h; sourceTree = ""; };
+ 827493420A942151E281EF10E737DCD2 /* XCDYouTubeVideo.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = XCDYouTubeVideo.m; path = XCDYouTubeKit/XCDYouTubeVideo.m; sourceTree = ""; };
+ 848031D42ECD54A1EDBF3CD75A8E8E62 /* SDWebImageDownloader.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloader.m; path = SDWebImage/SDWebImageDownloader.m; sourceTree = ""; };
+ 86894EB778120D0BA5A20900227211D6 /* XCDYouTubeKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = XCDYouTubeKit.h; path = XCDYouTubeKit/XCDYouTubeKit.h; sourceTree = ""; };
+ 86D41C83838EE54331D46AFC15C7AF80 /* MWPhotoBrowser-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MWPhotoBrowser-dummy.m"; sourceTree = ""; };
+ 87B0236831B5A9DD4CE44E798AE63AAF /* XCDYouTubeVideoOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = XCDYouTubeVideoOperation.m; path = XCDYouTubeKit/XCDYouTubeVideoOperation.m; sourceTree = ""; };
+ 87F5E19132A07CD59695663CA9823453 /* libXCDYouTubeKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libXCDYouTubeKit.a; path = libXCDYouTubeKit.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 88407C0C0D596BCC8D05BBE057C89AD6 /* ImageError.png */ = {isa = PBXFileReference; includeInIndex = 1; path = ImageError.png; sourceTree = ""; };
+ 8B7D28D11E6FD9233B0903D19E28E42F /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
+ 8F010E4737A5E1254655CC7380C35F1D /* ResourceBundle-MWPhotoBrowser-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "ResourceBundle-MWPhotoBrowser-Info.plist"; sourceTree = ""; };
+ 8F05B0FBD8EF708D9C0A2313D7E4991F /* ImageSelectedOn.png */ = {isa = PBXFileReference; includeInIndex = 1; path = ImageSelectedOn.png; sourceTree = ""; };
+ 9001A308F141A2357C74AFF023BD8334 /* libDACircularProgress.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libDACircularProgress.a; path = libDACircularProgress.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ 91158196B13560F29BEBC0EACA63081F /* SDWebImageDownloaderOperation.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageDownloaderOperation.m; path = SDWebImage/SDWebImageDownloaderOperation.m; sourceTree = ""; };
+ 911876E33C6EA1A3845C5BD270724BF2 /* UIBarButtonItemArrowLeft@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "UIBarButtonItemArrowLeft@2x.png"; sourceTree = ""; };
+ 924311B1D87B266961649FC55D2FC382 /* MWPhoto.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MWPhoto.m; sourceTree = ""; };
+ 9374BBB3BA16684D1B858CCC9C3E2D8A /* Pods-MWPhotoBrowser_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MWPhotoBrowser_Example-acknowledgements.plist"; sourceTree = ""; };
+ 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
+ 94FA350FB2E702E8DEB7F0E87BFF265D /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/AssetsLibrary.framework; sourceTree = DEVELOPER_DIR; };
+ 9C95EBE1D39EEFE5E6404691C95BE2E2 /* Pods-MWPhotoBrowser_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MWPhotoBrowser_Tests-resources.sh"; sourceTree = ""; };
+ 9D9A8C9DB20DF530C39DE6169505F5C9 /* XCDYouTubeOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = XCDYouTubeOperation.h; path = XCDYouTubeKit/XCDYouTubeOperation.h; sourceTree = ""; };
+ 9F19BCDE9BF6E330E14588598DFC6337 /* Pods-MWPhotoBrowser_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-MWPhotoBrowser_Tests-acknowledgements.plist"; sourceTree = ""; };
+ A3C18447D1C236CD6AF2F9E65DD0DE55 /* MWTapDetectingImageView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MWTapDetectingImageView.h; sourceTree = ""; };
+ A54DEF56D69674C937E50C66824969DB /* DALabeledCircularProgressView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DALabeledCircularProgressView.h; path = DACircularProgress/DALabeledCircularProgressView.h; sourceTree = ""; };
+ A93F62A0A04AB7F6D691AB98B89742F8 /* XCDYouTubeVideoPlayerViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = XCDYouTubeVideoPlayerViewController.h; path = XCDYouTubeKit/XCDYouTubeVideoPlayerViewController.h; sourceTree = ""; };
+ A9F60183888E76B492E42A142D2E6ADF /* DACircularProgressView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = DACircularProgressView.h; path = DACircularProgress/DACircularProgressView.h; sourceTree = ""; };
+ AD19F4213DA8D7979188D0E4334F74CF /* libMBProgressHUD.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libMBProgressHUD.a; path = libMBProgressHUD.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ AE5949E3ABA034EF5FD521FE9B1E0DE4 /* SDImageCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCache.h; path = SDWebImage/SDImageCache.h; sourceTree = ""; };
+ B48F6B36F519F83EB80B3B94D521ABCA /* MWGridCell.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MWGridCell.h; sourceTree = ""; };
+ B4EC6B4614D5E16BB53E3077F206CA1E /* ImageSelectedOff.png */ = {isa = PBXFileReference; includeInIndex = 1; path = ImageSelectedOff.png; sourceTree = ""; };
+ B7D4F01F607BCA676FF9DCC879807F12 /* UIImageView+HighlightedWebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+HighlightedWebCache.h"; path = "SDWebImage/UIImageView+HighlightedWebCache.h"; sourceTree = ""; };
+ B83D4C05E77991780CA69BF68B431DD2 /* Pods-MWPhotoBrowser_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MWPhotoBrowser_Example.release.xcconfig"; sourceTree = ""; };
+ B8EEC3913637C9D26D2B5375BC58370E /* ImageSelectedSmallOff.png */ = {isa = PBXFileReference; includeInIndex = 1; path = ImageSelectedSmallOff.png; sourceTree = ""; };
+ B9468817E266DDB38A1BBFA1ED50140A /* MWCommon.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MWCommon.h; sourceTree = ""; };
+ BAD8122560B81995DE7AEFED709CD5B0 /* ImageSelectedOn@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "ImageSelectedOn@2x.png"; sourceTree = ""; };
+ BBA9E1FC35BF984DAD65D871226BD30A /* XCDYouTubeVideoPlayerViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = XCDYouTubeVideoPlayerViewController.m; path = XCDYouTubeKit/XCDYouTubeVideoPlayerViewController.m; sourceTree = ""; };
+ BD56223A67203315C1B15E39E3B40934 /* Pods-MWPhotoBrowser_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MWPhotoBrowser_Tests-frameworks.sh"; sourceTree = ""; };
+ BE6B85274938B613103F79C93015F697 /* ImageSelectedSmallOn@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "ImageSelectedSmallOn@2x.png"; sourceTree = ""; };
+ BF54041C9EA97C362A7194A2BBD2D47D /* UIImageView+WebCache.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImageView+WebCache.h"; path = "SDWebImage/UIImageView+WebCache.h"; sourceTree = ""; };
+ C24A03E945643A91A3C091273B6A72A1 /* DACircularProgress.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = DACircularProgress.xcconfig; sourceTree = ""; };
+ C42FA0DD02BA58833B3291B8EE5453B3 /* UIImage+MultiFormat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+MultiFormat.m"; path = "SDWebImage/UIImage+MultiFormat.m"; sourceTree = ""; };
+ C48910AB016D5BEA022DFB8B61029D9E /* MWPhotoBrowser.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MWPhotoBrowser.xcconfig; sourceTree = ""; };
+ C6FE69AE06A770FF76C19B8039EC0780 /* Pods-MWPhotoBrowser_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-MWPhotoBrowser_Tests-dummy.m"; sourceTree = ""; };
+ C9B97F514121309E4531C3439E206EC7 /* Pods-MWPhotoBrowser_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-MWPhotoBrowser_Example-resources.sh"; sourceTree = ""; };
+ CCA0DD825B12F64710E0B749D2F907C3 /* SDWebImageDownloader.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageDownloader.h; path = SDWebImage/SDWebImageDownloader.h; sourceTree = ""; };
+ CE9BABFB647BE1C44CFE2FE94F5593AF /* PlayButtonOverlayLargeTap@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "PlayButtonOverlayLargeTap@2x.png"; sourceTree = ""; };
+ CFF07B67A9B77459FC57D8FA642FCD8F /* UIView+WebCacheOperation.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIView+WebCacheOperation.h"; path = "SDWebImage/UIView+WebCacheOperation.h"; sourceTree = ""; };
+ D100662E81CC4215C78271EB8A6D54D2 /* PlayButtonOverlayLarge@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "PlayButtonOverlayLarge@3x.png"; sourceTree = ""; };
+ D1B90034C0975F4D627B41121DE520EB /* ImageSelectedOn@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "ImageSelectedOn@3x.png"; sourceTree = ""; };
+ D381C194FC4962EA98F2E809F3E344E4 /* SDWebImageCompat.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageCompat.m; path = SDWebImage/SDWebImageCompat.m; sourceTree = ""; };
+ D3B47DD7B481099652A370DFDD05D7C8 /* SDImageCacheConfig.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDImageCacheConfig.h; path = SDWebImage/SDImageCacheConfig.h; sourceTree = ""; };
+ D5EE5F7C5A846B01ACF225DE04E52196 /* Pods-MWPhotoBrowser_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-MWPhotoBrowser_Example.debug.xcconfig"; sourceTree = ""; };
+ D972048D5097D8C46D86B8DFF2E49C15 /* XCDYouTubeKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "XCDYouTubeKit-prefix.pch"; sourceTree = ""; };
+ DA17D4FD829678725B0E27AB3EEBDE70 /* MWGridViewController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MWGridViewController.m; sourceTree = ""; };
+ DAD82231B48DCA36652DCCFB70E3C8D4 /* MWZoomingScrollView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MWZoomingScrollView.h; sourceTree = ""; };
+ DCD475A85056E10756A32813DEB5B48D /* MWPhotoBrowser.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; name = MWPhotoBrowser.bundle; path = MWPhotoBrowser.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
+ DEB0888527921BA7D74C6EB9B9968789 /* libMWPhotoBrowser.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; name = libMWPhotoBrowser.a; path = libMWPhotoBrowser.a; sourceTree = BUILT_PRODUCTS_DIR; };
+ DED380D62C5DAF3E1BE048D39F25E1F7 /* PlayButtonOverlayLarge@2x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "PlayButtonOverlayLarge@2x.png"; sourceTree = ""; };
+ E239EE52BB520E9C5F7379F65CFFFA89 /* UIBarButtonItemGrid@3x.png */ = {isa = PBXFileReference; includeInIndex = 1; path = "UIBarButtonItemGrid@3x.png"; sourceTree = ""; };
+ E37E97ECB888144AEB4FAF30B818E94B /* MWTapDetectingImageView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = MWTapDetectingImageView.m; sourceTree = ""; };
+ E77CC6051B233AD4305096C9903253AE /* UIBarButtonItemGrid.png */ = {isa = PBXFileReference; includeInIndex = 1; path = UIBarButtonItemGrid.png; sourceTree = ""; };
+ EA431420FD1214920060C0C8482A9537 /* XCDYouTubeVideoWebpage.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = XCDYouTubeVideoWebpage.m; path = XCDYouTubeKit/XCDYouTubeVideoWebpage.m; sourceTree = ""; };
+ EB4DE2009B511D62CF6BFE67FA73E321 /* Pods-MWPhotoBrowser_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-MWPhotoBrowser_Example-acknowledgements.markdown"; sourceTree = ""; };
+ EDDBA5189954A37652730586EA316615 /* DACircularProgress-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "DACircularProgress-dummy.m"; sourceTree = ""; };
+ EE00B9E53ADD21AFAD854A442125675C /* SDWebImageManager.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = SDWebImageManager.h; path = SDWebImage/SDWebImageManager.h; sourceTree = ""; };
+ F2A204E4A3C0D375DA1C5E5865562073 /* MWCaptionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = MWCaptionView.h; sourceTree = ""; };
+ F2DF4DF230BEB311A632901CFC209A0B /* SDWebImageManager.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = SDWebImageManager.m; path = SDWebImage/SDWebImageManager.m; sourceTree = ""; };
+ F3FF374B7F06707BC0A800C33656EBF7 /* PlayButtonOverlayLarge.png */ = {isa = PBXFileReference; includeInIndex = 1; path = PlayButtonOverlayLarge.png; sourceTree = ""; };
+ F40AC0AA757FE8EBF2A0E0E280584BB7 /* DACircularProgressView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = DACircularProgressView.m; path = DACircularProgress/DACircularProgressView.m; sourceTree = ""; };
+ FB07EB3DBB8B3726A8C8D4C121128252 /* ImageIO.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ImageIO.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/ImageIO.framework; sourceTree = DEVELOPER_DIR; };
+ FC9C217D6FCE57C753C503155A032F90 /* SDWebImage-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SDWebImage-dummy.m"; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 14A0D57EE2B86A03B22C58734485AE78 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 49296A0934AB1F4D529F3B264ADD673D /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 684342BE9A6E4D6E2F305506D9C2DF67 /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 6AC5301020B6AD8027C2878CBBCC73EB /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ A589C2AAEEC55339FFC90231BAAEB896 /* Foundation.framework in Frameworks */,
+ 0CA23DCC76B83B612A3CEED98D14B23E /* QuartzCore.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8F255E05C011F23C384F0542F5E6F634 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 86C003C9110F03270FFBB1EB60AAD0C7 /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ C2EDDCDA98D0522B0D40B74F14EA7DDC /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BA4030864EA15D612024C6120BA61AA7 /* AssetsLibrary.framework in Frameworks */,
+ 7B55D285D87D62C1886E59EA0107E28D /* Foundation.framework in Frameworks */,
+ 894CC379E93885EEFBA98C088DC1A6FE /* ImageIO.framework in Frameworks */,
+ 92BAC0C076ED4B4126B8B6B1F3674052 /* MediaPlayer.framework in Frameworks */,
+ FCD9F2EE58C254324C7862A42DAE6958 /* QuartzCore.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D44C9C05A72EB509C192F3AB33823CAC /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5236283A6B842C1C73979F8AAF7FDAA4 /* Foundation.framework in Frameworks */,
+ 18010D3EAC4CD6FD5DE5BEB31D84BF3F /* ImageIO.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ F9AC974E3329F79899A7B3BE290FC894 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8C9B1DC3568E2881FF159096A119F748 /* CoreGraphics.framework in Frameworks */,
+ CA5E682B018BF5756152E04FE2F23909 /* Foundation.framework in Frameworks */,
+ D415D0767A8AF457434FFFB5957D4616 /* QuartzCore.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ FA0F98EB865D15A8904E0B459A55A06F /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5EEB0C5A2A1EDAD0B53BC1E161CADBEC /* Foundation.framework in Frameworks */,
+ EC3CC8B8273B764D06D57A436101AFFF /* JavaScriptCore.framework in Frameworks */,
+ C7757DF5EBF5680452FCDF7A88C7372F /* MediaPlayer.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 043124F225814F80E4ED4FF4BC40156A /* Pods-MWPhotoBrowser_Tests */ = {
+ isa = PBXGroup;
+ children = (
+ 68F141757E1606330C04FEBE78CBCE4E /* Pods-MWPhotoBrowser_Tests-acknowledgements.markdown */,
+ 9F19BCDE9BF6E330E14588598DFC6337 /* Pods-MWPhotoBrowser_Tests-acknowledgements.plist */,
+ C6FE69AE06A770FF76C19B8039EC0780 /* Pods-MWPhotoBrowser_Tests-dummy.m */,
+ BD56223A67203315C1B15E39E3B40934 /* Pods-MWPhotoBrowser_Tests-frameworks.sh */,
+ 9C95EBE1D39EEFE5E6404691C95BE2E2 /* Pods-MWPhotoBrowser_Tests-resources.sh */,
+ 6F1FCA0BD48258CDEC1B14D704BA3E5D /* Pods-MWPhotoBrowser_Tests.debug.xcconfig */,
+ 1580BE8D870658FFFB9EF3D04B9213CC /* Pods-MWPhotoBrowser_Tests.release.xcconfig */,
+ );
+ name = "Pods-MWPhotoBrowser_Tests";
+ path = "Target Support Files/Pods-MWPhotoBrowser_Tests";
+ sourceTree = "";
+ };
+ 0CA17348647C9F7A32CF4B391FE05FD3 /* Assets */ = {
+ isa = PBXGroup;
+ children = (
+ 88407C0C0D596BCC8D05BBE057C89AD6 /* ImageError.png */,
+ 3FBCD7FE1411BD313C1C82BA366DF91C /* ImageError@2x.png */,
+ 7CB4B5DD2F712E750BC2960C273DFB18 /* ImageError@3x.png */,
+ B4EC6B4614D5E16BB53E3077F206CA1E /* ImageSelectedOff.png */,
+ 043C5C7E850148F4356E08CC571343F6 /* ImageSelectedOff@2x.png */,
+ 2898AAEB7C7B51155FB96696FAA90BD6 /* ImageSelectedOff@3x.png */,
+ 8F05B0FBD8EF708D9C0A2313D7E4991F /* ImageSelectedOn.png */,
+ BAD8122560B81995DE7AEFED709CD5B0 /* ImageSelectedOn@2x.png */,
+ D1B90034C0975F4D627B41121DE520EB /* ImageSelectedOn@3x.png */,
+ B8EEC3913637C9D26D2B5375BC58370E /* ImageSelectedSmallOff.png */,
+ 6D584665C4236810C577B0E432AE8FC5 /* ImageSelectedSmallOff@2x.png */,
+ 4153DC366F63963049573D55CD704DF0 /* ImageSelectedSmallOff@3x.png */,
+ 24D23C172A45E908D632E10D8C8761D7 /* ImageSelectedSmallOn.png */,
+ BE6B85274938B613103F79C93015F697 /* ImageSelectedSmallOn@2x.png */,
+ 251C46FB3CCCFD799AA37B743FB19580 /* ImageSelectedSmallOn@3x.png */,
+ F3FF374B7F06707BC0A800C33656EBF7 /* PlayButtonOverlayLarge.png */,
+ DED380D62C5DAF3E1BE048D39F25E1F7 /* PlayButtonOverlayLarge@2x.png */,
+ D100662E81CC4215C78271EB8A6D54D2 /* PlayButtonOverlayLarge@3x.png */,
+ 4D735962D89ED7521924F000CC84F0B3 /* PlayButtonOverlayLargeTap.png */,
+ CE9BABFB647BE1C44CFE2FE94F5593AF /* PlayButtonOverlayLargeTap@2x.png */,
+ 508EC3DBD6A1DA39BF6E8A9E6BEFBF8C /* PlayButtonOverlayLargeTap@3x.png */,
+ 70A24AB9B553831F48E27D2AB7C359CA /* UIBarButtonItemArrowLeft.png */,
+ 911876E33C6EA1A3845C5BD270724BF2 /* UIBarButtonItemArrowLeft@2x.png */,
+ 384AEAAFD14B494C697DE99D9626FC3D /* UIBarButtonItemArrowLeft@3x.png */,
+ 3C5BCEFDC54D0083C71C51D2D6E3773F /* UIBarButtonItemArrowRight.png */,
+ 3D0870870C2514897E5E0B809C5BB574 /* UIBarButtonItemArrowRight@2x.png */,
+ 1D2F6B44C48397D7AB82DEA6C26683FF /* UIBarButtonItemArrowRight@3x.png */,
+ E77CC6051B233AD4305096C9903253AE /* UIBarButtonItemGrid.png */,
+ 267C2934BF3AC41203225D4407CC199C /* UIBarButtonItemGrid@2x.png */,
+ E239EE52BB520E9C5F7379F65CFFFA89 /* UIBarButtonItemGrid@3x.png */,
+ 0A1D4BC782FEAF7E7B3CE00AD20A9D56 /* VideoOverlay.png */,
+ 4A8E037CBDEB041B441D44F8D753C800 /* VideoOverlay@2x.png */,
+ 11DF833BD31DD8C196820D972C6C4B5B /* VideoOverlay@3x.png */,
+ );
+ name = Assets;
+ path = Assets;
+ sourceTree = "";
+ };
+ 125B5E2BEEE268E20BB9A9407A93982B /* Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ C48910AB016D5BEA022DFB8B61029D9E /* MWPhotoBrowser.xcconfig */,
+ 86D41C83838EE54331D46AFC15C7AF80 /* MWPhotoBrowser-dummy.m */,
+ 3D911019815E4FE245A868D1E049E070 /* MWPhotoBrowser-prefix.pch */,
+ 8F010E4737A5E1254655CC7380C35F1D /* ResourceBundle-MWPhotoBrowser-Info.plist */,
+ );
+ name = "Support Files";
+ path = "Example/Pods/Target Support Files/MWPhotoBrowser";
+ sourceTree = "";
+ };
+ 13321711E2EF2D96E83553FB12457287 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ F2A204E4A3C0D375DA1C5E5865562073 /* MWCaptionView.h */,
+ 108F52EB1AD2E2E813D8A1BA39CA0E29 /* MWCaptionView.m */,
+ B9468817E266DDB38A1BBFA1ED50140A /* MWCommon.h */,
+ B48F6B36F519F83EB80B3B94D521ABCA /* MWGridCell.h */,
+ 2ECE11B813E2D8395BF1E2BAF66C3C86 /* MWGridCell.m */,
+ 1A3CDA4FECD7DC98374BF11BF811BC13 /* MWGridViewController.h */,
+ DA17D4FD829678725B0E27AB3EEBDE70 /* MWGridViewController.m */,
+ 17B8EC6579A85B095BBB953B2BACDC4D /* MWPhoto.h */,
+ 924311B1D87B266961649FC55D2FC382 /* MWPhoto.m */,
+ 024BED5A7F788631613A3D106BA426A3 /* MWPhotoBrowser.h */,
+ 34957AE61A36398103EECA2DF6864E5F /* MWPhotoBrowser.m */,
+ 69F69B0AAD989CC0D5EE92C64AF081C1 /* MWPhotoBrowserPrivate.h */,
+ 473F1046E2756050DC6393A1CFDCD921 /* MWPhotoProtocol.h */,
+ A3C18447D1C236CD6AF2F9E65DD0DE55 /* MWTapDetectingImageView.h */,
+ E37E97ECB888144AEB4FAF30B818E94B /* MWTapDetectingImageView.m */,
+ 6225B58ACFE59C19AA045789CDA37228 /* MWTapDetectingView.h */,
+ 45A233C8CEEE290509DEA0BFDC549AC8 /* MWTapDetectingView.m */,
+ DAD82231B48DCA36652DCCFB70E3C8D4 /* MWZoomingScrollView.h */,
+ 72F675616B6F01593236138964FA5D7A /* MWZoomingScrollView.m */,
+ 4C4ADEC096A7924AFD84F05C519C7BAE /* UIImage+MWPhotoBrowser.h */,
+ 2A700EB3D444481DEA257EF64DBD638F /* UIImage+MWPhotoBrowser.m */,
+ );
+ name = Classes;
+ path = Classes;
+ sourceTree = "";
+ };
+ 2677C6B3B248613A05ABDFB423C9F02C /* Pods-MWPhotoBrowser_Example */ = {
+ isa = PBXGroup;
+ children = (
+ EB4DE2009B511D62CF6BFE67FA73E321 /* Pods-MWPhotoBrowser_Example-acknowledgements.markdown */,
+ 9374BBB3BA16684D1B858CCC9C3E2D8A /* Pods-MWPhotoBrowser_Example-acknowledgements.plist */,
+ 523087C6D186A9F5BEE78D39F9A78F3F /* Pods-MWPhotoBrowser_Example-dummy.m */,
+ 71BC183B1FB7AB5F8CF9A3383C6B354C /* Pods-MWPhotoBrowser_Example-frameworks.sh */,
+ C9B97F514121309E4531C3439E206EC7 /* Pods-MWPhotoBrowser_Example-resources.sh */,
+ D5EE5F7C5A846B01ACF225DE04E52196 /* Pods-MWPhotoBrowser_Example.debug.xcconfig */,
+ B83D4C05E77991780CA69BF68B431DD2 /* Pods-MWPhotoBrowser_Example.release.xcconfig */,
+ );
+ name = "Pods-MWPhotoBrowser_Example";
+ path = "Target Support Files/Pods-MWPhotoBrowser_Example";
+ sourceTree = "";
+ };
+ 26BA4A542241FA9AD6080749F65E436C /* MWPhotoBrowser */ = {
+ isa = PBXGroup;
+ children = (
+ 7769E600D19F903205F866E05AB33CF5 /* Pod */,
+ F9F4A8CF8AD57651C3018EDC1FCBEC74 /* Resources */,
+ 125B5E2BEEE268E20BB9A9407A93982B /* Support Files */,
+ );
+ name = MWPhotoBrowser;
+ path = ../..;
+ sourceTree = "";
+ };
+ 29062DA699B861B896758C5A677765BD /* Targets Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ 2677C6B3B248613A05ABDFB423C9F02C /* Pods-MWPhotoBrowser_Example */,
+ 043124F225814F80E4ED4FF4BC40156A /* Pods-MWPhotoBrowser_Tests */,
+ );
+ name = "Targets Support Files";
+ sourceTree = "";
+ };
+ 2AD6CDB87657F31BB520407B82B2D640 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ C4661E4AEE380DFF1C502FB91231BF12 /* DACircularProgress */,
+ AC1F6C1DA5442FDEEE31AAA35E34C5B2 /* MBProgressHUD */,
+ 8CCD22542B0BDBD44B9920B4A2CB7378 /* SDWebImage */,
+ C3CE7DF4ABF55261D206F1AB22A43071 /* XCDYouTubeKit */,
+ );
+ name = Pods;
+ sourceTree = "";
+ };
+ 48F185CB5E32E117321EE665CFEEA87A /* Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ 092E9AB0AD0BD7C59F01D2B23435086E /* XCDYouTubeKit.xcconfig */,
+ 5A76616D4138F12C0B613FD90D15C387 /* XCDYouTubeKit-dummy.m */,
+ D972048D5097D8C46D86B8DFF2E49C15 /* XCDYouTubeKit-prefix.pch */,
+ );
+ name = "Support Files";
+ path = "../Target Support Files/XCDYouTubeKit";
+ sourceTree = "";
+ };
+ 5D39007AF7E3EB84B5918D2BED66B275 /* iOS */ = {
+ isa = PBXGroup;
+ children = (
+ 94FA350FB2E702E8DEB7F0E87BFF265D /* AssetsLibrary.framework */,
+ 8B7D28D11E6FD9233B0903D19E28E42F /* CoreGraphics.framework */,
+ 5C3500291C1AB893ED627ADBF3045201 /* Foundation.framework */,
+ FB07EB3DBB8B3726A8C8D4C121128252 /* ImageIO.framework */,
+ 7B42901246743DD72C579A928C740D8C /* JavaScriptCore.framework */,
+ 819C42AA2A5C9B2B495C46B243AA9871 /* MediaPlayer.framework */,
+ 319D1D195DE68BB6B31174C660B80C35 /* QuartzCore.framework */,
+ );
+ name = iOS;
+ sourceTree = "";
+ };
+ 5D4C2A0369567E000B5DACB3BD3C6827 /* Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ C24A03E945643A91A3C091273B6A72A1 /* DACircularProgress.xcconfig */,
+ EDDBA5189954A37652730586EA316615 /* DACircularProgress-dummy.m */,
+ 3A9A7F170395BAE8C9F81BE229B86A3B /* DACircularProgress-prefix.pch */,
+ );
+ name = "Support Files";
+ path = "../Target Support Files/DACircularProgress";
+ sourceTree = "";
+ };
+ 5E16D2A4FDA0FE9F38AE7921CFE5B540 /* Pod */ = {
+ isa = PBXGroup;
+ children = (
+ 0CA17348647C9F7A32CF4B391FE05FD3 /* Assets */,
+ );
+ name = Pod;
+ path = Pod;
+ sourceTree = "";
+ };
+ 6CF7CE202948E5FEFDB66406BBAE59DC /* Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ 7A30FFD9C4FEF09A3AD4F8881F276028 /* MBProgressHUD.xcconfig */,
+ 20506E0C607E50D76B9CC17B8BBD0B67 /* MBProgressHUD-dummy.m */,
+ 5715223FFEC1673091FC3796CAB8D397 /* MBProgressHUD-prefix.pch */,
+ );
+ name = "Support Files";
+ path = "../Target Support Files/MBProgressHUD";
+ sourceTree = "";
+ };
+ 719353E5F5BDD19B2D80B273F365F2BF /* Development Pods */ = {
+ isa = PBXGroup;
+ children = (
+ 26BA4A542241FA9AD6080749F65E436C /* MWPhotoBrowser */,
+ );
+ name = "Development Pods";
+ sourceTree = "";
+ };
+ 7769E600D19F903205F866E05AB33CF5 /* Pod */ = {
+ isa = PBXGroup;
+ children = (
+ 13321711E2EF2D96E83553FB12457287 /* Classes */,
+ );
+ name = Pod;
+ path = Pod;
+ sourceTree = "";
+ };
+ 7DB346D0F39D3F0E887471402A8071AB = {
+ isa = PBXGroup;
+ children = (
+ 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */,
+ 719353E5F5BDD19B2D80B273F365F2BF /* Development Pods */,
+ F4CDA5FA9197A41E0081E84F932906EB /* Frameworks */,
+ 2AD6CDB87657F31BB520407B82B2D640 /* Pods */,
+ 81DFB2C4D1065271F5E3AB39B40B113F /* Products */,
+ 29062DA699B861B896758C5A677765BD /* Targets Support Files */,
+ );
+ sourceTree = "";
+ };
+ 81DFB2C4D1065271F5E3AB39B40B113F /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 9001A308F141A2357C74AFF023BD8334 /* libDACircularProgress.a */,
+ AD19F4213DA8D7979188D0E4334F74CF /* libMBProgressHUD.a */,
+ DEB0888527921BA7D74C6EB9B9968789 /* libMWPhotoBrowser.a */,
+ 5850E7021F9E89F83FC1C6A9A28091E4 /* libPods-MWPhotoBrowser_Example.a */,
+ 49D1F6AC30D78BC33129965F92C60117 /* libPods-MWPhotoBrowser_Tests.a */,
+ 3B9D8B93E01ED71CAE1599552334415A /* libSDWebImage.a */,
+ 87F5E19132A07CD59695663CA9823453 /* libXCDYouTubeKit.a */,
+ DCD475A85056E10756A32813DEB5B48D /* MWPhotoBrowser.bundle */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 8CCD22542B0BDBD44B9920B4A2CB7378 /* SDWebImage */ = {
+ isa = PBXGroup;
+ children = (
+ E0A02044BC20EBA477731637916308F0 /* Core */,
+ DE4519CE91B4C4E4E791A7F5A232A8BC /* Support Files */,
+ );
+ name = SDWebImage;
+ path = SDWebImage;
+ sourceTree = "";
+ };
+ AC1F6C1DA5442FDEEE31AAA35E34C5B2 /* MBProgressHUD */ = {
+ isa = PBXGroup;
+ children = (
+ 613230911986C71FD43CEB2CFB8FF46E /* MBProgressHUD.h */,
+ 429A3AE6183908945918BCB06FF17F71 /* MBProgressHUD.m */,
+ 6CF7CE202948E5FEFDB66406BBAE59DC /* Support Files */,
+ );
+ name = MBProgressHUD;
+ path = MBProgressHUD;
+ sourceTree = "";
+ };
+ C3CE7DF4ABF55261D206F1AB22A43071 /* XCDYouTubeKit */ = {
+ isa = PBXGroup;
+ children = (
+ 4559FBBF5604AC2F281A85F60C806D91 /* XCDYouTubeClient.h */,
+ 31C8D9DC7224F0175A0DC05980842E8F /* XCDYouTubeClient.m */,
+ 61AA7204BB4E75475398AE14B093DA08 /* XCDYouTubeError.h */,
+ 86894EB778120D0BA5A20900227211D6 /* XCDYouTubeKit.h */,
+ 7D32C60CBE4D4DD537CE18B20EFC6DBB /* XCDYouTubeLogger.h */,
+ 6D6A90C678CD7AD0673FDA6244AD5517 /* XCDYouTubeLogger.m */,
+ 0FBB01D058B0870082F46BDA01100006 /* XCDYouTubeLogger+Private.h */,
+ 9D9A8C9DB20DF530C39DE6169505F5C9 /* XCDYouTubeOperation.h */,
+ 1E5C3A333CC5E3F298272B092DBA327A /* XCDYouTubePlayerScript.h */,
+ 544249CD9EA7A0088FC5581044682615 /* XCDYouTubePlayerScript.m */,
+ 11BF2395A4552FB278A008367D3BDEC0 /* XCDYouTubeVideo.h */,
+ 827493420A942151E281EF10E737DCD2 /* XCDYouTubeVideo.m */,
+ 72A2D3D767AFBA6CC0D8C20CF17C9053 /* XCDYouTubeVideo+Private.h */,
+ 0AD5C83AC6393597FEF6BE9BA8217C54 /* XCDYouTubeVideoOperation.h */,
+ 87B0236831B5A9DD4CE44E798AE63AAF /* XCDYouTubeVideoOperation.m */,
+ A93F62A0A04AB7F6D691AB98B89742F8 /* XCDYouTubeVideoPlayerViewController.h */,
+ BBA9E1FC35BF984DAD65D871226BD30A /* XCDYouTubeVideoPlayerViewController.m */,
+ 15CD00E6B0C3B9E43E98F423E0F2FA78 /* XCDYouTubeVideoWebpage.h */,
+ EA431420FD1214920060C0C8482A9537 /* XCDYouTubeVideoWebpage.m */,
+ 48F185CB5E32E117321EE665CFEEA87A /* Support Files */,
+ );
+ name = XCDYouTubeKit;
+ path = XCDYouTubeKit;
+ sourceTree = "";
+ };
+ C4661E4AEE380DFF1C502FB91231BF12 /* DACircularProgress */ = {
+ isa = PBXGroup;
+ children = (
+ A9F60183888E76B492E42A142D2E6ADF /* DACircularProgressView.h */,
+ F40AC0AA757FE8EBF2A0E0E280584BB7 /* DACircularProgressView.m */,
+ A54DEF56D69674C937E50C66824969DB /* DALabeledCircularProgressView.h */,
+ 255B376F633128BD868C865C8100F891 /* DALabeledCircularProgressView.m */,
+ 5D4C2A0369567E000B5DACB3BD3C6827 /* Support Files */,
+ );
+ name = DACircularProgress;
+ path = DACircularProgress;
+ sourceTree = "";
+ };
+ DE4519CE91B4C4E4E791A7F5A232A8BC /* Support Files */ = {
+ isa = PBXGroup;
+ children = (
+ 13CA5034DE9AC59B5CE9353BC9A3E4E9 /* SDWebImage.xcconfig */,
+ FC9C217D6FCE57C753C503155A032F90 /* SDWebImage-dummy.m */,
+ 65FB5D74A2ACE687E3C9BD35C3E36833 /* SDWebImage-prefix.pch */,
+ );
+ name = "Support Files";
+ path = "../Target Support Files/SDWebImage";
+ sourceTree = "