├── .gitignore ├── .gitmodules ├── Demo.xcodeproj └── project.pbxproj ├── Demo.xcworkspace └── contents.xcworkspacedata ├── Demo ├── AdvancedPreferencesView.xib ├── AdvancedPreferencesViewController.h ├── AdvancedPreferencesViewController.m ├── Demo-Info.plist ├── Demo-Prefix.pch ├── DemoAppDelegate.h ├── DemoAppDelegate.m ├── GeneralPreferencesView.xib ├── GeneralPreferencesViewController.h ├── GeneralPreferencesViewController.m ├── en.lproj │ └── MainMenu.xib └── main.m ├── Podfile ├── Podfile.lock ├── Pods ├── Local Podspecs │ └── MASPreferences.podspec.json ├── MASPreferences │ ├── Framework │ │ ├── MASPreferences.h │ │ ├── MASPreferencesViewController.h │ │ ├── MASPreferencesWindowController.h │ │ ├── MASPreferencesWindowController.m │ │ └── en.lproj │ │ │ └── MASPreferencesWindow.xib │ ├── LICENSE.md │ └── README.md ├── Manifest.lock ├── Pods.xcodeproj │ └── project.pbxproj └── Target Support Files │ ├── MASPreferences │ ├── Info.plist │ ├── MASPreferences-dummy.m │ ├── MASPreferences-prefix.pch │ ├── MASPreferences-umbrella.h │ ├── MASPreferences.modulemap │ └── MASPreferences.xcconfig │ └── Pods-Demo │ ├── Info.plist │ ├── Pods-Demo-acknowledgements.markdown │ ├── Pods-Demo-acknowledgements.plist │ ├── Pods-Demo-dummy.m │ ├── Pods-Demo-frameworks.sh │ ├── Pods-Demo-resources.sh │ ├── Pods-Demo-umbrella.h │ ├── Pods-Demo.debug.xcconfig │ ├── Pods-Demo.modulemap │ └── Pods-Demo.release.xcconfig └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | build/* 3 | *.pbxuser 4 | !default.pbxuser 5 | *.mode1v3 6 | !default.mode1v3 7 | *.mode2v3 8 | !default.mode2v3 9 | *.perspectivev3 10 | !default.perspectivev3 11 | *.xcworkspace 12 | !default.xcworkspace 13 | xcuserdata 14 | profile 15 | *.moved-aside 16 | # Finder 17 | .DS_Store -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "MASPreferences"] 2 | path = MASPreferences 3 | url = https://github.com/shpakovski/MASPreferences.git 4 | -------------------------------------------------------------------------------- /Demo.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 29D048B0CDA3C2E9189537D2 /* Pods_Demo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 317F2EC53DD45FCB82C1A829 /* Pods_Demo.framework */; }; 11 | 2E8B1C511361CCEB002B7CD7 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2E8B1C501361CCEB002B7CD7 /* Cocoa.framework */; }; 12 | 2E8B1C5E1361CCEB002B7CD7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E8B1C5D1361CCEB002B7CD7 /* main.m */; }; 13 | 2E8B1C641361CCEB002B7CD7 /* DemoAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E8B1C631361CCEB002B7CD7 /* DemoAppDelegate.m */; }; 14 | 2E8B1C671361CCEC002B7CD7 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2E8B1C651361CCEC002B7CD7 /* MainMenu.xib */; }; 15 | 2E8B1C811361D16A002B7CD7 /* GeneralPreferencesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E8B1C801361D16A002B7CD7 /* GeneralPreferencesViewController.m */; }; 16 | 2E8B1C841361D254002B7CD7 /* AdvancedPreferencesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E8B1C831361D254002B7CD7 /* AdvancedPreferencesViewController.m */; }; 17 | 2E8B1C871361D2EC002B7CD7 /* AdvancedPreferencesView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2E8B1C851361D2EC002B7CD7 /* AdvancedPreferencesView.xib */; }; 18 | 2E8B1C881361D2EC002B7CD7 /* GeneralPreferencesView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2E8B1C861361D2EC002B7CD7 /* GeneralPreferencesView.xib */; }; 19 | /* End PBXBuildFile section */ 20 | 21 | /* Begin PBXFileReference section */ 22 | 2E8B1C4C1361CCEB002B7CD7 /* Demo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Demo.app; sourceTree = BUILT_PRODUCTS_DIR; }; 23 | 2E8B1C501361CCEB002B7CD7 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 24 | 2E8B1C531361CCEB002B7CD7 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; 25 | 2E8B1C541361CCEB002B7CD7 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; 26 | 2E8B1C551361CCEB002B7CD7 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 27 | 2E8B1C581361CCEB002B7CD7 /* Demo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Demo-Info.plist"; sourceTree = ""; }; 28 | 2E8B1C5C1361CCEB002B7CD7 /* Demo-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Demo-Prefix.pch"; sourceTree = ""; }; 29 | 2E8B1C5D1361CCEB002B7CD7 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 30 | 2E8B1C621361CCEB002B7CD7 /* DemoAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DemoAppDelegate.h; sourceTree = ""; }; 31 | 2E8B1C631361CCEB002B7CD7 /* DemoAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DemoAppDelegate.m; sourceTree = ""; }; 32 | 2E8B1C661361CCEC002B7CD7 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; 33 | 2E8B1C7F1361D16A002B7CD7 /* GeneralPreferencesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeneralPreferencesViewController.h; sourceTree = ""; }; 34 | 2E8B1C801361D16A002B7CD7 /* GeneralPreferencesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneralPreferencesViewController.m; sourceTree = ""; }; 35 | 2E8B1C821361D254002B7CD7 /* AdvancedPreferencesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdvancedPreferencesViewController.h; sourceTree = ""; }; 36 | 2E8B1C831361D254002B7CD7 /* AdvancedPreferencesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdvancedPreferencesViewController.m; sourceTree = ""; }; 37 | 2E8B1C851361D2EC002B7CD7 /* AdvancedPreferencesView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AdvancedPreferencesView.xib; sourceTree = ""; }; 38 | 2E8B1C861361D2EC002B7CD7 /* GeneralPreferencesView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = GeneralPreferencesView.xib; sourceTree = ""; }; 39 | 317F2EC53DD45FCB82C1A829 /* Pods_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Demo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 40 | 80A686A71A08A2FFDCF5B910 /* Pods-Demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Demo.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Demo/Pods-Demo.debug.xcconfig"; sourceTree = ""; }; 41 | EA96153DDECA74923900C4E3 /* Pods-Demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Demo.release.xcconfig"; path = "Pods/Target Support Files/Pods-Demo/Pods-Demo.release.xcconfig"; sourceTree = ""; }; 42 | /* End PBXFileReference section */ 43 | 44 | /* Begin PBXFrameworksBuildPhase section */ 45 | 2E8B1C491361CCEB002B7CD7 /* Frameworks */ = { 46 | isa = PBXFrameworksBuildPhase; 47 | buildActionMask = 2147483647; 48 | files = ( 49 | 2E8B1C511361CCEB002B7CD7 /* Cocoa.framework in Frameworks */, 50 | 29D048B0CDA3C2E9189537D2 /* Pods_Demo.framework in Frameworks */, 51 | ); 52 | runOnlyForDeploymentPostprocessing = 0; 53 | }; 54 | /* End PBXFrameworksBuildPhase section */ 55 | 56 | /* Begin PBXGroup section */ 57 | 2E8B1C411361CCEB002B7CD7 = { 58 | isa = PBXGroup; 59 | children = ( 60 | 2E8B1C561361CCEB002B7CD7 /* Demo */, 61 | 2E8B1C4F1361CCEB002B7CD7 /* Frameworks */, 62 | 2E8B1C4D1361CCEB002B7CD7 /* Products */, 63 | FB9D1ADDEDCF37EBCE676A1D /* Pods */, 64 | ); 65 | sourceTree = ""; 66 | }; 67 | 2E8B1C4D1361CCEB002B7CD7 /* Products */ = { 68 | isa = PBXGroup; 69 | children = ( 70 | 2E8B1C4C1361CCEB002B7CD7 /* Demo.app */, 71 | ); 72 | name = Products; 73 | sourceTree = ""; 74 | }; 75 | 2E8B1C4F1361CCEB002B7CD7 /* Frameworks */ = { 76 | isa = PBXGroup; 77 | children = ( 78 | 2E8B1C501361CCEB002B7CD7 /* Cocoa.framework */, 79 | 2E8B1C521361CCEB002B7CD7 /* Other Frameworks */, 80 | 317F2EC53DD45FCB82C1A829 /* Pods_Demo.framework */, 81 | ); 82 | name = Frameworks; 83 | sourceTree = ""; 84 | }; 85 | 2E8B1C521361CCEB002B7CD7 /* Other Frameworks */ = { 86 | isa = PBXGroup; 87 | children = ( 88 | 2E8B1C531361CCEB002B7CD7 /* AppKit.framework */, 89 | 2E8B1C541361CCEB002B7CD7 /* CoreData.framework */, 90 | 2E8B1C551361CCEB002B7CD7 /* Foundation.framework */, 91 | ); 92 | name = "Other Frameworks"; 93 | sourceTree = ""; 94 | }; 95 | 2E8B1C561361CCEB002B7CD7 /* Demo */ = { 96 | isa = PBXGroup; 97 | children = ( 98 | 2E8B1C891361D301002B7CD7 /* Preferences */, 99 | 2E8B1C621361CCEB002B7CD7 /* DemoAppDelegate.h */, 100 | 2E8B1C631361CCEB002B7CD7 /* DemoAppDelegate.m */, 101 | 2E8B1C651361CCEC002B7CD7 /* MainMenu.xib */, 102 | 2E8B1C571361CCEB002B7CD7 /* Supporting Files */, 103 | ); 104 | path = Demo; 105 | sourceTree = ""; 106 | }; 107 | 2E8B1C571361CCEB002B7CD7 /* Supporting Files */ = { 108 | isa = PBXGroup; 109 | children = ( 110 | 2E8B1C581361CCEB002B7CD7 /* Demo-Info.plist */, 111 | 2E8B1C5C1361CCEB002B7CD7 /* Demo-Prefix.pch */, 112 | 2E8B1C5D1361CCEB002B7CD7 /* main.m */, 113 | ); 114 | name = "Supporting Files"; 115 | sourceTree = ""; 116 | }; 117 | 2E8B1C891361D301002B7CD7 /* Preferences */ = { 118 | isa = PBXGroup; 119 | children = ( 120 | 2E8B1C7F1361D16A002B7CD7 /* GeneralPreferencesViewController.h */, 121 | 2E8B1C801361D16A002B7CD7 /* GeneralPreferencesViewController.m */, 122 | 2E8B1C861361D2EC002B7CD7 /* GeneralPreferencesView.xib */, 123 | 2E8B1C821361D254002B7CD7 /* AdvancedPreferencesViewController.h */, 124 | 2E8B1C831361D254002B7CD7 /* AdvancedPreferencesViewController.m */, 125 | 2E8B1C851361D2EC002B7CD7 /* AdvancedPreferencesView.xib */, 126 | ); 127 | name = Preferences; 128 | sourceTree = ""; 129 | }; 130 | FB9D1ADDEDCF37EBCE676A1D /* Pods */ = { 131 | isa = PBXGroup; 132 | children = ( 133 | 80A686A71A08A2FFDCF5B910 /* Pods-Demo.debug.xcconfig */, 134 | EA96153DDECA74923900C4E3 /* Pods-Demo.release.xcconfig */, 135 | ); 136 | name = Pods; 137 | sourceTree = ""; 138 | }; 139 | /* End PBXGroup section */ 140 | 141 | /* Begin PBXNativeTarget section */ 142 | 2E8B1C4B1361CCEB002B7CD7 /* Demo */ = { 143 | isa = PBXNativeTarget; 144 | buildConfigurationList = 2E8B1C6A1361CCEC002B7CD7 /* Build configuration list for PBXNativeTarget "Demo" */; 145 | buildPhases = ( 146 | 53D941915431F385C2BBF35B /* [CP] Check Pods Manifest.lock */, 147 | 2E8B1C481361CCEB002B7CD7 /* Sources */, 148 | 2E8B1C491361CCEB002B7CD7 /* Frameworks */, 149 | 2E8B1C4A1361CCEB002B7CD7 /* Resources */, 150 | CE44CD152BE9C63F0A56DB69 /* [CP] Embed Pods Frameworks */, 151 | 5374675995E449BF7DB72A50 /* [CP] Copy Pods Resources */, 152 | ); 153 | buildRules = ( 154 | ); 155 | dependencies = ( 156 | ); 157 | name = Demo; 158 | productName = Demo; 159 | productReference = 2E8B1C4C1361CCEB002B7CD7 /* Demo.app */; 160 | productType = "com.apple.product-type.application"; 161 | }; 162 | /* End PBXNativeTarget section */ 163 | 164 | /* Begin PBXProject section */ 165 | 2E8B1C431361CCEB002B7CD7 /* Project object */ = { 166 | isa = PBXProject; 167 | attributes = { 168 | LastUpgradeCheck = 0900; 169 | }; 170 | buildConfigurationList = 2E8B1C461361CCEB002B7CD7 /* Build configuration list for PBXProject "Demo" */; 171 | compatibilityVersion = "Xcode 3.2"; 172 | developmentRegion = English; 173 | hasScannedForEncodings = 0; 174 | knownRegions = ( 175 | en, 176 | ); 177 | mainGroup = 2E8B1C411361CCEB002B7CD7; 178 | productRefGroup = 2E8B1C4D1361CCEB002B7CD7 /* Products */; 179 | projectDirPath = ""; 180 | projectRoot = ""; 181 | targets = ( 182 | 2E8B1C4B1361CCEB002B7CD7 /* Demo */, 183 | ); 184 | }; 185 | /* End PBXProject section */ 186 | 187 | /* Begin PBXResourcesBuildPhase section */ 188 | 2E8B1C4A1361CCEB002B7CD7 /* Resources */ = { 189 | isa = PBXResourcesBuildPhase; 190 | buildActionMask = 2147483647; 191 | files = ( 192 | 2E8B1C671361CCEC002B7CD7 /* MainMenu.xib in Resources */, 193 | 2E8B1C871361D2EC002B7CD7 /* AdvancedPreferencesView.xib in Resources */, 194 | 2E8B1C881361D2EC002B7CD7 /* GeneralPreferencesView.xib in Resources */, 195 | ); 196 | runOnlyForDeploymentPostprocessing = 0; 197 | }; 198 | /* End PBXResourcesBuildPhase section */ 199 | 200 | /* Begin PBXShellScriptBuildPhase section */ 201 | 5374675995E449BF7DB72A50 /* [CP] Copy Pods Resources */ = { 202 | isa = PBXShellScriptBuildPhase; 203 | buildActionMask = 2147483647; 204 | files = ( 205 | ); 206 | inputPaths = ( 207 | ); 208 | name = "[CP] Copy Pods Resources"; 209 | outputPaths = ( 210 | ); 211 | runOnlyForDeploymentPostprocessing = 0; 212 | shellPath = /bin/sh; 213 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Demo/Pods-Demo-resources.sh\"\n"; 214 | showEnvVarsInLog = 0; 215 | }; 216 | 53D941915431F385C2BBF35B /* [CP] Check Pods Manifest.lock */ = { 217 | isa = PBXShellScriptBuildPhase; 218 | buildActionMask = 2147483647; 219 | files = ( 220 | ); 221 | inputPaths = ( 222 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", 223 | "${PODS_ROOT}/Manifest.lock", 224 | ); 225 | name = "[CP] Check Pods Manifest.lock"; 226 | outputPaths = ( 227 | "$(DERIVED_FILE_DIR)/Pods-Demo-checkManifestLockResult.txt", 228 | ); 229 | runOnlyForDeploymentPostprocessing = 0; 230 | shellPath = /bin/sh; 231 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; 232 | showEnvVarsInLog = 0; 233 | }; 234 | CE44CD152BE9C63F0A56DB69 /* [CP] Embed Pods Frameworks */ = { 235 | isa = PBXShellScriptBuildPhase; 236 | buildActionMask = 2147483647; 237 | files = ( 238 | ); 239 | inputPaths = ( 240 | "${SRCROOT}/Pods/Target Support Files/Pods-Demo/Pods-Demo-frameworks.sh", 241 | "${BUILT_PRODUCTS_DIR}/MASPreferences/MASPreferences.framework", 242 | ); 243 | name = "[CP] Embed Pods Frameworks"; 244 | outputPaths = ( 245 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MASPreferences.framework", 246 | ); 247 | runOnlyForDeploymentPostprocessing = 0; 248 | shellPath = /bin/sh; 249 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Demo/Pods-Demo-frameworks.sh\"\n"; 250 | showEnvVarsInLog = 0; 251 | }; 252 | /* End PBXShellScriptBuildPhase section */ 253 | 254 | /* Begin PBXSourcesBuildPhase section */ 255 | 2E8B1C481361CCEB002B7CD7 /* Sources */ = { 256 | isa = PBXSourcesBuildPhase; 257 | buildActionMask = 2147483647; 258 | files = ( 259 | 2E8B1C5E1361CCEB002B7CD7 /* main.m in Sources */, 260 | 2E8B1C641361CCEB002B7CD7 /* DemoAppDelegate.m in Sources */, 261 | 2E8B1C811361D16A002B7CD7 /* GeneralPreferencesViewController.m in Sources */, 262 | 2E8B1C841361D254002B7CD7 /* AdvancedPreferencesViewController.m in Sources */, 263 | ); 264 | runOnlyForDeploymentPostprocessing = 0; 265 | }; 266 | /* End PBXSourcesBuildPhase section */ 267 | 268 | /* Begin PBXVariantGroup section */ 269 | 2E8B1C651361CCEC002B7CD7 /* MainMenu.xib */ = { 270 | isa = PBXVariantGroup; 271 | children = ( 272 | 2E8B1C661361CCEC002B7CD7 /* en */, 273 | ); 274 | name = MainMenu.xib; 275 | sourceTree = ""; 276 | }; 277 | /* End PBXVariantGroup section */ 278 | 279 | /* Begin XCBuildConfiguration section */ 280 | 2E8B1C681361CCEC002B7CD7 /* Debug */ = { 281 | isa = XCBuildConfiguration; 282 | buildSettings = { 283 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 284 | CLANG_WARN_BOOL_CONVERSION = YES; 285 | CLANG_WARN_COMMA = YES; 286 | CLANG_WARN_CONSTANT_CONVERSION = YES; 287 | CLANG_WARN_EMPTY_BODY = YES; 288 | CLANG_WARN_ENUM_CONVERSION = YES; 289 | CLANG_WARN_INFINITE_RECURSION = YES; 290 | CLANG_WARN_INT_CONVERSION = YES; 291 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 292 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 293 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 294 | CLANG_WARN_STRICT_PROTOTYPES = YES; 295 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 296 | CLANG_WARN_UNREACHABLE_CODE = YES; 297 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 298 | ENABLE_STRICT_OBJC_MSGSEND = YES; 299 | ENABLE_TESTABILITY = YES; 300 | GCC_C_LANGUAGE_STANDARD = gnu99; 301 | GCC_NO_COMMON_BLOCKS = YES; 302 | GCC_OPTIMIZATION_LEVEL = 0; 303 | GCC_PREPROCESSOR_DEFINITIONS = DEBUG; 304 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 305 | GCC_TREAT_WARNINGS_AS_ERRORS = YES; 306 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 307 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 308 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 309 | GCC_WARN_UNDECLARED_SELECTOR = YES; 310 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 311 | GCC_WARN_UNUSED_FUNCTION = YES; 312 | GCC_WARN_UNUSED_VARIABLE = YES; 313 | MACOSX_DEPLOYMENT_TARGET = 10.6; 314 | ONLY_ACTIVE_ARCH = YES; 315 | SDKROOT = macosx; 316 | WARNING_CFLAGS = ( 317 | "-Wall", 318 | "-Wextra", 319 | ); 320 | }; 321 | name = Debug; 322 | }; 323 | 2E8B1C691361CCEC002B7CD7 /* Release */ = { 324 | isa = XCBuildConfiguration; 325 | buildSettings = { 326 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 327 | CLANG_WARN_BOOL_CONVERSION = YES; 328 | CLANG_WARN_COMMA = YES; 329 | CLANG_WARN_CONSTANT_CONVERSION = YES; 330 | CLANG_WARN_EMPTY_BODY = YES; 331 | CLANG_WARN_ENUM_CONVERSION = YES; 332 | CLANG_WARN_INFINITE_RECURSION = YES; 333 | CLANG_WARN_INT_CONVERSION = YES; 334 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 335 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 336 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 337 | CLANG_WARN_STRICT_PROTOTYPES = YES; 338 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 339 | CLANG_WARN_UNREACHABLE_CODE = YES; 340 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 341 | ENABLE_STRICT_OBJC_MSGSEND = YES; 342 | GCC_C_LANGUAGE_STANDARD = gnu99; 343 | GCC_NO_COMMON_BLOCKS = YES; 344 | GCC_TREAT_WARNINGS_AS_ERRORS = YES; 345 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 346 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 347 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 348 | GCC_WARN_UNDECLARED_SELECTOR = YES; 349 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 350 | GCC_WARN_UNUSED_FUNCTION = YES; 351 | GCC_WARN_UNUSED_VARIABLE = YES; 352 | MACOSX_DEPLOYMENT_TARGET = 10.6; 353 | SDKROOT = macosx; 354 | WARNING_CFLAGS = ( 355 | "-Wall", 356 | "-Wextra", 357 | ); 358 | }; 359 | name = Release; 360 | }; 361 | 2E8B1C6B1361CCEC002B7CD7 /* Debug */ = { 362 | isa = XCBuildConfiguration; 363 | baseConfigurationReference = 80A686A71A08A2FFDCF5B910 /* Pods-Demo.debug.xcconfig */; 364 | buildSettings = { 365 | ALWAYS_SEARCH_USER_PATHS = NO; 366 | COMBINE_HIDPI_IMAGES = YES; 367 | COPY_PHASE_STRIP = NO; 368 | GCC_DYNAMIC_NO_PIC = NO; 369 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 370 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 371 | GCC_PREFIX_HEADER = "Demo/Demo-Prefix.pch"; 372 | INFOPLIST_FILE = "Demo/Demo-Info.plist"; 373 | PRODUCT_BUNDLE_IDENTIFIER = "com.shpakovski.mac.${PRODUCT_NAME:rfc1034identifier}"; 374 | PRODUCT_NAME = "$(TARGET_NAME)"; 375 | WRAPPER_EXTENSION = app; 376 | }; 377 | name = Debug; 378 | }; 379 | 2E8B1C6C1361CCEC002B7CD7 /* Release */ = { 380 | isa = XCBuildConfiguration; 381 | baseConfigurationReference = EA96153DDECA74923900C4E3 /* Pods-Demo.release.xcconfig */; 382 | buildSettings = { 383 | ALWAYS_SEARCH_USER_PATHS = NO; 384 | COMBINE_HIDPI_IMAGES = YES; 385 | COPY_PHASE_STRIP = YES; 386 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 387 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 388 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 389 | GCC_PREFIX_HEADER = "Demo/Demo-Prefix.pch"; 390 | INFOPLIST_FILE = "Demo/Demo-Info.plist"; 391 | PRODUCT_BUNDLE_IDENTIFIER = "com.shpakovski.mac.${PRODUCT_NAME:rfc1034identifier}"; 392 | PRODUCT_NAME = "$(TARGET_NAME)"; 393 | WRAPPER_EXTENSION = app; 394 | }; 395 | name = Release; 396 | }; 397 | /* End XCBuildConfiguration section */ 398 | 399 | /* Begin XCConfigurationList section */ 400 | 2E8B1C461361CCEB002B7CD7 /* Build configuration list for PBXProject "Demo" */ = { 401 | isa = XCConfigurationList; 402 | buildConfigurations = ( 403 | 2E8B1C681361CCEC002B7CD7 /* Debug */, 404 | 2E8B1C691361CCEC002B7CD7 /* Release */, 405 | ); 406 | defaultConfigurationIsVisible = 0; 407 | defaultConfigurationName = Release; 408 | }; 409 | 2E8B1C6A1361CCEC002B7CD7 /* Build configuration list for PBXNativeTarget "Demo" */ = { 410 | isa = XCConfigurationList; 411 | buildConfigurations = ( 412 | 2E8B1C6B1361CCEC002B7CD7 /* Debug */, 413 | 2E8B1C6C1361CCEC002B7CD7 /* Release */, 414 | ); 415 | defaultConfigurationIsVisible = 0; 416 | defaultConfigurationName = Release; 417 | }; 418 | /* End XCConfigurationList section */ 419 | }; 420 | rootObject = 2E8B1C431361CCEB002B7CD7 /* Project object */; 421 | } 422 | -------------------------------------------------------------------------------- /Demo.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Demo/AdvancedPreferencesView.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1070 5 | 11D50b 6 | 2182 7 | 1138.32 8 | 568.00 9 | 10 | com.apple.InterfaceBuilder.CocoaPlugin 11 | 2182 12 | 13 | 14 | YES 15 | NSCustomObject 16 | NSTextFieldCell 17 | NSScrollView 18 | NSTextField 19 | NSCustomView 20 | NSTableHeaderView 21 | NSTableColumn 22 | NSScroller 23 | NSTableView 24 | 25 | 26 | YES 27 | com.apple.InterfaceBuilder.CocoaPlugin 28 | 29 | 30 | PluginDependencyRecalculationVersion 31 | 32 | 33 | 34 | YES 35 | 36 | AdvancedPreferencesViewController 37 | 38 | 39 | FirstResponder 40 | 41 | 42 | NSApplication 43 | 44 | 45 | 46 | 319 47 | 48 | YES 49 | 50 | 51 | 292 52 | {{17, 20}, {168, 14}} 53 | 54 | 55 | 56 | _NS:1505 57 | YES 58 | 59 | 68288064 60 | 272761856 61 | Note: The window is resizable. 62 | 63 | LucidaGrande 64 | 11 65 | 3100 66 | 67 | _NS:1505 68 | 69 | 70 | 6 71 | System 72 | controlColor 73 | 74 | 3 75 | MC42NjY2NjY2NjY3AA 76 | 77 | 78 | 79 | 6 80 | System 81 | disabledControlTextColor 82 | 83 | 3 84 | MC4zMzMzMzMzMzMzAA 85 | 86 | 87 | 88 | 89 | 90 | 91 | 266 92 | {{20, 218}, {320, 22}} 93 | 94 | 95 | 96 | _NS:9 97 | YES 98 | 99 | -1804468671 100 | 272630784 101 | 102 | 103 | LucidaGrande 104 | 13 105 | 1044 106 | 107 | _NS:9 108 | 109 | YES 110 | 111 | 6 112 | System 113 | textBackgroundColor 114 | 115 | 3 116 | MQA 117 | 118 | 119 | 120 | 6 121 | System 122 | textColor 123 | 124 | 3 125 | MAA 126 | 127 | 128 | 129 | 130 | 131 | 132 | 274 133 | 134 | YES 135 | 136 | 137 | 2304 138 | 139 | YES 140 | 141 | 142 | 256 143 | {318, 150} 144 | 145 | 146 | 147 | _NS:13 148 | YES 149 | 150 | 151 | 256 152 | {318, 17} 153 | 154 | 155 | 156 | _NS:16 157 | 158 | 159 | 160 | 161 | -2147483392 162 | {{224, 0}, {16, 17}} 163 | 164 | _NS:19 165 | 166 | 167 | YES 168 | 169 | 116 170 | 40 171 | 1000 172 | 173 | 75628096 174 | 2048 175 | 176 | 177 | 178 | 3 179 | MC4zMzMzMzI5ODU2AA 180 | 181 | 182 | 6 183 | System 184 | headerTextColor 185 | 186 | 187 | 188 | 189 | 337772096 190 | 2048 191 | Text Cell 192 | 193 | 194 | 195 | 6 196 | System 197 | controlBackgroundColor 198 | 199 | 200 | 201 | 6 202 | System 203 | controlTextColor 204 | 205 | 206 | 207 | 3 208 | YES 209 | YES 210 | 211 | 212 | 213 | 196 214 | 40 215 | 1000 216 | 217 | 75628096 218 | 2048 219 | 220 | 221 | 222 | 223 | 224 | 225 | 337772096 226 | 2048 227 | Text Cell 228 | 229 | 230 | 231 | 232 | 233 | 3 234 | YES 235 | YES 236 | 237 | 238 | 239 | 3 240 | 2 241 | 242 | 243 | 6 244 | System 245 | gridColor 246 | 247 | 3 248 | MC41AA 249 | 250 | 251 | 17 252 | -700448768 253 | 254 | 255 | 4 256 | 15 257 | 0 258 | YES 259 | 0 260 | 1 261 | 262 | 263 | {{1, 17}, {318, 150}} 264 | 265 | 266 | 267 | _NS:11 268 | 269 | 270 | 4 271 | 272 | 273 | 274 | -2147483392 275 | {{224, 17}, {15, 102}} 276 | 277 | 278 | 279 | _NS:58 280 | 281 | _doScroller: 282 | 37 283 | 0.1947367936372757 284 | 285 | 286 | 287 | -2147483392 288 | {{1, 119}, {223, 15}} 289 | 290 | 291 | 292 | _NS:60 293 | 1 294 | 295 | _doScroller: 296 | 0.57142859697341919 297 | 298 | 299 | 300 | 2304 301 | 302 | YES 303 | 304 | 305 | {{1, 0}, {318, 17}} 306 | 307 | 308 | 309 | _NS:15 310 | 311 | 312 | 4 313 | 314 | 315 | {{20, 42}, {320, 168}} 316 | 317 | 318 | 319 | _NS:9 320 | 133682 321 | 322 | 323 | 324 | 325 | QSAAAEEgAABBmAAAQZgAAA 326 | 327 | 328 | {360, 260} 329 | 330 | 331 | 332 | NSView 333 | 334 | 335 | 336 | 337 | YES 338 | 339 | 340 | view 341 | 342 | 343 | 344 | 11 345 | 346 | 347 | 348 | textField 349 | 350 | 351 | 352 | 78 353 | 354 | 355 | 356 | tableView 357 | 358 | 359 | 360 | 80 361 | 362 | 363 | 364 | 365 | YES 366 | 367 | 0 368 | 369 | YES 370 | 371 | 372 | 373 | 374 | 375 | -2 376 | 377 | 378 | File's Owner 379 | 380 | 381 | -1 382 | 383 | 384 | First Responder 385 | 386 | 387 | -3 388 | 389 | 390 | Application 391 | 392 | 393 | 1 394 | 395 | 396 | YES 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 | 67 405 | 406 | 407 | YES 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 68 417 | 418 | 419 | YES 420 | 421 | 422 | 423 | 424 | 425 | 426 | 69 427 | 428 | 429 | 430 | 431 | 70 432 | 433 | 434 | 435 | 436 | 71 437 | 438 | 439 | 440 | 441 | 72 442 | 443 | 444 | YES 445 | 446 | 447 | 448 | 449 | 450 | 73 451 | 452 | 453 | YES 454 | 455 | 456 | 457 | 458 | 459 | 74 460 | 461 | 462 | 463 | 464 | 75 465 | 466 | 467 | 468 | 469 | 76 470 | 471 | 472 | YES 473 | 474 | 475 | 476 | 477 | 478 | 77 479 | 480 | 481 | 482 | 483 | 81 484 | 485 | 486 | YES 487 | 488 | 489 | 490 | 491 | 492 | 82 493 | 494 | 495 | 496 | 497 | 498 | 499 | YES 500 | 501 | YES 502 | -1.IBPluginDependency 503 | -2.IBPluginDependency 504 | -3.IBPluginDependency 505 | 1.IBPluginDependency 506 | 1.IBUserGuides 507 | 67.IBPluginDependency 508 | 68.IBPluginDependency 509 | 69.IBPluginDependency 510 | 70.IBPluginDependency 511 | 71.IBPluginDependency 512 | 72.IBPluginDependency 513 | 73.IBPluginDependency 514 | 74.IBPluginDependency 515 | 75.IBPluginDependency 516 | 76.IBPluginDependency 517 | 77.IBPluginDependency 518 | 81.IBPluginDependency 519 | 82.IBPluginDependency 520 | 521 | 522 | YES 523 | com.apple.InterfaceBuilder.CocoaPlugin 524 | com.apple.InterfaceBuilder.CocoaPlugin 525 | com.apple.InterfaceBuilder.CocoaPlugin 526 | com.apple.InterfaceBuilder.CocoaPlugin 527 | 528 | com.apple.InterfaceBuilder.CocoaPlugin 529 | com.apple.InterfaceBuilder.CocoaPlugin 530 | com.apple.InterfaceBuilder.CocoaPlugin 531 | com.apple.InterfaceBuilder.CocoaPlugin 532 | com.apple.InterfaceBuilder.CocoaPlugin 533 | com.apple.InterfaceBuilder.CocoaPlugin 534 | com.apple.InterfaceBuilder.CocoaPlugin 535 | com.apple.InterfaceBuilder.CocoaPlugin 536 | com.apple.InterfaceBuilder.CocoaPlugin 537 | com.apple.InterfaceBuilder.CocoaPlugin 538 | com.apple.InterfaceBuilder.CocoaPlugin 539 | com.apple.InterfaceBuilder.CocoaPlugin 540 | com.apple.InterfaceBuilder.CocoaPlugin 541 | 542 | 543 | 544 | YES 545 | 546 | 547 | 548 | 549 | 550 | YES 551 | 552 | 553 | 554 | 555 | 82 556 | 557 | 558 | 559 | YES 560 | 561 | AdvancedPreferencesViewController 562 | NSViewController 563 | 564 | YES 565 | 566 | YES 567 | tableView 568 | textField 569 | 570 | 571 | YES 572 | NSTableView 573 | NSTextField 574 | 575 | 576 | 577 | YES 578 | 579 | YES 580 | tableView 581 | textField 582 | 583 | 584 | YES 585 | 586 | tableView 587 | NSTableView 588 | 589 | 590 | textField 591 | NSTextField 592 | 593 | 594 | 595 | 596 | IBProjectSource 597 | ./Classes/AdvancedPreferencesViewController.h 598 | 599 | 600 | 601 | 602 | 0 603 | IBCocoaFramework 604 | 605 | com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 606 | 607 | 608 | YES 609 | 3 610 | 611 | 612 | -------------------------------------------------------------------------------- /Demo/AdvancedPreferencesViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // This is a sample Advanced preference pane 3 | // 4 | 5 | #import 6 | 7 | @interface AdvancedPreferencesViewController : NSViewController { 8 | NSTextField *_textField; 9 | NSTableView *_tableView; 10 | } 11 | 12 | @property (nonatomic, assign) IBOutlet NSTextField *textField; 13 | @property (assign) IBOutlet NSTableView *tableView; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Demo/AdvancedPreferencesViewController.m: -------------------------------------------------------------------------------- 1 | 2 | #import "AdvancedPreferencesViewController.h" 3 | 4 | @implementation AdvancedPreferencesViewController 5 | 6 | @synthesize textField = _textField; 7 | @synthesize tableView = _tableView; 8 | 9 | #pragma mark - 10 | 11 | - (id)init 12 | { 13 | return [super initWithNibName:@"AdvancedPreferencesView" bundle:nil]; 14 | } 15 | 16 | #pragma mark - MASPreferencesViewController 17 | 18 | - (NSString *)viewIdentifier 19 | { 20 | return @"AdvancedPreferences"; 21 | } 22 | 23 | - (NSImage *)toolbarItemImage 24 | { 25 | return [NSImage imageNamed:NSImageNameAdvanced]; 26 | } 27 | 28 | - (NSString *)toolbarItemLabel 29 | { 30 | return NSLocalizedString(@"Advanced", @"Toolbar item name for the Advanced preference pane"); 31 | } 32 | 33 | - (NSView *)initialKeyView 34 | { 35 | NSInteger focusedControlIndex = [[NSApp valueForKeyPath:@"delegate.focusedAdvancedControlIndex"] integerValue]; 36 | return (focusedControlIndex == 0 ? self.textField : self.tableView); 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /Demo/Demo-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDocumentTypes 8 | 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | $(PRODUCT_BUNDLE_IDENTIFIER) 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleShortVersionString 22 | 1.0 23 | CFBundleSignature 24 | ???? 25 | CFBundleURLTypes 26 | 27 | CFBundleVersion 28 | 1 29 | LSMinimumSystemVersion 30 | ${MACOSX_DEPLOYMENT_TARGET} 31 | NSHumanReadableCopyright 32 | Copyright © 2001 Shpakovski 33 | NSMainNibFile 34 | MainMenu 35 | NSPrincipalClass 36 | NSApplication 37 | NSServices 38 | 39 | UTExportedTypeDeclarations 40 | 41 | UTImportedTypeDeclarations 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /Demo/Demo-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'Demo' target in the 'Demo' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Demo/DemoAppDelegate.h: -------------------------------------------------------------------------------- 1 | 2 | @interface DemoAppDelegate : NSObject { 3 | NSWindow *_window; 4 | NSWindowController *_preferencesWindowController; 5 | } 6 | 7 | @property (nonatomic, assign) IBOutlet NSWindow *window; 8 | @property (nonatomic, readonly) NSWindowController *preferencesWindowController; 9 | 10 | @property (nonatomic) NSInteger focusedAdvancedControlIndex; 11 | 12 | - (IBAction)openPreferences:(id)sender; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Demo/DemoAppDelegate.m: -------------------------------------------------------------------------------- 1 | 2 | #import "DemoAppDelegate.h" 3 | #import "MASPreferencesWindowController.h" 4 | #import "GeneralPreferencesViewController.h" 5 | #import "AdvancedPreferencesViewController.h" 6 | 7 | @implementation DemoAppDelegate 8 | 9 | @synthesize window = _window; 10 | 11 | #pragma mark - 12 | 13 | - (void)dealloc 14 | { 15 | [_preferencesWindowController release]; 16 | [super dealloc]; 17 | } 18 | 19 | #pragma mark - NSApplicationDelegate 20 | 21 | - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication * __unused)sender 22 | { 23 | return YES; 24 | } 25 | 26 | #pragma mark - Public accessors 27 | 28 | - (NSWindowController *)preferencesWindowController 29 | { 30 | if (_preferencesWindowController == nil) 31 | { 32 | NSViewController *generalViewController = [[GeneralPreferencesViewController alloc] init]; 33 | NSViewController *advancedViewController = [[AdvancedPreferencesViewController alloc] init]; 34 | NSArray *controllers = [[NSArray alloc] initWithObjects:generalViewController, advancedViewController, nil]; 35 | 36 | // To add a flexible space between General and Advanced preference panes insert [NSNull null]: 37 | // NSArray *controllers = [[NSArray alloc] initWithObjects:generalViewController, [NSNull null], advancedViewController, nil]; 38 | 39 | [generalViewController release]; 40 | [advancedViewController release]; 41 | 42 | NSString *title = NSLocalizedString(@"Preferences", @"Common title for Preferences window"); 43 | _preferencesWindowController = [[MASPreferencesWindowController alloc] initWithViewControllers:controllers title:title]; 44 | [controllers release]; 45 | } 46 | return _preferencesWindowController; 47 | } 48 | 49 | #pragma mark - Actions 50 | 51 | - (IBAction)openPreferences:(id __unused)sender 52 | { 53 | [self.preferencesWindowController showWindow:nil]; 54 | } 55 | 56 | #pragma mark - 57 | 58 | NSString *const kFocusedAdvancedControlIndex = @"FocusedAdvancedControlIndex"; 59 | 60 | - (NSInteger)focusedAdvancedControlIndex 61 | { 62 | return [[NSUserDefaults standardUserDefaults] integerForKey:kFocusedAdvancedControlIndex]; 63 | } 64 | 65 | - (void)setFocusedAdvancedControlIndex:(NSInteger)focusedAdvancedControlIndex 66 | { 67 | [[NSUserDefaults standardUserDefaults] setInteger:focusedAdvancedControlIndex forKey:kFocusedAdvancedControlIndex]; 68 | } 69 | 70 | @end 71 | -------------------------------------------------------------------------------- /Demo/GeneralPreferencesView.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1070 5 | 11D50b 6 | 2182 7 | 1138.32 8 | 568.00 9 | 10 | com.apple.InterfaceBuilder.CocoaPlugin 11 | 2182 12 | 13 | 14 | YES 15 | NSCustomView 16 | NSTextField 17 | NSButtonCell 18 | NSTextFieldCell 19 | NSMatrix 20 | NSCustomObject 21 | 22 | 23 | YES 24 | com.apple.InterfaceBuilder.CocoaPlugin 25 | 26 | 27 | PluginDependencyRecalculationVersion 28 | 29 | 30 | 31 | YES 32 | 33 | GeneralPreferencesViewController 34 | 35 | 36 | FirstResponder 37 | 38 | 39 | NSApplication 40 | 41 | 42 | 43 | 301 44 | 45 | YES 46 | 47 | 48 | 268 49 | {{58, 20}, {181, 14}} 50 | 51 | 52 | 53 | _NS:1505 54 | YES 55 | 56 | 68288064 57 | 272761856 58 | Note: The window has fixed size. 59 | 60 | LucidaGrande 61 | 11 62 | 3100 63 | 64 | _NS:1505 65 | 66 | 67 | 6 68 | System 69 | controlColor 70 | 71 | 3 72 | MC42NjY2NjY2NjY3AA 73 | 74 | 75 | 76 | 6 77 | System 78 | disabledControlTextColor 79 | 80 | 3 81 | MC4zMzMzMzMzMzMzAA 82 | 83 | 84 | 85 | 86 | 87 | 88 | 268 89 | {{58, 88}, {164, 17}} 90 | 91 | 92 | 93 | _NS:1505 94 | YES 95 | 96 | 68288064 97 | 71304192 98 | Focus Advanced View on: 99 | 100 | LucidaGrande 101 | 13 102 | 1044 103 | 104 | _NS:1505 105 | 106 | 107 | 108 | 6 109 | System 110 | controlTextColor 111 | 112 | 3 113 | MAA 114 | 115 | 116 | 117 | 118 | 119 | 120 | 268 121 | {{73, 42}, {91, 38}} 122 | 123 | 124 | 125 | YES 126 | 2 127 | 1 128 | 129 | YES 130 | 131 | -2080244224 132 | 0 133 | Text Field 134 | 135 | 136 | 1 137 | 1211912703 138 | 0 139 | 140 | NSRadioButton 141 | 142 | 143 | 144 | 200 145 | 25 146 | 147 | 148 | 67239424 149 | 0 150 | Table View 151 | 152 | 153 | 1211912703 154 | 0 155 | 156 | 549453824 157 | {18, 18} 158 | 159 | YES 160 | 161 | YES 162 | 163 | 164 | 165 | TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA 166 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw 167 | IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ 168 | 29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 169 | dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA 170 | AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG 171 | AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ 172 | 0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ 173 | 7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ 174 | 5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ 175 | 3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD 176 | AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns 177 | AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ 178 | 6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ 179 | /v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ 180 | ///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl 181 | YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA 182 | AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF 183 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD 184 | AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu 185 | AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 186 | AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgEAAAMAAAABABIAAAEB 187 | AAMAAAABABIAAAECAAMAAAAEAAAFxgEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES 188 | AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS 189 | AAMAAAABAAEAAAFTAAMAAAAEAAAFzodzAAcAAAwYAAAF1gAAAAAACAAIAAgACAABAAEAAQABAAAMGGFw 190 | cGwCAAAAbW50clJHQiBYWVogB9YABAADABMALAASYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 191 | AAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 192 | AAAAAAAOclhZWgAAASwAAAAUZ1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAA 193 | AXwAAAAsclRSQwAAAagAAAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAMSbmRpbgAA 194 | BOwAAAY+ZGVzYwAACywAAABkZHNjbQAAC5AAAAAubW1vZAAAC8AAAAAoY3BydAAAC+gAAAAtWFlaIAAA 195 | AAAAAF1KAAA0kQAACCVYWVogAAAAAAAAdCAAALRgAAAjPVhZWiAAAAAAAAAlbAAAFyoAAKfDWFlaIAAA 196 | AAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1 197 | cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAAD 198 | AQAAAQACBAUGBwkKCw0ODxASExQWFxgaGxweHyAiIyQmJygpKywtLzAxMjM1Njc4OTs8PT5AQUJDREZH 199 | SElKS0xOT1BRUlNUVVZXWFlaW1xdXl9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SF 200 | hoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnZ6foKGio6SlpqanqKmqq6ytra6vsLGysrO0tba3uLi5uru8 201 | vL2+v8DBwcLDxMXGxsfIycrKy8zNzs7P0NHS0tPU1dbW19jZ2drb3Nzd3t/g4eLi4+Tl5ufo6enq6+zt 202 | 7u/w8fHy8/T19vf4+fr7/P3+/v8AAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR8gISIjJCUnKCkq 203 | Ky0uLzAxMzQ1Njc4OTo7PD0/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaWltcXV5fYGFiY2RlZmdo 204 | aWprbG1ub3BxcnN0dXZ3d3h5ent8fH1+f4CBgoKDhIWGh4iIiYqLjI2Oj5CRkpOUlJWWl5iZmpucnZ2e 205 | n6ChoqOkpaamp6ipqqusra6vsLCxsrO0tba3uLm5uru8vb6/wMHCw8TFx8jJysvMzc7P0NDR0tPU1dbX 206 | 2Nna29ze3+Dh4uPk5ebn6err7O3u7/Hy8/T19vf5+vv8/f7/AAIDAwQFBgcICQoKCwwNDg8QERITFBUW 207 | FxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODg5Ojs8PT4+P0BBQkNDREVGR0hJSUpLTE1O 208 | Tk9QUVJSU1RVVVZXWFhZWltbXF1eXl9gYWFiY2RkZWZnZ2hpaWprbGxtbm5vcHFxcnNzdHV1dnd4eHl6 209 | ent8fH1+fn+AgYGCg4SEhYaHiImJiouMjY6Oj5CRkpOTlJWWl5iZmZqbnJ2en6ChoqOkpaanqKmqq6yt 210 | rq+xsrO0tba3uLq7vL2+wMHDxMbHycrMzs/R0tTW19nb3d7g4uTm6Ors7vDy9Pb4+vz+/wAAbmRpbgAA 211 | AAAAAAY2AACXGgAAVjoAAFPKAACJ3gAAJ8IAABaoAABQDQAAVDkAAiuFAAIZmQABeFEAAwEAAAIAAAAA 212 | AAEABgANABcAIwAxAEAAUgBlAHsAkwCrAMUA4gD/AR8BPwFhAYUBqgHQAfgCIAJLAncCpQLSAwIDMwNl 213 | A5gDzgQFBD0EdQSvBOsFKQVnBacF6AYqBm4GtQb8B0UHkgfkCDkIkAjnCT4JmAn0ClAKrQsLC2sLygwq 214 | DIwM8Q1XDcAOKA6SDv4PbA/bEE0QxBE7EbQSMRKwEzITuRREFNAVYBXxFocXHhfAGGIZBBmsGlQa+RuU 215 | HC4czh1yHhQeux9jIA0gvCFoIhkizyOJJEEk+SW6JnknOygFKMspkypiKzIsASzXLawuhy9gMD4xGzH8 216 | MtszvzSgNYY2cjdcOEw5OTorOxs8CD0EPfU+6z/nQOFB2ELUQ9VE00XcRttH5EjxSgBLCUwdTTFOUE9v 217 | UI9Rt1LdVAVVNlZsV6VY4FohW21ct135X09goGH0Y0tkqGYFZ19oxGova5ptCG54b/BxbnLsdG119Xd/ 218 | eQh6knwqfcV/W4D4gpSEO4Xih4CJKorYjIqOOY/jkZuTWJUOlsyYiZpSnB6d4Z+soX+jWqUvpxOo+6rj 219 | rMuuwLC4sra0rra0uL+60LzfvwDBHcLdxLXGhchYyi7MCs3lz7rRmtOA1WPXR9kq2xPc/97s4M/iveSn 220 | 5o3obupT7ELuLPAM8fLz0PW396H5f/tZ/T3//wAAAAEAAwALABYAJQA3AE0AZQCBAJ8AwQDlAQsBNQFh 221 | AZABwQH1AisCZAKfAtwDHANfA6MD6gQ0BH8EzQT1BR0FcAXEBhsGdAbPBy0HXAeMB+4IUgi4CSAJVAmK 222 | CfYKZArVC0cLgQu8DDIMqw0mDaIOIQ6hDyQPqRAvELgQ/RFDEc8SXRLuE4AUFRSrFUMV3RZ5FxcXthhY 223 | GPwZoRpIGvEbnBxJHPgdqB5bHw8fxSB9ITch8iKwJDAk8yW3Jn4nRigQKNwpqSp5K0osHCzxLccuoC95 224 | MFUxMzISMvMz1TS5NaA2hzdxOFw5STo4Oyg8Gj4DPvs/9EDuQepD6ETpRexG8Uf3SP9LFEwhTTBOQE9S 225 | UGZSklOrVMVV4Vb/WB5ZP1phW4Vcq13SXvthUmJ/Y69k4GYSZ0dofGm0au1tZG6ib+FxInJlc6l073Y2 226 | d396FXtjfLJ+A39VgKmB/4NWhK+GCYjCiiGLgYzjjkePrJESknuT5Ja8mCuZm5sMnH+d9J9qoOGiWqPV 227 | pVGmz6eOqE6pzqtRrNSuWq/gsWmy8rR+tgu5Kbq6vE294b93wQ7Cp8RBxd3He8kZyrrLisxbzf/Po9FK 228 | 0vHUm9ZF1/HZn9tO3Cbc/96x4GTiGePQ5YjnQegf6Pzquex27jbv9/G583z0X/VC9wj40Pqa/GX+Mf// 229 | AAAAAQADAAsAJQA3AE0AZQCBAJ8AwQELATUBYQGQAcEB9QIrAmQCnwLcAxwDXwOjA+oENAR/BM0FHQVw 230 | BcQGGwZ0Bs8HLQeMB+4IUgi4CSAJign2CmQK1QtHC7wMMgyrDSYNog4hDqEPJA+pEC8QuBFDEl0S7hOA 231 | FBUUqxVDFnkXFxe2GFgY/BpIGvEbnBxJHPgdqB8PH8UgfSE3IfIjbyQwJPMltydGKBAo3Cp5K0osHC3H 232 | LqAveTEzMhIy8zS5NaA2hzhcOUk6ODwaPQ4+Az/0QO5C6EPoROlG8Uf3SglLFEwhTkBPUlF7UpJUxVXh 233 | Vv9ZP1phXKtd0mAlYVJjr2TgZhJofGm0au1tZG6ib+FxInJldO92Nnd/eMl6FXyyfgN/VYCpgf+Er4YJ 234 | h2WIwoohi4GOR4+skRKSe5PklVCWvJgrmZubDJx/nfSfaqDholqj1aVRps+oTqnOq1Gs1K2Xrlqv4LFp 235 | svK0frYLt5m5Kbnxurq8Tb3hv3fBDsHawqfEQcUPxd3He8hKyRnKusuKzFvN/87Rz6PQdtFK0vHTxtSb 236 | 1kXXG9fx2MjZn9tO3Cbc/93Y3rHfiuBk4hni9ePQ5KzliOZk50HoH+j86drqueuX7HbtVu427xbv9/DX 237 | 8bnymvN89F/1QvYl9wj37PjQ+bX6mvt//GX9S/4x//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAA 238 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 239 | AAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABIAAAAcAEMAbwBsAG8AcgAgAEwAQwBE 240 | AABtbW9kAAAAAAAABhAAAJxOAAAAAL5zkQAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQg 241 | QXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAA 242 | 243 | 244 | 245 | 246 | 247 | 3 248 | MCAwAA 249 | 250 | 251 | 252 | 400 253 | 75 254 | 255 | 256 | {91, 18} 257 | {4, 2} 258 | 1151868928 259 | NSActionCell 260 | 261 | 67239424 262 | 0 263 | Radio 264 | 265 | 1211912703 266 | 0 267 | 268 | 549453824 269 | {18, 18} 270 | 271 | YES 272 | 273 | YES 274 | 275 | 276 | 277 | TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA 278 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw 279 | IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ 280 | 29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 281 | dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA 282 | AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG 283 | AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ 284 | 0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ 285 | 7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ 286 | 5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ 287 | 3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD 288 | AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns 289 | AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ 290 | 6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ 291 | /v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ 292 | ///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl 293 | YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA 294 | AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF 295 | AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD 296 | AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu 297 | AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 298 | AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB 299 | AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES 300 | AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS 301 | AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 400 310 | 75 311 | 312 | 313 | 314 | 315 | 3 316 | MQA 317 | 318 | 319 | 320 | 321 | {297, 125} 322 | 323 | 324 | 325 | NSView 326 | 327 | 328 | 329 | 330 | YES 331 | 332 | 333 | view 334 | 335 | 336 | 337 | 2 338 | 339 | 340 | 341 | selectedIndex: delegate.focusedAdvancedControlIndex 342 | 343 | 344 | 345 | 346 | 347 | selectedIndex: delegate.focusedAdvancedControlIndex 348 | selectedIndex 349 | delegate.focusedAdvancedControlIndex 350 | 2 351 | 352 | 353 | 172 354 | 355 | 356 | 357 | 358 | YES 359 | 360 | 0 361 | 362 | YES 363 | 364 | 365 | 366 | 367 | 368 | -2 369 | 370 | 371 | File's Owner 372 | 373 | 374 | -1 375 | 376 | 377 | First Responder 378 | 379 | 380 | -3 381 | 382 | 383 | Application 384 | 385 | 386 | 1 387 | 388 | 389 | YES 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 163 398 | 399 | 400 | YES 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 164 409 | 410 | 411 | 412 | 413 | 165 414 | 415 | 416 | 417 | 418 | 166 419 | 420 | 421 | 422 | 423 | 167 424 | 425 | 426 | YES 427 | 428 | 429 | 430 | 431 | 432 | 168 433 | 434 | 435 | 436 | 437 | 169 438 | 439 | 440 | YES 441 | 442 | 443 | 444 | 445 | 446 | 170 447 | 448 | 449 | 450 | 451 | 452 | 453 | YES 454 | 455 | YES 456 | -1.IBPluginDependency 457 | -2.IBPluginDependency 458 | -3.IBPluginDependency 459 | 1.IBPluginDependency 460 | 1.IBUserGuides 461 | 163.IBPluginDependency 462 | 164.IBPluginDependency 463 | 165.IBPluginDependency 464 | 166.IBPluginDependency 465 | 167.IBPluginDependency 466 | 168.IBPluginDependency 467 | 169.IBPluginDependency 468 | 170.IBPluginDependency 469 | 470 | 471 | YES 472 | com.apple.InterfaceBuilder.CocoaPlugin 473 | com.apple.InterfaceBuilder.CocoaPlugin 474 | com.apple.InterfaceBuilder.CocoaPlugin 475 | com.apple.InterfaceBuilder.CocoaPlugin 476 | 477 | com.apple.InterfaceBuilder.CocoaPlugin 478 | com.apple.InterfaceBuilder.CocoaPlugin 479 | com.apple.InterfaceBuilder.CocoaPlugin 480 | com.apple.InterfaceBuilder.CocoaPlugin 481 | com.apple.InterfaceBuilder.CocoaPlugin 482 | com.apple.InterfaceBuilder.CocoaPlugin 483 | com.apple.InterfaceBuilder.CocoaPlugin 484 | com.apple.InterfaceBuilder.CocoaPlugin 485 | 486 | 487 | 488 | YES 489 | 490 | 491 | 492 | 493 | 494 | YES 495 | 496 | 497 | 498 | 499 | 172 500 | 501 | 502 | 503 | YES 504 | 505 | GeneralPreferencesViewController 506 | NSViewController 507 | 508 | IBProjectSource 509 | ./Classes/GeneralPreferencesViewController.h 510 | 511 | 512 | 513 | 514 | 0 515 | IBCocoaFramework 516 | 517 | com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 518 | 519 | 520 | YES 521 | 3 522 | 523 | 524 | -------------------------------------------------------------------------------- /Demo/GeneralPreferencesViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // This is a sample General preference pane 3 | // 4 | 5 | #import 6 | 7 | @interface GeneralPreferencesViewController : NSViewController 8 | @end 9 | -------------------------------------------------------------------------------- /Demo/GeneralPreferencesViewController.m: -------------------------------------------------------------------------------- 1 | 2 | #import "GeneralPreferencesViewController.h" 3 | 4 | @implementation GeneralPreferencesViewController 5 | 6 | - (id)init 7 | { 8 | return [super initWithNibName:@"GeneralPreferencesView" bundle:nil]; 9 | } 10 | 11 | #pragma mark - MASPreferencesViewController 12 | 13 | - (NSString *)viewIdentifier 14 | { 15 | return @"GeneralPreferences"; 16 | } 17 | 18 | - (NSImage *)toolbarItemImage 19 | { 20 | return [NSImage imageNamed:NSImageNamePreferencesGeneral]; 21 | } 22 | 23 | - (NSString *)toolbarItemLabel 24 | { 25 | return NSLocalizedString(@"General", @"Toolbar item name for the General preference pane"); 26 | } 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Demo/main.m: -------------------------------------------------------------------------------- 1 | 2 | int main(int argc, char *argv[]) 3 | { 4 | return NSApplicationMain(argc, (const char **)argv); 5 | } 6 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | platform :osx 2 | project 'Demo.xcodeproj' 3 | use_frameworks! 4 | 5 | def pods 6 | pod 'MASPreferences', :git => 'https://github.com/shpakovski/MASPreferences' 7 | end 8 | 9 | target :Demo do 10 | pods 11 | end 12 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - MASPreferences (1.3) 3 | 4 | DEPENDENCIES: 5 | - MASPreferences (from `https://github.com/shpakovski/MASPreferences`) 6 | 7 | EXTERNAL SOURCES: 8 | MASPreferences: 9 | :git: https://github.com/shpakovski/MASPreferences 10 | 11 | CHECKOUT OPTIONS: 12 | MASPreferences: 13 | :commit: 45e5ff67d19babc53414970b0a5db9586a494a96 14 | :git: https://github.com/shpakovski/MASPreferences 15 | 16 | SPEC CHECKSUMS: 17 | MASPreferences: c08b8622dd17b47da87669e741efd7c92e970e8c 18 | 19 | PODFILE CHECKSUM: eb817c6bf328544d366930e114880cfcbba6f606 20 | 21 | COCOAPODS: 1.3.1 22 | -------------------------------------------------------------------------------- /Pods/Local Podspecs/MASPreferences.podspec.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "MASPreferences", 3 | "platforms": { 4 | "osx": null 5 | }, 6 | "version": "1.3", 7 | "summary": "Modern implementation of the Preferences window for OS X apps, used in TextMate, GitBox and Mou.", 8 | "homepage": "https://github.com/shpakovski/MASPreferences", 9 | "license": { 10 | "type": "BSD", 11 | "file": "LICENSE.md" 12 | }, 13 | "authors": { 14 | "Vadim Shpakovski": "vadim@shpakovski.com" 15 | }, 16 | "source": { 17 | "git": "https://github.com/shpakovski/MASPreferences.git", 18 | "tag": "1.3" 19 | }, 20 | "source_files": "Framework/*.{h,m}", 21 | "resources": "Framework/en.lproj/*.xib", 22 | "exclude_files": [ 23 | "README.md", 24 | "LICENSE.md", 25 | "MASPreferences.podspec" 26 | ], 27 | "requires_arc": true 28 | } 29 | -------------------------------------------------------------------------------- /Pods/MASPreferences/Framework/MASPreferences.h: -------------------------------------------------------------------------------- 1 | #import "MASPreferencesViewController.h" 2 | #import "MASPreferencesWindowController.h" 3 | -------------------------------------------------------------------------------- /Pods/MASPreferences/Framework/MASPreferencesViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // Any controller providing preference pane view must support this protocol 3 | // 4 | 5 | #import 6 | 7 | NS_ASSUME_NONNULL_BEGIN 8 | 9 | /*! 10 | * Requirements for the Preferences panel 11 | */ 12 | @protocol MASPreferencesViewController 13 | 14 | /*! 15 | * Unique identifier of the Panel represented by the view controller. 16 | */ 17 | @property (nonatomic, readonly) NSString* viewIdentifier; 18 | 19 | /*! 20 | * Toolbar item label for the Panel represented by the view controller. 21 | * 22 | * This label may be used as a Preferences window title. 23 | */ 24 | @property (nonatomic, readonly, nullable) NSString *toolbarItemLabel; 25 | 26 | @optional 27 | 28 | /*! 29 | * Toolbar icon for the Panel represented by the view controller. 30 | * 31 | * If you do not implement this then the toolbar will only use labels 32 | */ 33 | @property (nonatomic, readonly, nullable) NSImage *toolbarItemImage; 34 | 35 | /*! 36 | * Called when selection goes to the Panel represented by the view controller. 37 | */ 38 | - (void)viewWillAppear; 39 | 40 | /*! 41 | * Called when selection goes to another Panel. 42 | */ 43 | - (void)viewDidDisappear; 44 | 45 | /*! 46 | * Returns initial control in the key view loop. 47 | * 48 | * @return The view to focus on automatically when the panel is open. 49 | */ 50 | - (__kindof NSView *)initialKeyView; 51 | 52 | /*! 53 | * The flag used to detect if the Prerences window can be resized horizontally. 54 | */ 55 | @property (nonatomic, readonly) BOOL hasResizableWidth; 56 | 57 | /*! 58 | * The flag used to detect if the Prerences window can be resized vertically. 59 | */ 60 | @property (nonatomic, readonly) BOOL hasResizableHeight; 61 | 62 | @end 63 | 64 | NS_ASSUME_NONNULL_END 65 | -------------------------------------------------------------------------------- /Pods/MASPreferences/Framework/MASPreferencesWindowController.h: -------------------------------------------------------------------------------- 1 | // 2 | // You create an application Preferences window using code like this: 3 | // _preferencesWindowController = [[MASPreferencesWindowController alloc] initWithViewControllers:controllers title:title] 4 | // 5 | // To open the Preferences window: 6 | // [_preferencesWindowController showWindow:sender] 7 | // 8 | 9 | #import 10 | 11 | @protocol MASPreferencesViewController; 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | /*! 16 | * Notification posted when you switch selected panel in Preferences. 17 | */ 18 | extern NSString * const kMASPreferencesWindowControllerDidChangeViewNotification; 19 | 20 | /*! 21 | * Window controller for managing Preference view controllers. 22 | */ 23 | __attribute__((__visibility__("default"))) 24 | #if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5 25 | @interface MASPreferencesWindowController : NSWindowController 26 | #else 27 | @interface MASPreferencesWindowController : NSWindowController 28 | #endif 29 | { 30 | @private 31 | NSMutableArray *_viewControllers; 32 | NSMutableDictionary *_minimumViewRects; 33 | NSString *_title; 34 | NSViewController *_selectedViewController; 35 | NSToolbar * __unsafe_unretained _toolbar; 36 | } 37 | 38 | /*! 39 | * Child view controllers in the Preferences window. 40 | */ 41 | @property (nonatomic, readonly) NSMutableArray *viewControllers; 42 | 43 | /*! 44 | * Index of selected panel in the Preferences window. 45 | */ 46 | @property (nonatomic, readonly) NSUInteger indexOfSelectedController; 47 | 48 | /*! 49 | * View controller representing selected panel in the Preferences window. 50 | */ 51 | @property (nonatomic, readonly) NSViewController *selectedViewController; 52 | 53 | /*! 54 | * Optional window title provided in the initializer. 55 | */ 56 | @property (nonatomic, copy, readonly, nullable) NSString *title; 57 | 58 | /*! 59 | * The toolbar managed by the Preferences window. 60 | */ 61 | @property (nonatomic, unsafe_unretained) IBOutlet NSToolbar *toolbar; 62 | 63 | /*! 64 | * Creates new a window controller for Preferences with custom title. 65 | * 66 | * @param viewControllers Non-empty list of view controllers representing Preference panels. 67 | * @param title Optional title for the Preferneces window. Pass `nil` to show the title provided by selected view controller. 68 | * 69 | * @return A new controller with the given title. 70 | */ 71 | - (instancetype)initWithViewControllers:(NSArray *)viewControllers title:(NSString * _Nullable)title; 72 | - (instancetype)init __attribute((unavailable("Please use initWithViewControllers:title:"))); 73 | 74 | /*! 75 | * Creates new a window controller for Preferences with a flexible title. 76 | * 77 | * @param viewControllers Non-empty list of view controllers representing Preference panels. 78 | * 79 | * @return A new controller with title depending on selected view controller. 80 | */ 81 | - (instancetype)initWithViewControllers:(NSArray *)viewControllers; 82 | 83 | /*! 84 | * Appends new panel to the Preferences window. 85 | * 86 | * @param viewController View controller representing new panel. 87 | */ 88 | - (void)addViewController:(NSViewController *)viewController; 89 | 90 | /*! 91 | * Changes selection in the Preferences toolbar. 92 | * 93 | * @param controllerIndex Position of the new panel to select in the toolbar. 94 | */ 95 | - (void)selectControllerAtIndex:(NSUInteger)controllerIndex; 96 | 97 | /*! 98 | * Changes selection in the Preferences toolbar using panel identifier. 99 | * 100 | * @param identifier String identifier of the view controller to select. 101 | */ 102 | - (void)selectControllerWithIdentifier:(NSString *)identifier; 103 | 104 | /*! 105 | * Useful action for switching to the next panel. 106 | * 107 | * For example, you may connect it to the main menu. 108 | * 109 | * @param sender Menu or toolbar item. 110 | */ 111 | - (IBAction)goNextTab:(id _Nullable)sender; 112 | 113 | /*! 114 | * Useful action for switching to the previous panel. 115 | * 116 | * For example, you may connect it to the main menu. 117 | * 118 | * @param sender Menu or toolbar item. 119 | */ 120 | - (IBAction)goPreviousTab:(id _Nullable)sender; 121 | 122 | @end 123 | 124 | NS_ASSUME_NONNULL_END 125 | -------------------------------------------------------------------------------- /Pods/MASPreferences/Framework/MASPreferencesWindowController.m: -------------------------------------------------------------------------------- 1 | #import "MASPreferencesWindowController.h" 2 | #import "MASPreferencesViewController.h" 3 | 4 | NSString *const kMASPreferencesWindowControllerDidChangeViewNotification = @"MASPreferencesWindowControllerDidChangeViewNotification"; 5 | 6 | static NSString *const kMASPreferencesFrameTopLeftKey = @"MASPreferences Frame Top Left"; 7 | static NSString *const kMASPreferencesSelectedViewKey = @"MASPreferences Selected Identifier View"; 8 | 9 | static NSString * PreferencesKeyForViewBounds (NSString *identifier) 10 | { 11 | return [NSString stringWithFormat:@"MASPreferences %@ Frame", identifier]; 12 | } 13 | 14 | @interface MASPreferencesWindowController () // Private 15 | 16 | - (NSViewController *)viewControllerForIdentifier:(NSString *)identifier; 17 | 18 | @property (readonly) NSArray *toolbarItemIdentifiers; 19 | @property (nonatomic, retain) NSViewController *selectedViewController; 20 | 21 | @end 22 | 23 | #pragma mark - 24 | 25 | @implementation MASPreferencesWindowController 26 | 27 | @synthesize viewControllers = _viewControllers; 28 | @synthesize selectedViewController = _selectedViewController; 29 | @synthesize title = _title; 30 | @synthesize toolbar = _toolbar; 31 | 32 | #pragma mark - 33 | 34 | - (instancetype)initWithViewControllers:(NSArray *)viewControllers 35 | { 36 | return [self initWithViewControllers:viewControllers title:nil]; 37 | } 38 | 39 | - (instancetype)initWithViewControllers:(NSArray *)viewControllers title:(NSString *)title 40 | { 41 | NSParameterAssert(viewControllers.count > 0); 42 | NSString *nibPath = [[NSBundle bundleForClass:MASPreferencesWindowController.class] pathForResource:@"MASPreferencesWindow" ofType:@"nib"]; 43 | if ((self = [super initWithWindowNibPath:nibPath owner:self])) 44 | { 45 | _viewControllers = [viewControllers mutableCopy]; 46 | _minimumViewRects = [[NSMutableDictionary alloc] init]; 47 | _title = [title copy]; 48 | } 49 | return self; 50 | } 51 | 52 | - (void)dealloc 53 | { 54 | [[NSNotificationCenter defaultCenter] removeObserver:self]; 55 | [[self window] setDelegate:nil]; 56 | for (NSToolbarItem *item in [self.toolbar items]) { 57 | item.target = nil; 58 | item.action = nil; 59 | } 60 | self.toolbar.delegate = nil; 61 | } 62 | 63 | - (void)addViewController:(NSViewController *)viewController 64 | { 65 | NSParameterAssert(viewController); 66 | [_viewControllers addObject: viewController]; 67 | [_toolbar insertItemWithItemIdentifier: viewController.viewIdentifier atIndex: ([_viewControllers count] - 1)]; 68 | [_toolbar validateVisibleItems]; 69 | } 70 | 71 | #pragma mark - 72 | 73 | - (void)windowDidLoad 74 | { 75 | BOOL hasImages = NO; 76 | for (id viewController in self.viewControllers) 77 | if ([viewController respondsToSelector:@selector(toolbarItemImage)]) 78 | hasImages = YES; 79 | 80 | if(hasImages == NO) 81 | [[[self window] toolbar] setDisplayMode:NSToolbarDisplayModeLabelOnly]; 82 | 83 | if ([self.title length] > 0) 84 | [[self window] setTitle:self.title]; 85 | 86 | if ([self.viewControllers count]) 87 | self.selectedViewController = [self viewControllerForIdentifier:[[NSUserDefaults standardUserDefaults] stringForKey:kMASPreferencesSelectedViewKey]] ?: [self firstViewController]; 88 | 89 | NSString *origin = [[NSUserDefaults standardUserDefaults] stringForKey:kMASPreferencesFrameTopLeftKey]; 90 | if (origin) 91 | { 92 | [self.window layoutIfNeeded]; 93 | [self.window setFrameTopLeftPoint:NSPointFromString(origin)]; 94 | } 95 | 96 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidMove:) name:NSWindowDidMoveNotification object:self.window]; 97 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidResize:) name:NSWindowDidResizeNotification object:self.window]; 98 | } 99 | 100 | - (NSViewController *)firstViewController { 101 | for (id viewController in self.viewControllers) 102 | if ([viewController isKindOfClass:[NSViewController class]]) 103 | return viewController; 104 | 105 | return nil; 106 | } 107 | 108 | #pragma mark - 109 | #pragma mark NSWindowDelegate 110 | 111 | - (BOOL)windowShouldClose:(id __unused)sender 112 | { 113 | return !self.selectedViewController || [self.selectedViewController commitEditing]; 114 | } 115 | 116 | - (void)windowDidMove:(NSNotification* __unused)aNotification 117 | { 118 | [[NSUserDefaults standardUserDefaults] setObject:NSStringFromPoint(NSMakePoint(NSMinX([self.window frame]), NSMaxY([self.window frame]))) forKey:kMASPreferencesFrameTopLeftKey]; 119 | } 120 | 121 | - (void)windowDidResize:(NSNotification* __unused)aNotification 122 | { 123 | NSViewController *viewController = self.selectedViewController; 124 | if (viewController) 125 | [[NSUserDefaults standardUserDefaults] setObject:NSStringFromRect([viewController.view bounds]) forKey:PreferencesKeyForViewBounds(viewController.viewIdentifier)]; 126 | } 127 | 128 | #pragma mark - 129 | #pragma mark Accessors 130 | 131 | - (NSArray *)toolbarItemIdentifiers 132 | { 133 | NSMutableArray *identifiers = [NSMutableArray arrayWithCapacity:_viewControllers.count]; 134 | for (id viewController in _viewControllers) 135 | if (viewController == [NSNull null]) 136 | [identifiers addObject:NSToolbarFlexibleSpaceItemIdentifier]; 137 | else 138 | [identifiers addObject:[viewController viewIdentifier]]; 139 | return identifiers; 140 | } 141 | 142 | #pragma mark - 143 | 144 | - (NSUInteger)indexOfSelectedController 145 | { 146 | NSUInteger index = [self.toolbarItemIdentifiers indexOfObject:self.selectedViewController.viewIdentifier]; 147 | return index; 148 | } 149 | 150 | #pragma mark - 151 | #pragma mark NSToolbarDelegate 152 | 153 | - (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar * __unused)toolbar 154 | { 155 | NSArray *identifiers = self.toolbarItemIdentifiers; 156 | return identifiers; 157 | } 158 | 159 | - (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar * __unused)toolbar 160 | { 161 | NSArray *identifiers = self.toolbarItemIdentifiers; 162 | return identifiers; 163 | } 164 | 165 | - (NSArray *)toolbarSelectableItemIdentifiers:(NSToolbar * __unused)toolbar 166 | { 167 | NSArray *identifiers = self.toolbarItemIdentifiers; 168 | return identifiers; 169 | } 170 | 171 | - (NSToolbarItem *)toolbar:(NSToolbar * __unused)toolbar itemForItemIdentifier:(NSString *)itemIdentifier willBeInsertedIntoToolbar:(BOOL __unused)flag 172 | { 173 | NSToolbarItem *toolbarItem = [[NSToolbarItem alloc] initWithItemIdentifier:itemIdentifier]; 174 | NSArray *identifiers = self.toolbarItemIdentifiers; 175 | NSUInteger controllerIndex = [identifiers indexOfObject:itemIdentifier]; 176 | if (controllerIndex != NSNotFound) 177 | { 178 | id controller = [_viewControllers objectAtIndex:controllerIndex]; 179 | if ([controller respondsToSelector:@selector(toolbarItemImage)]) 180 | toolbarItem.image = controller.toolbarItemImage; 181 | toolbarItem.label = controller.toolbarItemLabel; 182 | toolbarItem.target = self; 183 | toolbarItem.action = @selector(toolbarItemDidClick:); 184 | } 185 | return toolbarItem; 186 | } 187 | 188 | #pragma mark - 189 | #pragma mark Private methods 190 | 191 | - (NSViewController *)viewControllerForIdentifier:(NSString *)identifier 192 | { 193 | for (id viewController in self.viewControllers) { 194 | if (viewController == [NSNull null]) continue; 195 | if ([[viewController viewIdentifier] isEqualToString:identifier]) 196 | return viewController; 197 | } 198 | return nil; 199 | } 200 | 201 | #pragma mark - 202 | 203 | - (void)setSelectedViewController:(NSViewController *)controller 204 | { 205 | if (_selectedViewController == controller) 206 | return; 207 | 208 | if (_selectedViewController) 209 | { 210 | // Check if we can commit changes for old controller 211 | if (![_selectedViewController commitEditing]) 212 | { 213 | [[self.window toolbar] setSelectedItemIdentifier:_selectedViewController.viewIdentifier]; 214 | return; 215 | } 216 | [self.window setContentView:[[NSView alloc] init]]; 217 | [_selectedViewController setNextResponder:nil]; 218 | // With 10.10 and later AppKit will invoke viewDidDisappear so we need to prevent it from being called twice. 219 | if (![NSViewController instancesRespondToSelector:@selector(viewDidDisappear)]) 220 | if ([_selectedViewController respondsToSelector:@selector(viewDidDisappear)]) 221 | [_selectedViewController viewDidDisappear]; 222 | _selectedViewController = nil; 223 | } 224 | 225 | if (!controller) 226 | return; 227 | 228 | // Retrieve the new window tile from the controller view 229 | if ([self.title length] == 0) 230 | { 231 | NSString *label = controller.toolbarItemLabel; 232 | self.window.title = label; 233 | } 234 | 235 | [[self.window toolbar] setSelectedItemIdentifier:controller.viewIdentifier]; 236 | 237 | // Record new selected controller in user defaults 238 | [[NSUserDefaults standardUserDefaults] setObject:controller.viewIdentifier forKey:kMASPreferencesSelectedViewKey]; 239 | 240 | NSView *controllerView = controller.view; 241 | 242 | // Retrieve current and minimum frame size for the view 243 | NSString *oldViewRectString = [[NSUserDefaults standardUserDefaults] stringForKey:PreferencesKeyForViewBounds(controller.viewIdentifier)]; 244 | NSString *minViewRectString = [_minimumViewRects objectForKey:controller.viewIdentifier]; 245 | if (!minViewRectString) 246 | [_minimumViewRects setObject:NSStringFromRect(controllerView.bounds) forKey:controller.viewIdentifier]; 247 | 248 | BOOL sizableWidth = ([controller respondsToSelector:@selector(hasResizableWidth)] 249 | ? controller.hasResizableWidth 250 | : controllerView.autoresizingMask & NSViewWidthSizable); 251 | BOOL sizableHeight = ([controller respondsToSelector:@selector(hasResizableHeight)] 252 | ? controller.hasResizableHeight 253 | : controllerView.autoresizingMask & NSViewHeightSizable); 254 | 255 | NSRect oldViewRect = oldViewRectString ? NSRectFromString(oldViewRectString) : controllerView.bounds; 256 | NSRect minViewRect = minViewRectString ? NSRectFromString(minViewRectString) : controllerView.bounds; 257 | oldViewRect.size.width = NSWidth(oldViewRect) < NSWidth(minViewRect) || !sizableWidth ? NSWidth(minViewRect) : NSWidth(oldViewRect); 258 | oldViewRect.size.height = NSHeight(oldViewRect) < NSHeight(minViewRect) || !sizableHeight ? NSHeight(minViewRect) : NSHeight(oldViewRect); 259 | 260 | [controllerView setFrame:oldViewRect]; 261 | 262 | // Calculate new window size and position 263 | NSRect oldFrame = [self.window frame]; 264 | NSRect newFrame = [self.window frameRectForContentRect:oldViewRect]; 265 | newFrame = NSOffsetRect(newFrame, NSMinX(oldFrame), NSMaxY(oldFrame) - NSMaxY(newFrame)); 266 | 267 | // Setup min/max sizes and show/hide resize indicator 268 | [self.window setContentMinSize:minViewRect.size]; 269 | [self.window setContentMaxSize:NSMakeSize(sizableWidth ? CGFLOAT_MAX : NSWidth(oldViewRect), sizableHeight ? CGFLOAT_MAX : NSHeight(oldViewRect))]; 270 | [self.window setShowsResizeIndicator:sizableWidth || sizableHeight]; 271 | [[self.window standardWindowButton:NSWindowZoomButton] setEnabled:sizableWidth || sizableHeight]; 272 | 273 | [self.window setFrame:newFrame display:YES animate:[self.window isVisible]]; 274 | 275 | _selectedViewController = controller; 276 | 277 | // In OSX 10.10, setContentView below calls viewWillAppear. We still want to call viewWillAppear on < 10.10, 278 | // so the check below avoids calling viewWillAppear twice on 10.10. 279 | // See https://github.com/shpakovski/MASPreferences/issues/32 for more info. 280 | if (![NSViewController instancesRespondToSelector:@selector(viewWillAppear)]) 281 | if ([controller respondsToSelector:@selector(viewWillAppear)]) 282 | [controller viewWillAppear]; 283 | 284 | [self.window setContentView:controllerView]; 285 | [self.window recalculateKeyViewLoop]; 286 | if ([self.window firstResponder] == self.window) { 287 | if ([controller respondsToSelector:@selector(initialKeyView)]) 288 | [self.window makeFirstResponder:[controller initialKeyView]]; 289 | else 290 | [self.window selectKeyViewFollowingView:controllerView]; 291 | } 292 | 293 | // Insert view controller into responder chain on 10.9 and earlier 294 | if (controllerView.nextResponder != controller) { 295 | controller.nextResponder = controllerView.nextResponder; 296 | controllerView.nextResponder = controller; 297 | } 298 | 299 | [[NSNotificationCenter defaultCenter] postNotificationName:kMASPreferencesWindowControllerDidChangeViewNotification object:self]; 300 | } 301 | 302 | - (void)toolbarItemDidClick:(id)sender 303 | { 304 | if ([sender respondsToSelector:@selector(itemIdentifier)]) 305 | self.selectedViewController = [self viewControllerForIdentifier:[sender itemIdentifier]]; 306 | } 307 | 308 | #pragma mark - 309 | #pragma mark Public methods 310 | 311 | - (void)selectControllerAtIndex:(NSUInteger)controllerIndex 312 | { 313 | if (NSLocationInRange(controllerIndex, NSMakeRange(0, _viewControllers.count))) 314 | self.selectedViewController = [self.viewControllers objectAtIndex:controllerIndex]; 315 | } 316 | 317 | - (void)selectControllerWithIdentifier:(NSString *)identifier 318 | { 319 | NSParameterAssert(identifier.length > 0); 320 | self.selectedViewController = [self viewControllerForIdentifier:identifier]; 321 | } 322 | 323 | #pragma mark - 324 | #pragma mark Actions 325 | 326 | - (IBAction)goNextTab:(id __unused)sender 327 | { 328 | NSUInteger selectedIndex = self.indexOfSelectedController; 329 | NSUInteger numberOfControllers = [_viewControllers count]; 330 | 331 | do { selectedIndex = (selectedIndex + 1) % numberOfControllers; } 332 | while ([_viewControllers objectAtIndex:selectedIndex] == [NSNull null]); 333 | 334 | [self selectControllerAtIndex:selectedIndex]; 335 | } 336 | 337 | - (IBAction)goPreviousTab:(id __unused)sender 338 | { 339 | NSUInteger selectedIndex = self.indexOfSelectedController; 340 | NSUInteger numberOfControllers = [_viewControllers count]; 341 | 342 | do { selectedIndex = (selectedIndex + numberOfControllers - 1) % numberOfControllers; } 343 | while ([_viewControllers objectAtIndex:selectedIndex] == [NSNull null]); 344 | 345 | [self selectControllerAtIndex:selectedIndex]; 346 | } 347 | 348 | @end 349 | -------------------------------------------------------------------------------- /Pods/MASPreferences/Framework/en.lproj/MASPreferencesWindow.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1080 5 | 12E55 6 | 3084 7 | 1187.39 8 | 626.00 9 | 10 | com.apple.InterfaceBuilder.CocoaPlugin 11 | 3084 12 | 13 | 14 | YES 15 | NSCustomObject 16 | NSToolbar 17 | NSView 18 | NSWindowTemplate 19 | 20 | 21 | YES 22 | com.apple.InterfaceBuilder.CocoaPlugin 23 | 24 | 25 | PluginDependencyRecalculationVersion 26 | 27 | 28 | 29 | YES 30 | 31 | MASPreferencesWindowController 32 | 33 | 34 | FirstResponder 35 | 36 | 37 | NSApplication 38 | 39 | 40 | 11 41 | 2 42 | {{540, 400}, {360, 270}} 43 | 1618478080 44 | 45 | NSWindow 46 | 47 | 48 | A3419266-C6CB-4FAA-AB63-B91B70C196EA 49 | 50 | 51 | YES 52 | YES 53 | NO 54 | NO 55 | 1 56 | 1 57 | 58 | YES 59 | 60 | YES 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 256 72 | {360, 270} 73 | 74 | 75 | 76 | 77 | {{0, 0}, {2560, 1418}} 78 | {10000000000000, 10000000000000} 79 | 80 | YES 81 | 82 | 83 | 84 | 85 | YES 86 | 87 | 88 | window 89 | 90 | 91 | 92 | 3 93 | 94 | 95 | 96 | toolbar 97 | 98 | 99 | 100 | 23 101 | 102 | 103 | 104 | delegate 105 | 106 | 107 | 108 | 20 109 | 110 | 111 | 112 | delegate 113 | 114 | 115 | 116 | 22 117 | 118 | 119 | 120 | 121 | YES 122 | 123 | 0 124 | 125 | 126 | 127 | 128 | 129 | -2 130 | 131 | 132 | File's Owner 133 | 134 | 135 | -1 136 | 137 | 138 | First Responder 139 | 140 | 141 | -3 142 | 143 | 144 | Application 145 | 146 | 147 | 1 148 | 149 | 150 | YES 151 | 152 | 153 | 154 | 155 | 156 | 157 | 2 158 | 159 | 160 | 161 | 162 | 4 163 | 164 | 165 | YES 166 | 167 | 168 | 169 | 170 | 171 | 172 | YES 173 | 174 | YES 175 | -1.IBPluginDependency 176 | -2.IBPluginDependency 177 | -3.IBPluginDependency 178 | 1.IBNSWindowAutoPositionCentersHorizontal 179 | 1.IBNSWindowAutoPositionCentersVertical 180 | 1.IBPluginDependency 181 | 1.IBWindowTemplateEditedContentRect 182 | 1.NSWindowTemplate.visibleAtLaunch 183 | 2.IBPluginDependency 184 | 4.IBPluginDependency 185 | 186 | 187 | YES 188 | com.apple.InterfaceBuilder.CocoaPlugin 189 | com.apple.InterfaceBuilder.CocoaPlugin 190 | com.apple.InterfaceBuilder.CocoaPlugin 191 | 192 | 193 | com.apple.InterfaceBuilder.CocoaPlugin 194 | {{484, 402}, {360, 270}} 195 | 196 | com.apple.InterfaceBuilder.CocoaPlugin 197 | com.apple.InterfaceBuilder.CocoaPlugin 198 | 199 | 200 | 201 | YES 202 | 203 | 204 | 205 | 206 | 207 | YES 208 | 209 | 210 | 211 | 212 | 23 213 | 214 | 215 | 216 | YES 217 | 218 | MASPreferencesWindowController 219 | NSWindowController 220 | 221 | YES 222 | 223 | YES 224 | goNextTab: 225 | goPreviousTab: 226 | 227 | 228 | YES 229 | id 230 | id 231 | 232 | 233 | 234 | YES 235 | 236 | YES 237 | goNextTab: 238 | goPreviousTab: 239 | 240 | 241 | YES 242 | 243 | goNextTab: 244 | id 245 | 246 | 247 | goPreviousTab: 248 | id 249 | 250 | 251 | 252 | 253 | IBProjectSource 254 | ./Classes/MASPreferencesWindowController.h 255 | 256 | 257 | 258 | 259 | 0 260 | IBCocoaFramework 261 | 262 | com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 263 | 264 | 265 | YES 266 | 3 267 | 268 | 269 | -------------------------------------------------------------------------------- /Pods/MASPreferences/LICENSE.md: -------------------------------------------------------------------------------- 1 | MASPreferences is licensed under the 2-clause BSD license. 2 | 3 | Copyright (c) 2016 Vadim Shpakovski. All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | 1. Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | 2. Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 16 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 17 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 19 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 22 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /Pods/MASPreferences/README.md: -------------------------------------------------------------------------------- 1 | # MASPreferences 2 | 3 | This component is intended as a replacement for SS_PrefsController by Matt Legend Gemmell and Selectable Toolbar by Brandon Walkin. It is designed to use NSViewController subclasses for preference panes. 4 | 5 | # How to use 6 | 7 | You can find a Demo project at [MASPreferencesDemo](https://github.com/shpakovski/MASPreferencesDemo). 8 | 9 | # Install 10 | #### [Carthage](https://github.com/Carthage/Carthage) 11 | 12 | - Add `github "shpakovski/MASPreferences"` to your Cartfile. 13 | 14 | #### [CocoaPods](https://github.com/cocoapods/cocoapods) 15 | 16 | - Add `pod 'MASPreferences'` to your Podfile. 17 | -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - MASPreferences (1.3) 3 | 4 | DEPENDENCIES: 5 | - MASPreferences (from `https://github.com/shpakovski/MASPreferences`) 6 | 7 | EXTERNAL SOURCES: 8 | MASPreferences: 9 | :git: https://github.com/shpakovski/MASPreferences 10 | 11 | CHECKOUT OPTIONS: 12 | MASPreferences: 13 | :commit: 45e5ff67d19babc53414970b0a5db9586a494a96 14 | :git: https://github.com/shpakovski/MASPreferences 15 | 16 | SPEC CHECKSUMS: 17 | MASPreferences: c08b8622dd17b47da87669e741efd7c92e970e8c 18 | 19 | PODFILE CHECKSUM: eb817c6bf328544d366930e114880cfcbba6f606 20 | 21 | COCOAPODS: 1.3.1 22 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 17BC4E5C4AA4846EA352353A4E28331B /* MASPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = A57A905F27F64C309D11AF0CA37DB742 /* MASPreferences.h */; settings = {ATTRIBUTES = (Public, ); }; }; 11 | 3379F88353E50D3D3B28F246167898FA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 270DD1219F1E6CF00379D39F252D87C6 /* Cocoa.framework */; }; 12 | 3EF61CB213B434AEB8446F016F646859 /* MASPreferencesViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = D19D19FD24CF7895900E89FDCB3BBFE5 /* MASPreferencesViewController.h */; settings = {ATTRIBUTES = (Public, ); }; }; 13 | 439F89CD639A71A71AD9E4B01AA1C56F /* MASPreferencesWindowController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3A033EE6302CD6E19B2FDB09300BD595 /* MASPreferencesWindowController.h */; settings = {ATTRIBUTES = (Public, ); }; }; 14 | 4418F05CC4625892C589678BE34EFAEA /* MASPreferences-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C122C7A80D87A759324C517244372F7 /* MASPreferences-dummy.m */; }; 15 | 5B25FF131C30390C3F6FCBF6B3205AA3 /* Pods-Demo-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 03EA1E60232BFA05817BC26ACB8E68BA /* Pods-Demo-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 16 | 5B3F7712067D5891EC8AA5A6369F9976 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 270DD1219F1E6CF00379D39F252D87C6 /* Cocoa.framework */; }; 17 | 6F0EB76DA926EA1E1EC5F6835C693FF2 /* MASPreferencesWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = F900534815201957D3EA937E9B05E588 /* MASPreferencesWindow.xib */; }; 18 | 922DEFDA47FD30190CEC14776D71E546 /* MASPreferences-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D5E48DBF38E207A33DB0A53017483F01 /* MASPreferences-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; 19 | BCB43C29CFDB549F884B6561AC7DB552 /* Pods-Demo-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C5BC86D40B890A7B0844F888209CA06F /* Pods-Demo-dummy.m */; }; 20 | F9202D86D110AE06369DDB2C9B3A7C7D /* MASPreferencesWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 41024FB3B41F2C61C8BCB2EE26BBC977 /* MASPreferencesWindowController.m */; settings = {COMPILER_FLAGS = "-DOS_OBJECT_USE_OBJC=0"; }; }; 21 | /* End PBXBuildFile section */ 22 | 23 | /* Begin PBXContainerItemProxy section */ 24 | 3F8BDAF649DAA829F3D739EC600C7FCB /* PBXContainerItemProxy */ = { 25 | isa = PBXContainerItemProxy; 26 | containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 27 | proxyType = 1; 28 | remoteGlobalIDString = 00E7CE37D0436C982903DC596479469F; 29 | remoteInfo = MASPreferences; 30 | }; 31 | /* End PBXContainerItemProxy section */ 32 | 33 | /* Begin PBXFileReference section */ 34 | 03EA1E60232BFA05817BC26ACB8E68BA /* Pods-Demo-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-Demo-umbrella.h"; sourceTree = ""; }; 35 | 07066E35B35D4897F3A12C5A31BCC909 /* MASPreferences.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = MASPreferences.xcconfig; sourceTree = ""; }; 36 | 270DD1219F1E6CF00379D39F252D87C6 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; 37 | 322419E99883B306EE7EC77959FCC8DF /* Pods-Demo.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-Demo.modulemap"; sourceTree = ""; }; 38 | 335611192EAFE59AF7F7FC579508F75A /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 39 | 3A033EE6302CD6E19B2FDB09300BD595 /* MASPreferencesWindowController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASPreferencesWindowController.h; path = Framework/MASPreferencesWindowController.h; sourceTree = ""; }; 40 | 3CD5A30239C90F1B549B4AB9299ECF16 /* Pods-Demo-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Demo-frameworks.sh"; sourceTree = ""; }; 41 | 3D653C9DA16200D75AD14323AA830C6B /* Pods-Demo-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-Demo-resources.sh"; sourceTree = ""; }; 42 | 41024FB3B41F2C61C8BCB2EE26BBC977 /* MASPreferencesWindowController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = MASPreferencesWindowController.m; path = Framework/MASPreferencesWindowController.m; sourceTree = ""; }; 43 | 4C122C7A80D87A759324C517244372F7 /* MASPreferences-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "MASPreferences-dummy.m"; sourceTree = ""; }; 44 | 5B6D50C2B37F44D9E34A887670AF710B /* MASPreferences.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MASPreferences.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 45 | 5FE0A5CE5B86024D2A86D4D481FCEA88 /* MASPreferences.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = MASPreferences.modulemap; sourceTree = ""; }; 46 | 60162CC165ED4AB6D0317F170858DB3E /* MASPreferences-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASPreferences-prefix.pch"; sourceTree = ""; }; 47 | 71940C1CEB7995DC34CFE54CAF1AEF88 /* Pods-Demo-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-Demo-acknowledgements.markdown"; sourceTree = ""; }; 48 | 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 49 | A57A905F27F64C309D11AF0CA37DB742 /* MASPreferences.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASPreferences.h; path = Framework/MASPreferences.h; sourceTree = ""; }; 50 | B6339B7DCBB1FF2B8501DBA96DCFBEEA /* MASPreferencesWindow.xib */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = file.xib; name = MASPreferencesWindow.xib; path = en.lproj/MASPreferencesWindow.xib; sourceTree = ""; }; 51 | C5BC86D40B890A7B0844F888209CA06F /* Pods-Demo-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-Demo-dummy.m"; sourceTree = ""; }; 52 | CA19694C0AC41D598DE4ABFEB300E619 /* Pods-Demo-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-Demo-acknowledgements.plist"; sourceTree = ""; }; 53 | CB2EB263EB701B2909D2A4C571E176B8 /* Pods_Demo.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Demo.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 54 | CC6A59B0ADA6CB2F51DAE6508E437829 /* Pods-Demo.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Demo.debug.xcconfig"; sourceTree = ""; }; 55 | D19D19FD24CF7895900E89FDCB3BBFE5 /* MASPreferencesViewController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = MASPreferencesViewController.h; path = Framework/MASPreferencesViewController.h; sourceTree = ""; }; 56 | D5E48DBF38E207A33DB0A53017483F01 /* MASPreferences-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "MASPreferences-umbrella.h"; sourceTree = ""; }; 57 | DAB0701F8F25395B1ED46510ED4B9797 /* Pods-Demo.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-Demo.release.xcconfig"; sourceTree = ""; }; 58 | E68F8C86FB3267A3C87983DA9E269889 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 59 | /* End PBXFileReference section */ 60 | 61 | /* Begin PBXFrameworksBuildPhase section */ 62 | 7A09F6C0D33D079D70E5F488D0329D49 /* Frameworks */ = { 63 | isa = PBXFrameworksBuildPhase; 64 | buildActionMask = 2147483647; 65 | files = ( 66 | 5B3F7712067D5891EC8AA5A6369F9976 /* Cocoa.framework in Frameworks */, 67 | ); 68 | runOnlyForDeploymentPostprocessing = 0; 69 | }; 70 | F54539D0A6D2B9DED333275B06A3D6E8 /* Frameworks */ = { 71 | isa = PBXFrameworksBuildPhase; 72 | buildActionMask = 2147483647; 73 | files = ( 74 | 3379F88353E50D3D3B28F246167898FA /* Cocoa.framework in Frameworks */, 75 | ); 76 | runOnlyForDeploymentPostprocessing = 0; 77 | }; 78 | /* End PBXFrameworksBuildPhase section */ 79 | 80 | /* Begin PBXGroup section */ 81 | 04C068A18C5413F804A2959126093416 /* OS X */ = { 82 | isa = PBXGroup; 83 | children = ( 84 | 270DD1219F1E6CF00379D39F252D87C6 /* Cocoa.framework */, 85 | ); 86 | name = "OS X"; 87 | sourceTree = ""; 88 | }; 89 | 066CF0022047C0604C43BB7CC6A3166D /* Products */ = { 90 | isa = PBXGroup; 91 | children = ( 92 | 5B6D50C2B37F44D9E34A887670AF710B /* MASPreferences.framework */, 93 | CB2EB263EB701B2909D2A4C571E176B8 /* Pods_Demo.framework */, 94 | ); 95 | name = Products; 96 | sourceTree = ""; 97 | }; 98 | 39E9EE8210D861DFD82346C1F5EB7218 /* Frameworks */ = { 99 | isa = PBXGroup; 100 | children = ( 101 | 04C068A18C5413F804A2959126093416 /* OS X */, 102 | ); 103 | name = Frameworks; 104 | sourceTree = ""; 105 | }; 106 | 52AEF2F0DBFCA581ADCBF7970AE76792 /* Support Files */ = { 107 | isa = PBXGroup; 108 | children = ( 109 | 335611192EAFE59AF7F7FC579508F75A /* Info.plist */, 110 | 5FE0A5CE5B86024D2A86D4D481FCEA88 /* MASPreferences.modulemap */, 111 | 07066E35B35D4897F3A12C5A31BCC909 /* MASPreferences.xcconfig */, 112 | 4C122C7A80D87A759324C517244372F7 /* MASPreferences-dummy.m */, 113 | 60162CC165ED4AB6D0317F170858DB3E /* MASPreferences-prefix.pch */, 114 | D5E48DBF38E207A33DB0A53017483F01 /* MASPreferences-umbrella.h */, 115 | ); 116 | name = "Support Files"; 117 | path = "../Target Support Files/MASPreferences"; 118 | sourceTree = ""; 119 | }; 120 | 566EC06ECB8D2469A9D3EC23CEEBA31F /* MASPreferences */ = { 121 | isa = PBXGroup; 122 | children = ( 123 | A57A905F27F64C309D11AF0CA37DB742 /* MASPreferences.h */, 124 | D19D19FD24CF7895900E89FDCB3BBFE5 /* MASPreferencesViewController.h */, 125 | 3A033EE6302CD6E19B2FDB09300BD595 /* MASPreferencesWindowController.h */, 126 | 41024FB3B41F2C61C8BCB2EE26BBC977 /* MASPreferencesWindowController.m */, 127 | EBB2BC8ED7BBAA39922D36631C948D20 /* Resources */, 128 | 52AEF2F0DBFCA581ADCBF7970AE76792 /* Support Files */, 129 | ); 130 | path = MASPreferences; 131 | sourceTree = ""; 132 | }; 133 | 6F2351C272926D3E0225FEFC2F9C5D1F /* Targets Support Files */ = { 134 | isa = PBXGroup; 135 | children = ( 136 | ECC58720C5754A079F9A150E40E2FCDD /* Pods-Demo */, 137 | ); 138 | name = "Targets Support Files"; 139 | sourceTree = ""; 140 | }; 141 | 7DB346D0F39D3F0E887471402A8071AB = { 142 | isa = PBXGroup; 143 | children = ( 144 | 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, 145 | 39E9EE8210D861DFD82346C1F5EB7218 /* Frameworks */, 146 | 8E40C43BD253FEE48DE681C9EC8BFE02 /* Pods */, 147 | 066CF0022047C0604C43BB7CC6A3166D /* Products */, 148 | 6F2351C272926D3E0225FEFC2F9C5D1F /* Targets Support Files */, 149 | ); 150 | sourceTree = ""; 151 | }; 152 | 8E40C43BD253FEE48DE681C9EC8BFE02 /* Pods */ = { 153 | isa = PBXGroup; 154 | children = ( 155 | 566EC06ECB8D2469A9D3EC23CEEBA31F /* MASPreferences */, 156 | ); 157 | name = Pods; 158 | sourceTree = ""; 159 | }; 160 | EBB2BC8ED7BBAA39922D36631C948D20 /* Resources */ = { 161 | isa = PBXGroup; 162 | children = ( 163 | F900534815201957D3EA937E9B05E588 /* MASPreferencesWindow.xib */, 164 | ); 165 | name = Resources; 166 | sourceTree = ""; 167 | }; 168 | ECC58720C5754A079F9A150E40E2FCDD /* Pods-Demo */ = { 169 | isa = PBXGroup; 170 | children = ( 171 | E68F8C86FB3267A3C87983DA9E269889 /* Info.plist */, 172 | 322419E99883B306EE7EC77959FCC8DF /* Pods-Demo.modulemap */, 173 | 71940C1CEB7995DC34CFE54CAF1AEF88 /* Pods-Demo-acknowledgements.markdown */, 174 | CA19694C0AC41D598DE4ABFEB300E619 /* Pods-Demo-acknowledgements.plist */, 175 | C5BC86D40B890A7B0844F888209CA06F /* Pods-Demo-dummy.m */, 176 | 3CD5A30239C90F1B549B4AB9299ECF16 /* Pods-Demo-frameworks.sh */, 177 | 3D653C9DA16200D75AD14323AA830C6B /* Pods-Demo-resources.sh */, 178 | 03EA1E60232BFA05817BC26ACB8E68BA /* Pods-Demo-umbrella.h */, 179 | CC6A59B0ADA6CB2F51DAE6508E437829 /* Pods-Demo.debug.xcconfig */, 180 | DAB0701F8F25395B1ED46510ED4B9797 /* Pods-Demo.release.xcconfig */, 181 | ); 182 | name = "Pods-Demo"; 183 | path = "Target Support Files/Pods-Demo"; 184 | sourceTree = ""; 185 | }; 186 | /* End PBXGroup section */ 187 | 188 | /* Begin PBXHeadersBuildPhase section */ 189 | C64BC750B14637753DFC44BDAFA5B7D1 /* Headers */ = { 190 | isa = PBXHeadersBuildPhase; 191 | buildActionMask = 2147483647; 192 | files = ( 193 | 922DEFDA47FD30190CEC14776D71E546 /* MASPreferences-umbrella.h in Headers */, 194 | 17BC4E5C4AA4846EA352353A4E28331B /* MASPreferences.h in Headers */, 195 | 3EF61CB213B434AEB8446F016F646859 /* MASPreferencesViewController.h in Headers */, 196 | 439F89CD639A71A71AD9E4B01AA1C56F /* MASPreferencesWindowController.h in Headers */, 197 | ); 198 | runOnlyForDeploymentPostprocessing = 0; 199 | }; 200 | D070A8CA99F0B9E111D1A04BE7F54344 /* Headers */ = { 201 | isa = PBXHeadersBuildPhase; 202 | buildActionMask = 2147483647; 203 | files = ( 204 | 5B25FF131C30390C3F6FCBF6B3205AA3 /* Pods-Demo-umbrella.h in Headers */, 205 | ); 206 | runOnlyForDeploymentPostprocessing = 0; 207 | }; 208 | /* End PBXHeadersBuildPhase section */ 209 | 210 | /* Begin PBXNativeTarget section */ 211 | 00E7CE37D0436C982903DC596479469F /* MASPreferences */ = { 212 | isa = PBXNativeTarget; 213 | buildConfigurationList = 075389948F418388C5C859D4F13F3195 /* Build configuration list for PBXNativeTarget "MASPreferences" */; 214 | buildPhases = ( 215 | D420D52DC145310F37657388CD7FBAAA /* Sources */, 216 | F54539D0A6D2B9DED333275B06A3D6E8 /* Frameworks */, 217 | C64BC750B14637753DFC44BDAFA5B7D1 /* Headers */, 218 | 2EE54216E6A7C39EE52C790CAAAE4BA1 /* Resources */, 219 | ); 220 | buildRules = ( 221 | ); 222 | dependencies = ( 223 | ); 224 | name = MASPreferences; 225 | productName = MASPreferences; 226 | productReference = 5B6D50C2B37F44D9E34A887670AF710B /* MASPreferences.framework */; 227 | productType = "com.apple.product-type.framework"; 228 | }; 229 | F93A59F8F1C00BC2364BA29C17637397 /* Pods-Demo */ = { 230 | isa = PBXNativeTarget; 231 | buildConfigurationList = 3D7A6782BADFFE7A016A702B4AD0C8B4 /* Build configuration list for PBXNativeTarget "Pods-Demo" */; 232 | buildPhases = ( 233 | ADBF974CA555A9C6DEF626DDB238588A /* Sources */, 234 | 7A09F6C0D33D079D70E5F488D0329D49 /* Frameworks */, 235 | D070A8CA99F0B9E111D1A04BE7F54344 /* Headers */, 236 | ); 237 | buildRules = ( 238 | ); 239 | dependencies = ( 240 | 3DE13D179C87C8F3F34AA9F3F7B94838 /* PBXTargetDependency */, 241 | ); 242 | name = "Pods-Demo"; 243 | productName = "Pods-Demo"; 244 | productReference = CB2EB263EB701B2909D2A4C571E176B8 /* Pods_Demo.framework */; 245 | productType = "com.apple.product-type.framework"; 246 | }; 247 | /* End PBXNativeTarget section */ 248 | 249 | /* Begin PBXProject section */ 250 | D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { 251 | isa = PBXProject; 252 | attributes = { 253 | LastSwiftUpdateCheck = 0830; 254 | LastUpgradeCheck = 0900; 255 | }; 256 | buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; 257 | compatibilityVersion = "Xcode 3.2"; 258 | developmentRegion = English; 259 | hasScannedForEncodings = 0; 260 | knownRegions = ( 261 | en, 262 | ); 263 | mainGroup = 7DB346D0F39D3F0E887471402A8071AB; 264 | productRefGroup = 066CF0022047C0604C43BB7CC6A3166D /* Products */; 265 | projectDirPath = ""; 266 | projectRoot = ""; 267 | targets = ( 268 | 00E7CE37D0436C982903DC596479469F /* MASPreferences */, 269 | F93A59F8F1C00BC2364BA29C17637397 /* Pods-Demo */, 270 | ); 271 | }; 272 | /* End PBXProject section */ 273 | 274 | /* Begin PBXResourcesBuildPhase section */ 275 | 2EE54216E6A7C39EE52C790CAAAE4BA1 /* Resources */ = { 276 | isa = PBXResourcesBuildPhase; 277 | buildActionMask = 2147483647; 278 | files = ( 279 | 6F0EB76DA926EA1E1EC5F6835C693FF2 /* MASPreferencesWindow.xib in Resources */, 280 | ); 281 | runOnlyForDeploymentPostprocessing = 0; 282 | }; 283 | /* End PBXResourcesBuildPhase section */ 284 | 285 | /* Begin PBXSourcesBuildPhase section */ 286 | ADBF974CA555A9C6DEF626DDB238588A /* Sources */ = { 287 | isa = PBXSourcesBuildPhase; 288 | buildActionMask = 2147483647; 289 | files = ( 290 | BCB43C29CFDB549F884B6561AC7DB552 /* Pods-Demo-dummy.m in Sources */, 291 | ); 292 | runOnlyForDeploymentPostprocessing = 0; 293 | }; 294 | D420D52DC145310F37657388CD7FBAAA /* Sources */ = { 295 | isa = PBXSourcesBuildPhase; 296 | buildActionMask = 2147483647; 297 | files = ( 298 | 4418F05CC4625892C589678BE34EFAEA /* MASPreferences-dummy.m in Sources */, 299 | F9202D86D110AE06369DDB2C9B3A7C7D /* MASPreferencesWindowController.m in Sources */, 300 | ); 301 | runOnlyForDeploymentPostprocessing = 0; 302 | }; 303 | /* End PBXSourcesBuildPhase section */ 304 | 305 | /* Begin PBXTargetDependency section */ 306 | 3DE13D179C87C8F3F34AA9F3F7B94838 /* PBXTargetDependency */ = { 307 | isa = PBXTargetDependency; 308 | name = MASPreferences; 309 | target = 00E7CE37D0436C982903DC596479469F /* MASPreferences */; 310 | targetProxy = 3F8BDAF649DAA829F3D739EC600C7FCB /* PBXContainerItemProxy */; 311 | }; 312 | /* End PBXTargetDependency section */ 313 | 314 | /* Begin PBXVariantGroup section */ 315 | F900534815201957D3EA937E9B05E588 /* MASPreferencesWindow.xib */ = { 316 | isa = PBXVariantGroup; 317 | children = ( 318 | B6339B7DCBB1FF2B8501DBA96DCFBEEA /* MASPreferencesWindow.xib */, 319 | ); 320 | name = MASPreferencesWindow.xib; 321 | path = Framework; 322 | sourceTree = ""; 323 | }; 324 | /* End PBXVariantGroup section */ 325 | 326 | /* Begin XCBuildConfiguration section */ 327 | 01EFCA012B394942298EB9749A9B0E5E /* Release */ = { 328 | isa = XCBuildConfiguration; 329 | buildSettings = { 330 | ALWAYS_SEARCH_USER_PATHS = NO; 331 | CLANG_ANALYZER_NONNULL = YES; 332 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; 333 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 334 | CLANG_CXX_LIBRARY = "libc++"; 335 | CLANG_ENABLE_MODULES = YES; 336 | CLANG_ENABLE_OBJC_ARC = YES; 337 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 338 | CLANG_WARN_BOOL_CONVERSION = YES; 339 | CLANG_WARN_COMMA = YES; 340 | CLANG_WARN_CONSTANT_CONVERSION = YES; 341 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; 342 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 343 | CLANG_WARN_EMPTY_BODY = YES; 344 | CLANG_WARN_ENUM_CONVERSION = YES; 345 | CLANG_WARN_INFINITE_RECURSION = YES; 346 | CLANG_WARN_INT_CONVERSION = YES; 347 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 348 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 349 | CLANG_WARN_OBJC_ROOT_CLASS = YES; 350 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 351 | CLANG_WARN_STRICT_PROTOTYPES = YES; 352 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 353 | CLANG_WARN_UNREACHABLE_CODE = YES; 354 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 355 | CODE_SIGNING_REQUIRED = NO; 356 | COPY_PHASE_STRIP = YES; 357 | ENABLE_NS_ASSERTIONS = NO; 358 | ENABLE_STRICT_OBJC_MSGSEND = YES; 359 | GCC_C_LANGUAGE_STANDARD = gnu99; 360 | GCC_NO_COMMON_BLOCKS = YES; 361 | GCC_PREPROCESSOR_DEFINITIONS = ( 362 | "POD_CONFIGURATION_RELEASE=1", 363 | "$(inherited)", 364 | ); 365 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 366 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 367 | GCC_WARN_UNDECLARED_SELECTOR = YES; 368 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 369 | GCC_WARN_UNUSED_FUNCTION = YES; 370 | GCC_WARN_UNUSED_VARIABLE = YES; 371 | MACOSX_DEPLOYMENT_TARGET = 10.6; 372 | PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; 373 | STRIP_INSTALLED_PRODUCT = NO; 374 | SYMROOT = "${SRCROOT}/../build"; 375 | VALIDATE_PRODUCT = YES; 376 | }; 377 | name = Release; 378 | }; 379 | 65B96DA2B2DC17682B63CD94B51C92F0 /* Debug */ = { 380 | isa = XCBuildConfiguration; 381 | baseConfigurationReference = 07066E35B35D4897F3A12C5A31BCC909 /* MASPreferences.xcconfig */; 382 | buildSettings = { 383 | CODE_SIGN_IDENTITY = "-"; 384 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 385 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 386 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 387 | COMBINE_HIDPI_IMAGES = YES; 388 | CURRENT_PROJECT_VERSION = 1; 389 | DEBUG_INFORMATION_FORMAT = dwarf; 390 | DEFINES_MODULE = YES; 391 | DYLIB_COMPATIBILITY_VERSION = 1; 392 | DYLIB_CURRENT_VERSION = 1; 393 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 394 | ENABLE_STRICT_OBJC_MSGSEND = YES; 395 | FRAMEWORK_VERSION = A; 396 | GCC_NO_COMMON_BLOCKS = YES; 397 | GCC_PREFIX_HEADER = "Target Support Files/MASPreferences/MASPreferences-prefix.pch"; 398 | INFOPLIST_FILE = "Target Support Files/MASPreferences/Info.plist"; 399 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 400 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; 401 | MACOSX_DEPLOYMENT_TARGET = 10.6; 402 | MODULEMAP_FILE = "Target Support Files/MASPreferences/MASPreferences.modulemap"; 403 | MTL_ENABLE_DEBUG_INFO = YES; 404 | PRODUCT_NAME = MASPreferences; 405 | SDKROOT = macosx; 406 | SKIP_INSTALL = YES; 407 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 408 | VERSIONING_SYSTEM = "apple-generic"; 409 | VERSION_INFO_PREFIX = ""; 410 | }; 411 | name = Debug; 412 | }; 413 | 74DE73B6BDD77476A2800B45A918E981 /* Debug */ = { 414 | isa = XCBuildConfiguration; 415 | buildSettings = { 416 | ALWAYS_SEARCH_USER_PATHS = NO; 417 | CLANG_ANALYZER_NONNULL = YES; 418 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; 419 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 420 | CLANG_CXX_LIBRARY = "libc++"; 421 | CLANG_ENABLE_MODULES = YES; 422 | CLANG_ENABLE_OBJC_ARC = YES; 423 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 424 | CLANG_WARN_BOOL_CONVERSION = YES; 425 | CLANG_WARN_COMMA = YES; 426 | CLANG_WARN_CONSTANT_CONVERSION = YES; 427 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; 428 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 429 | CLANG_WARN_EMPTY_BODY = YES; 430 | CLANG_WARN_ENUM_CONVERSION = YES; 431 | CLANG_WARN_INFINITE_RECURSION = YES; 432 | CLANG_WARN_INT_CONVERSION = YES; 433 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 434 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 435 | CLANG_WARN_OBJC_ROOT_CLASS = YES; 436 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 437 | CLANG_WARN_STRICT_PROTOTYPES = YES; 438 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 439 | CLANG_WARN_UNREACHABLE_CODE = YES; 440 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 441 | CODE_SIGNING_REQUIRED = NO; 442 | COPY_PHASE_STRIP = NO; 443 | ENABLE_STRICT_OBJC_MSGSEND = YES; 444 | ENABLE_TESTABILITY = YES; 445 | GCC_C_LANGUAGE_STANDARD = gnu99; 446 | GCC_DYNAMIC_NO_PIC = NO; 447 | GCC_NO_COMMON_BLOCKS = YES; 448 | GCC_OPTIMIZATION_LEVEL = 0; 449 | GCC_PREPROCESSOR_DEFINITIONS = ( 450 | "POD_CONFIGURATION_DEBUG=1", 451 | "DEBUG=1", 452 | "$(inherited)", 453 | ); 454 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 455 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 456 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 457 | GCC_WARN_UNDECLARED_SELECTOR = YES; 458 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 459 | GCC_WARN_UNUSED_FUNCTION = YES; 460 | GCC_WARN_UNUSED_VARIABLE = YES; 461 | MACOSX_DEPLOYMENT_TARGET = 10.6; 462 | ONLY_ACTIVE_ARCH = YES; 463 | PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; 464 | STRIP_INSTALLED_PRODUCT = NO; 465 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; 466 | SYMROOT = "${SRCROOT}/../build"; 467 | }; 468 | name = Debug; 469 | }; 470 | C0E35F008C516E6FC7A413B0164B8C2F /* Release */ = { 471 | isa = XCBuildConfiguration; 472 | baseConfigurationReference = DAB0701F8F25395B1ED46510ED4B9797 /* Pods-Demo.release.xcconfig */; 473 | buildSettings = { 474 | CODE_SIGN_IDENTITY = "-"; 475 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 476 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 477 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 478 | COMBINE_HIDPI_IMAGES = YES; 479 | CURRENT_PROJECT_VERSION = 1; 480 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 481 | DEFINES_MODULE = YES; 482 | DYLIB_COMPATIBILITY_VERSION = 1; 483 | DYLIB_CURRENT_VERSION = 1; 484 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 485 | ENABLE_STRICT_OBJC_MSGSEND = YES; 486 | FRAMEWORK_VERSION = A; 487 | GCC_NO_COMMON_BLOCKS = YES; 488 | INFOPLIST_FILE = "Target Support Files/Pods-Demo/Info.plist"; 489 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 490 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; 491 | MACH_O_TYPE = staticlib; 492 | MACOSX_DEPLOYMENT_TARGET = 10.6; 493 | MODULEMAP_FILE = "Target Support Files/Pods-Demo/Pods-Demo.modulemap"; 494 | MTL_ENABLE_DEBUG_INFO = NO; 495 | OTHER_LDFLAGS = ""; 496 | OTHER_LIBTOOLFLAGS = ""; 497 | PODS_ROOT = "$(SRCROOT)"; 498 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 499 | PRODUCT_NAME = Pods_Demo; 500 | SDKROOT = macosx; 501 | SKIP_INSTALL = YES; 502 | VERSIONING_SYSTEM = "apple-generic"; 503 | VERSION_INFO_PREFIX = ""; 504 | }; 505 | name = Release; 506 | }; 507 | D9E9905F29A924FF94EF59C4536B0D99 /* Debug */ = { 508 | isa = XCBuildConfiguration; 509 | baseConfigurationReference = CC6A59B0ADA6CB2F51DAE6508E437829 /* Pods-Demo.debug.xcconfig */; 510 | buildSettings = { 511 | CODE_SIGN_IDENTITY = "-"; 512 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 513 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 514 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 515 | COMBINE_HIDPI_IMAGES = YES; 516 | CURRENT_PROJECT_VERSION = 1; 517 | DEBUG_INFORMATION_FORMAT = dwarf; 518 | DEFINES_MODULE = YES; 519 | DYLIB_COMPATIBILITY_VERSION = 1; 520 | DYLIB_CURRENT_VERSION = 1; 521 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 522 | ENABLE_STRICT_OBJC_MSGSEND = YES; 523 | FRAMEWORK_VERSION = A; 524 | GCC_NO_COMMON_BLOCKS = YES; 525 | INFOPLIST_FILE = "Target Support Files/Pods-Demo/Info.plist"; 526 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 527 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; 528 | MACH_O_TYPE = staticlib; 529 | MACOSX_DEPLOYMENT_TARGET = 10.6; 530 | MODULEMAP_FILE = "Target Support Files/Pods-Demo/Pods-Demo.modulemap"; 531 | MTL_ENABLE_DEBUG_INFO = YES; 532 | OTHER_LDFLAGS = ""; 533 | OTHER_LIBTOOLFLAGS = ""; 534 | PODS_ROOT = "$(SRCROOT)"; 535 | PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; 536 | PRODUCT_NAME = Pods_Demo; 537 | SDKROOT = macosx; 538 | SKIP_INSTALL = YES; 539 | VERSIONING_SYSTEM = "apple-generic"; 540 | VERSION_INFO_PREFIX = ""; 541 | }; 542 | name = Debug; 543 | }; 544 | F7A0515C305EDFA13FCF1C09ED562591 /* Release */ = { 545 | isa = XCBuildConfiguration; 546 | baseConfigurationReference = 07066E35B35D4897F3A12C5A31BCC909 /* MASPreferences.xcconfig */; 547 | buildSettings = { 548 | CODE_SIGN_IDENTITY = "-"; 549 | "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; 550 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; 551 | "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; 552 | COMBINE_HIDPI_IMAGES = YES; 553 | CURRENT_PROJECT_VERSION = 1; 554 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 555 | DEFINES_MODULE = YES; 556 | DYLIB_COMPATIBILITY_VERSION = 1; 557 | DYLIB_CURRENT_VERSION = 1; 558 | DYLIB_INSTALL_NAME_BASE = "@rpath"; 559 | ENABLE_STRICT_OBJC_MSGSEND = YES; 560 | FRAMEWORK_VERSION = A; 561 | GCC_NO_COMMON_BLOCKS = YES; 562 | GCC_PREFIX_HEADER = "Target Support Files/MASPreferences/MASPreferences-prefix.pch"; 563 | INFOPLIST_FILE = "Target Support Files/MASPreferences/Info.plist"; 564 | INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; 565 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks"; 566 | MACOSX_DEPLOYMENT_TARGET = 10.6; 567 | MODULEMAP_FILE = "Target Support Files/MASPreferences/MASPreferences.modulemap"; 568 | MTL_ENABLE_DEBUG_INFO = NO; 569 | PRODUCT_NAME = MASPreferences; 570 | SDKROOT = macosx; 571 | SKIP_INSTALL = YES; 572 | SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; 573 | VERSIONING_SYSTEM = "apple-generic"; 574 | VERSION_INFO_PREFIX = ""; 575 | }; 576 | name = Release; 577 | }; 578 | /* End XCBuildConfiguration section */ 579 | 580 | /* Begin XCConfigurationList section */ 581 | 075389948F418388C5C859D4F13F3195 /* Build configuration list for PBXNativeTarget "MASPreferences" */ = { 582 | isa = XCConfigurationList; 583 | buildConfigurations = ( 584 | 65B96DA2B2DC17682B63CD94B51C92F0 /* Debug */, 585 | F7A0515C305EDFA13FCF1C09ED562591 /* Release */, 586 | ); 587 | defaultConfigurationIsVisible = 0; 588 | defaultConfigurationName = Release; 589 | }; 590 | 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { 591 | isa = XCConfigurationList; 592 | buildConfigurations = ( 593 | 74DE73B6BDD77476A2800B45A918E981 /* Debug */, 594 | 01EFCA012B394942298EB9749A9B0E5E /* Release */, 595 | ); 596 | defaultConfigurationIsVisible = 0; 597 | defaultConfigurationName = Release; 598 | }; 599 | 3D7A6782BADFFE7A016A702B4AD0C8B4 /* Build configuration list for PBXNativeTarget "Pods-Demo" */ = { 600 | isa = XCConfigurationList; 601 | buildConfigurations = ( 602 | D9E9905F29A924FF94EF59C4536B0D99 /* Debug */, 603 | C0E35F008C516E6FC7A413B0164B8C2F /* Release */, 604 | ); 605 | defaultConfigurationIsVisible = 0; 606 | defaultConfigurationName = Release; 607 | }; 608 | /* End XCConfigurationList section */ 609 | }; 610 | rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; 611 | } 612 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MASPreferences/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.3.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MASPreferences/MASPreferences-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_MASPreferences : NSObject 3 | @end 4 | @implementation PodsDummy_MASPreferences 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MASPreferences/MASPreferences-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MASPreferences/MASPreferences-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "MASPreferences.h" 14 | #import "MASPreferencesViewController.h" 15 | #import "MASPreferencesWindowController.h" 16 | 17 | FOUNDATION_EXPORT double MASPreferencesVersionNumber; 18 | FOUNDATION_EXPORT const unsigned char MASPreferencesVersionString[]; 19 | 20 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MASPreferences/MASPreferences.modulemap: -------------------------------------------------------------------------------- 1 | framework module MASPreferences { 2 | umbrella header "MASPreferences-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/MASPreferences/MASPreferences.xcconfig: -------------------------------------------------------------------------------- 1 | CODE_SIGN_IDENTITY = 2 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/MASPreferences 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/MASPreferences 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Demo/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Demo/Pods-Demo-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## MASPreferences 5 | 6 | MASPreferences is licensed under the 2-clause BSD license. 7 | 8 | Copyright (c) 2016 Vadim Shpakovski. All rights reserved. 9 | 10 | Redistribution and use in source and binary forms, with or without 11 | modification, are permitted provided that the following conditions are met: 12 | 13 | 1. Redistributions of source code must retain the above copyright notice, this 14 | list of conditions and the following disclaimer. 15 | 16 | 2. Redistributions in binary form must reproduce the above copyright notice, 17 | this list of conditions and the following disclaimer in the documentation 18 | and/or other materials provided with the distribution. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 21 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 24 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 27 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 28 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 29 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | 31 | Generated by CocoaPods - https://cocoapods.org 32 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Demo/Pods-Demo-acknowledgements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreferenceSpecifiers 6 | 7 | 8 | FooterText 9 | This application makes use of the following third party libraries: 10 | Title 11 | Acknowledgements 12 | Type 13 | PSGroupSpecifier 14 | 15 | 16 | FooterText 17 | MASPreferences is licensed under the 2-clause BSD license. 18 | 19 | Copyright (c) 2016 Vadim Shpakovski. All rights reserved. 20 | 21 | Redistribution and use in source and binary forms, with or without 22 | modification, are permitted provided that the following conditions are met: 23 | 24 | 1. Redistributions of source code must retain the above copyright notice, this 25 | list of conditions and the following disclaimer. 26 | 27 | 2. Redistributions in binary form must reproduce the above copyright notice, 28 | this list of conditions and the following disclaimer in the documentation 29 | and/or other materials provided with the distribution. 30 | 31 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 32 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 33 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 34 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 35 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 36 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 37 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 38 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 39 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 40 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 41 | 42 | License 43 | BSD 44 | Title 45 | MASPreferences 46 | Type 47 | PSGroupSpecifier 48 | 49 | 50 | FooterText 51 | Generated by CocoaPods - https://cocoapods.org 52 | Title 53 | 54 | Type 55 | PSGroupSpecifier 56 | 57 | 58 | StringsTable 59 | Acknowledgements 60 | Title 61 | Acknowledgements 62 | 63 | 64 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Demo/Pods-Demo-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_Demo : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_Demo 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Demo/Pods-Demo-frameworks.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 5 | mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 6 | 7 | SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" 8 | 9 | # This protects against multiple targets copying the same framework dependency at the same time. The solution 10 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html 11 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") 12 | 13 | install_framework() 14 | { 15 | if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then 16 | local source="${BUILT_PRODUCTS_DIR}/$1" 17 | elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then 18 | local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" 19 | elif [ -r "$1" ]; then 20 | local source="$1" 21 | fi 22 | 23 | local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 24 | 25 | if [ -L "${source}" ]; then 26 | echo "Symlinked..." 27 | source="$(readlink "${source}")" 28 | fi 29 | 30 | # Use filter instead of exclude so missing patterns don't throw errors. 31 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" 32 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" 33 | 34 | local basename 35 | basename="$(basename -s .framework "$1")" 36 | binary="${destination}/${basename}.framework/${basename}" 37 | if ! [ -r "$binary" ]; then 38 | binary="${destination}/${basename}" 39 | fi 40 | 41 | # Strip invalid architectures so "fat" simulator / device frameworks work on device 42 | if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then 43 | strip_invalid_archs "$binary" 44 | fi 45 | 46 | # Resign the code if required by the build settings to avoid unstable apps 47 | code_sign_if_enabled "${destination}/$(basename "$1")" 48 | 49 | # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. 50 | if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then 51 | local swift_runtime_libs 52 | swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) 53 | for lib in $swift_runtime_libs; do 54 | echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" 55 | rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" 56 | code_sign_if_enabled "${destination}/${lib}" 57 | done 58 | fi 59 | } 60 | 61 | # Copies the dSYM of a vendored framework 62 | install_dsym() { 63 | local source="$1" 64 | if [ -r "$source" ]; then 65 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DWARF_DSYM_FOLDER_PATH}\"" 66 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DWARF_DSYM_FOLDER_PATH}" 67 | fi 68 | } 69 | 70 | # Signs a framework with the provided identity 71 | code_sign_if_enabled() { 72 | if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then 73 | # Use the current code_sign_identitiy 74 | echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" 75 | local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" 76 | 77 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then 78 | code_sign_cmd="$code_sign_cmd &" 79 | fi 80 | echo "$code_sign_cmd" 81 | eval "$code_sign_cmd" 82 | fi 83 | } 84 | 85 | # Strip invalid architectures 86 | strip_invalid_archs() { 87 | binary="$1" 88 | # Get architectures for current file 89 | archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" 90 | stripped="" 91 | for arch in $archs; do 92 | if ! [[ "${ARCHS}" == *"$arch"* ]]; then 93 | # Strip non-valid architectures in-place 94 | lipo -remove "$arch" -output "$binary" "$binary" || exit 1 95 | stripped="$stripped $arch" 96 | fi 97 | done 98 | if [[ "$stripped" ]]; then 99 | echo "Stripped $binary of architectures:$stripped" 100 | fi 101 | } 102 | 103 | 104 | if [[ "$CONFIGURATION" == "Debug" ]]; then 105 | install_framework "${BUILT_PRODUCTS_DIR}/MASPreferences/MASPreferences.framework" 106 | fi 107 | if [[ "$CONFIGURATION" == "Release" ]]; then 108 | install_framework "${BUILT_PRODUCTS_DIR}/MASPreferences/MASPreferences.framework" 109 | fi 110 | if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then 111 | wait 112 | fi 113 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Demo/Pods-Demo-resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 5 | 6 | RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt 7 | > "$RESOURCES_TO_COPY" 8 | 9 | XCASSET_FILES=() 10 | 11 | # This protects against multiple targets copying the same framework dependency at the same time. The solution 12 | # was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html 13 | RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") 14 | 15 | case "${TARGETED_DEVICE_FAMILY}" in 16 | 1,2) 17 | TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" 18 | ;; 19 | 1) 20 | TARGET_DEVICE_ARGS="--target-device iphone" 21 | ;; 22 | 2) 23 | TARGET_DEVICE_ARGS="--target-device ipad" 24 | ;; 25 | 3) 26 | TARGET_DEVICE_ARGS="--target-device tv" 27 | ;; 28 | 4) 29 | TARGET_DEVICE_ARGS="--target-device watch" 30 | ;; 31 | *) 32 | TARGET_DEVICE_ARGS="--target-device mac" 33 | ;; 34 | esac 35 | 36 | install_resource() 37 | { 38 | if [[ "$1" = /* ]] ; then 39 | RESOURCE_PATH="$1" 40 | else 41 | RESOURCE_PATH="${PODS_ROOT}/$1" 42 | fi 43 | if [[ ! -e "$RESOURCE_PATH" ]] ; then 44 | cat << EOM 45 | error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. 46 | EOM 47 | exit 1 48 | fi 49 | case $RESOURCE_PATH in 50 | *.storyboard) 51 | echo "ibtool --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true 52 | ibtool --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 53 | ;; 54 | *.xib) 55 | echo "ibtool --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" || true 56 | ibtool --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} 57 | ;; 58 | *.framework) 59 | echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true 60 | mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 61 | echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" || true 62 | rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" 63 | ;; 64 | *.xcdatamodel) 65 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" || true 66 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" 67 | ;; 68 | *.xcdatamodeld) 69 | echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" || true 70 | xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" 71 | ;; 72 | *.xcmappingmodel) 73 | echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" || true 74 | xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" 75 | ;; 76 | *.xcassets) 77 | ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" 78 | XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") 79 | ;; 80 | *) 81 | echo "$RESOURCE_PATH" || true 82 | echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" 83 | ;; 84 | esac 85 | } 86 | 87 | mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 88 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 89 | if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then 90 | mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 91 | rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 92 | fi 93 | rm -f "$RESOURCES_TO_COPY" 94 | 95 | if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] 96 | then 97 | # Find all other xcassets (this unfortunately includes those of path pods and other targets). 98 | OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) 99 | while read line; do 100 | if [[ $line != "${PODS_ROOT}*" ]]; then 101 | XCASSET_FILES+=("$line") 102 | fi 103 | done <<<"$OTHER_XCASSETS" 104 | 105 | printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" 106 | fi 107 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Demo/Pods-Demo-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_DemoVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_DemoVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Demo/Pods-Demo.debug.xcconfig: -------------------------------------------------------------------------------- 1 | CODE_SIGN_IDENTITY = 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/MASPreferences" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/MASPreferences/MASPreferences.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "MASPreferences" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 10 | PODS_ROOT = ${SRCROOT}/Pods 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Demo/Pods-Demo.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_Demo { 2 | umbrella header "Pods-Demo-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-Demo/Pods-Demo.release.xcconfig: -------------------------------------------------------------------------------- 1 | CODE_SIGN_IDENTITY = 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/MASPreferences" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/../Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/MASPreferences/MASPreferences.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "MASPreferences" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 10 | PODS_ROOT = ${SRCROOT}/Pods 11 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Summary 2 | 3 | This is a test project for a component [MASPreferences](https://github.com/shpakovski/MASPreferences). 4 | 5 | # How to run 6 | 7 | `git clone https://github.com/shpakovski/MASPreferencesDemo.git && open MASPreferencesDemo/Demo.xcworkspace` 8 | 9 | Hit `Command-R` to build and run the project in Xcode. 10 | 11 | # How to update 12 | 13 | `cd MASPreferencesDemo && pod update` 14 | --------------------------------------------------------------------------------