├── .DS_Store ├── CFStringTokenizer-Info.plist ├── CFStringTokenizer.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ │ └── satoshi.xcuserdatad │ │ ├── UserInterfaceState.xcuserstate │ │ └── WorkspaceSettings.xcsettings ├── satoshi.mode1v3 ├── satoshi.pbxuser └── xcuserdata │ └── satoshi.xcuserdatad │ └── xcschemes │ ├── CFStringTokenizer.xcscheme │ └── xcschememanagement.plist ├── CFStringTokenizerViewController.xib ├── CFStringTokenizer_Prefix.pch ├── Classes ├── CFStringTokenizerAppDelegate.h ├── CFStringTokenizerAppDelegate.m ├── CFStringTokenizerViewController.h └── CFStringTokenizerViewController.m ├── MainWindow.xib ├── README └── main.m /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oomori/CFStringTokenizer/373285bcb1ef227cf7a150a4efc9f17c9b4847f7/.DS_Store -------------------------------------------------------------------------------- /CFStringTokenizer-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | com.yourcompany.${PRODUCT_NAME:rfc1034identifier} 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | NSMainNibFile 28 | MainWindow 29 | 30 | 31 | -------------------------------------------------------------------------------- /CFStringTokenizer.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 1D3623260D0F684500981E51 /* CFStringTokenizerAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* CFStringTokenizerAppDelegate.m */; }; 11 | 1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; }; 12 | 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; }; 13 | 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; }; 14 | 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; }; 15 | 2899E5220DE3E06400AC0155 /* CFStringTokenizerViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* CFStringTokenizerViewController.xib */; }; 16 | 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; }; 17 | 28D7ACF80DDB3853001CB0EB /* CFStringTokenizerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* CFStringTokenizerViewController.m */; }; 18 | /* End PBXBuildFile section */ 19 | 20 | /* Begin PBXFileReference section */ 21 | 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 22 | 1D3623240D0F684500981E51 /* CFStringTokenizerAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFStringTokenizerAppDelegate.h; sourceTree = ""; }; 23 | 1D3623250D0F684500981E51 /* CFStringTokenizerAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CFStringTokenizerAppDelegate.m; sourceTree = ""; }; 24 | 1D6058910D05DD3D006BFB54 /* CFStringTokenizer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CFStringTokenizer.app; sourceTree = BUILT_PRODUCTS_DIR; }; 25 | 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 26 | 288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 27 | 2899E5210DE3E06400AC0155 /* CFStringTokenizerViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CFStringTokenizerViewController.xib; sourceTree = ""; }; 28 | 28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = ""; }; 29 | 28D7ACF60DDB3853001CB0EB /* CFStringTokenizerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFStringTokenizerViewController.h; sourceTree = ""; }; 30 | 28D7ACF70DDB3853001CB0EB /* CFStringTokenizerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CFStringTokenizerViewController.m; sourceTree = ""; }; 31 | 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 32 | 32CA4F630368D1EE00C91783 /* CFStringTokenizer_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFStringTokenizer_Prefix.pch; sourceTree = ""; }; 33 | 8D1107310486CEB800E47090 /* CFStringTokenizer-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "CFStringTokenizer-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; 34 | /* End PBXFileReference section */ 35 | 36 | /* Begin PBXFrameworksBuildPhase section */ 37 | 1D60588F0D05DD3D006BFB54 /* Frameworks */ = { 38 | isa = PBXFrameworksBuildPhase; 39 | buildActionMask = 2147483647; 40 | files = ( 41 | 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, 42 | 1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */, 43 | 288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */, 44 | ); 45 | runOnlyForDeploymentPostprocessing = 0; 46 | }; 47 | /* End PBXFrameworksBuildPhase section */ 48 | 49 | /* Begin PBXGroup section */ 50 | 080E96DDFE201D6D7F000001 /* Classes */ = { 51 | isa = PBXGroup; 52 | children = ( 53 | 1D3623240D0F684500981E51 /* CFStringTokenizerAppDelegate.h */, 54 | 1D3623250D0F684500981E51 /* CFStringTokenizerAppDelegate.m */, 55 | 28D7ACF60DDB3853001CB0EB /* CFStringTokenizerViewController.h */, 56 | 28D7ACF70DDB3853001CB0EB /* CFStringTokenizerViewController.m */, 57 | ); 58 | path = Classes; 59 | sourceTree = ""; 60 | }; 61 | 19C28FACFE9D520D11CA2CBB /* Products */ = { 62 | isa = PBXGroup; 63 | children = ( 64 | 1D6058910D05DD3D006BFB54 /* CFStringTokenizer.app */, 65 | ); 66 | name = Products; 67 | sourceTree = ""; 68 | }; 69 | 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { 70 | isa = PBXGroup; 71 | children = ( 72 | 080E96DDFE201D6D7F000001 /* Classes */, 73 | 29B97315FDCFA39411CA2CEA /* Other Sources */, 74 | 29B97317FDCFA39411CA2CEA /* Resources */, 75 | 29B97323FDCFA39411CA2CEA /* Frameworks */, 76 | 19C28FACFE9D520D11CA2CBB /* Products */, 77 | ); 78 | name = CustomTemplate; 79 | sourceTree = ""; 80 | }; 81 | 29B97315FDCFA39411CA2CEA /* Other Sources */ = { 82 | isa = PBXGroup; 83 | children = ( 84 | 32CA4F630368D1EE00C91783 /* CFStringTokenizer_Prefix.pch */, 85 | 29B97316FDCFA39411CA2CEA /* main.m */, 86 | ); 87 | name = "Other Sources"; 88 | sourceTree = ""; 89 | }; 90 | 29B97317FDCFA39411CA2CEA /* Resources */ = { 91 | isa = PBXGroup; 92 | children = ( 93 | 2899E5210DE3E06400AC0155 /* CFStringTokenizerViewController.xib */, 94 | 28AD733E0D9D9553002E5188 /* MainWindow.xib */, 95 | 8D1107310486CEB800E47090 /* CFStringTokenizer-Info.plist */, 96 | ); 97 | name = Resources; 98 | sourceTree = ""; 99 | }; 100 | 29B97323FDCFA39411CA2CEA /* Frameworks */ = { 101 | isa = PBXGroup; 102 | children = ( 103 | 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */, 104 | 1D30AB110D05D00D00671497 /* Foundation.framework */, 105 | 288765A40DF7441C002DB57D /* CoreGraphics.framework */, 106 | ); 107 | name = Frameworks; 108 | sourceTree = ""; 109 | }; 110 | /* End PBXGroup section */ 111 | 112 | /* Begin PBXNativeTarget section */ 113 | 1D6058900D05DD3D006BFB54 /* CFStringTokenizer */ = { 114 | isa = PBXNativeTarget; 115 | buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "CFStringTokenizer" */; 116 | buildPhases = ( 117 | 1D60588D0D05DD3D006BFB54 /* Resources */, 118 | 1D60588E0D05DD3D006BFB54 /* Sources */, 119 | 1D60588F0D05DD3D006BFB54 /* Frameworks */, 120 | ); 121 | buildRules = ( 122 | ); 123 | dependencies = ( 124 | ); 125 | name = CFStringTokenizer; 126 | productName = CFStringTokenizer; 127 | productReference = 1D6058910D05DD3D006BFB54 /* CFStringTokenizer.app */; 128 | productType = "com.apple.product-type.application"; 129 | }; 130 | /* End PBXNativeTarget section */ 131 | 132 | /* Begin PBXProject section */ 133 | 29B97313FDCFA39411CA2CEA /* Project object */ = { 134 | isa = PBXProject; 135 | attributes = { 136 | LastUpgradeCheck = 0420; 137 | }; 138 | buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "CFStringTokenizer" */; 139 | compatibilityVersion = "Xcode 3.2"; 140 | developmentRegion = English; 141 | hasScannedForEncodings = 1; 142 | knownRegions = ( 143 | English, 144 | Japanese, 145 | French, 146 | German, 147 | ); 148 | mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */; 149 | projectDirPath = ""; 150 | projectRoot = ""; 151 | targets = ( 152 | 1D6058900D05DD3D006BFB54 /* CFStringTokenizer */, 153 | ); 154 | }; 155 | /* End PBXProject section */ 156 | 157 | /* Begin PBXResourcesBuildPhase section */ 158 | 1D60588D0D05DD3D006BFB54 /* Resources */ = { 159 | isa = PBXResourcesBuildPhase; 160 | buildActionMask = 2147483647; 161 | files = ( 162 | 28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */, 163 | 2899E5220DE3E06400AC0155 /* CFStringTokenizerViewController.xib in Resources */, 164 | ); 165 | runOnlyForDeploymentPostprocessing = 0; 166 | }; 167 | /* End PBXResourcesBuildPhase section */ 168 | 169 | /* Begin PBXSourcesBuildPhase section */ 170 | 1D60588E0D05DD3D006BFB54 /* Sources */ = { 171 | isa = PBXSourcesBuildPhase; 172 | buildActionMask = 2147483647; 173 | files = ( 174 | 1D60589B0D05DD56006BFB54 /* main.m in Sources */, 175 | 1D3623260D0F684500981E51 /* CFStringTokenizerAppDelegate.m in Sources */, 176 | 28D7ACF80DDB3853001CB0EB /* CFStringTokenizerViewController.m in Sources */, 177 | ); 178 | runOnlyForDeploymentPostprocessing = 0; 179 | }; 180 | /* End PBXSourcesBuildPhase section */ 181 | 182 | /* Begin XCBuildConfiguration section */ 183 | 1D6058940D05DD3E006BFB54 /* Debug */ = { 184 | isa = XCBuildConfiguration; 185 | buildSettings = { 186 | ALWAYS_SEARCH_USER_PATHS = NO; 187 | COPY_PHASE_STRIP = NO; 188 | GCC_DYNAMIC_NO_PIC = NO; 189 | GCC_OPTIMIZATION_LEVEL = 0; 190 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 191 | GCC_PREFIX_HEADER = CFStringTokenizer_Prefix.pch; 192 | INFOPLIST_FILE = "CFStringTokenizer-Info.plist"; 193 | PRODUCT_NAME = CFStringTokenizer; 194 | }; 195 | name = Debug; 196 | }; 197 | 1D6058950D05DD3E006BFB54 /* Release */ = { 198 | isa = XCBuildConfiguration; 199 | buildSettings = { 200 | ALWAYS_SEARCH_USER_PATHS = NO; 201 | COPY_PHASE_STRIP = YES; 202 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 203 | GCC_PREFIX_HEADER = CFStringTokenizer_Prefix.pch; 204 | INFOPLIST_FILE = "CFStringTokenizer-Info.plist"; 205 | PRODUCT_NAME = CFStringTokenizer; 206 | VALIDATE_PRODUCT = YES; 207 | }; 208 | name = Release; 209 | }; 210 | C01FCF4F08A954540054247B /* Debug */ = { 211 | isa = XCBuildConfiguration; 212 | buildSettings = { 213 | ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 214 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 215 | GCC_C_LANGUAGE_STANDARD = c99; 216 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 217 | GCC_WARN_UNUSED_VARIABLE = YES; 218 | SDKROOT = iphoneos; 219 | }; 220 | name = Debug; 221 | }; 222 | C01FCF5008A954540054247B /* Release */ = { 223 | isa = XCBuildConfiguration; 224 | buildSettings = { 225 | ARCHS = "$(ARCHS_STANDARD_32_BIT)"; 226 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 227 | GCC_C_LANGUAGE_STANDARD = c99; 228 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 229 | GCC_WARN_UNUSED_VARIABLE = YES; 230 | OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; 231 | SDKROOT = iphoneos; 232 | }; 233 | name = Release; 234 | }; 235 | /* End XCBuildConfiguration section */ 236 | 237 | /* Begin XCConfigurationList section */ 238 | 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "CFStringTokenizer" */ = { 239 | isa = XCConfigurationList; 240 | buildConfigurations = ( 241 | 1D6058940D05DD3E006BFB54 /* Debug */, 242 | 1D6058950D05DD3E006BFB54 /* Release */, 243 | ); 244 | defaultConfigurationIsVisible = 0; 245 | defaultConfigurationName = Release; 246 | }; 247 | C01FCF4E08A954540054247B /* Build configuration list for PBXProject "CFStringTokenizer" */ = { 248 | isa = XCConfigurationList; 249 | buildConfigurations = ( 250 | C01FCF4F08A954540054247B /* Debug */, 251 | C01FCF5008A954540054247B /* Release */, 252 | ); 253 | defaultConfigurationIsVisible = 0; 254 | defaultConfigurationName = Release; 255 | }; 256 | /* End XCConfigurationList section */ 257 | }; 258 | rootObject = 29B97313FDCFA39411CA2CEA /* Project object */; 259 | } 260 | -------------------------------------------------------------------------------- /CFStringTokenizer.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CFStringTokenizer.xcodeproj/project.xcworkspace/xcuserdata/satoshi.xcuserdatad/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEWorkspaceUserSettings_HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges 6 | 7 | IDEWorkspaceUserSettings_SnapshotAutomaticallyBeforeSignificantChanges 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /CFStringTokenizer.xcodeproj/satoshi.mode1v3: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ActivePerspectiveName 6 | Project 7 | AllowedModules 8 | 9 | 10 | BundleLoadPath 11 | 12 | MaxInstances 13 | n 14 | Module 15 | PBXSmartGroupTreeModule 16 | Name 17 | Groups and Files Outline View 18 | 19 | 20 | BundleLoadPath 21 | 22 | MaxInstances 23 | n 24 | Module 25 | PBXNavigatorGroup 26 | Name 27 | Editor 28 | 29 | 30 | BundleLoadPath 31 | 32 | MaxInstances 33 | n 34 | Module 35 | XCTaskListModule 36 | Name 37 | Task List 38 | 39 | 40 | BundleLoadPath 41 | 42 | MaxInstances 43 | n 44 | Module 45 | XCDetailModule 46 | Name 47 | File and Smart Group Detail Viewer 48 | 49 | 50 | BundleLoadPath 51 | 52 | MaxInstances 53 | 1 54 | Module 55 | PBXBuildResultsModule 56 | Name 57 | Detailed Build Results Viewer 58 | 59 | 60 | BundleLoadPath 61 | 62 | MaxInstances 63 | 1 64 | Module 65 | PBXProjectFindModule 66 | Name 67 | Project Batch Find Tool 68 | 69 | 70 | BundleLoadPath 71 | 72 | MaxInstances 73 | n 74 | Module 75 | XCProjectFormatConflictsModule 76 | Name 77 | Project Format Conflicts List 78 | 79 | 80 | BundleLoadPath 81 | 82 | MaxInstances 83 | n 84 | Module 85 | PBXBookmarksModule 86 | Name 87 | Bookmarks Tool 88 | 89 | 90 | BundleLoadPath 91 | 92 | MaxInstances 93 | n 94 | Module 95 | PBXClassBrowserModule 96 | Name 97 | Class Browser 98 | 99 | 100 | BundleLoadPath 101 | 102 | MaxInstances 103 | n 104 | Module 105 | PBXCVSModule 106 | Name 107 | Source Code Control Tool 108 | 109 | 110 | BundleLoadPath 111 | 112 | MaxInstances 113 | n 114 | Module 115 | PBXDebugBreakpointsModule 116 | Name 117 | Debug Breakpoints Tool 118 | 119 | 120 | BundleLoadPath 121 | 122 | MaxInstances 123 | n 124 | Module 125 | XCDockableInspector 126 | Name 127 | Inspector 128 | 129 | 130 | BundleLoadPath 131 | 132 | MaxInstances 133 | n 134 | Module 135 | PBXOpenQuicklyModule 136 | Name 137 | Open Quickly Tool 138 | 139 | 140 | BundleLoadPath 141 | 142 | MaxInstances 143 | 1 144 | Module 145 | PBXDebugSessionModule 146 | Name 147 | Debugger 148 | 149 | 150 | BundleLoadPath 151 | 152 | MaxInstances 153 | 1 154 | Module 155 | PBXDebugCLIModule 156 | Name 157 | Debug Console 158 | 159 | 160 | BundleLoadPath 161 | 162 | MaxInstances 163 | n 164 | Module 165 | XCSnapshotModule 166 | Name 167 | Snapshots Tool 168 | 169 | 170 | BundlePath 171 | /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources 172 | Description 173 | DefaultDescriptionKey 174 | DockingSystemVisible 175 | 176 | Extension 177 | mode1v3 178 | FavBarConfig 179 | 180 | PBXProjectModuleGUID 181 | 74CEF9821296977100F968E0 182 | XCBarModuleItemNames 183 | 184 | XCBarModuleItems 185 | 186 | 187 | FirstTimeWindowDisplayed 188 | 189 | Identifier 190 | com.apple.perspectives.project.mode1v3 191 | MajorVersion 192 | 33 193 | MinorVersion 194 | 0 195 | Name 196 | Default 197 | Notifications 198 | 199 | OpenEditors 200 | 201 | PerspectiveWidths 202 | 203 | -1 204 | -1 205 | 206 | Perspectives 207 | 208 | 209 | ChosenToolbarItems 210 | 211 | active-combo-popup 212 | action 213 | NSToolbarFlexibleSpaceItem 214 | debugger-enable-breakpoints 215 | clean 216 | build-and-go 217 | com.apple.ide.PBXToolbarStopButton 218 | get-info 219 | NSToolbarFlexibleSpaceItem 220 | com.apple.pbx.toolbar.searchfield 221 | 222 | ControllerClassBaseName 223 | 224 | IconName 225 | WindowOfProjectWithEditor 226 | Identifier 227 | perspective.project 228 | IsVertical 229 | 230 | Layout 231 | 232 | 233 | ContentConfiguration 234 | 235 | PBXBottomSmartGroupGIDs 236 | 237 | 1C37FBAC04509CD000000102 238 | 1C37FAAC04509CD000000102 239 | 1C37FABC05509CD000000102 240 | 1C37FABC05539CD112110102 241 | E2644B35053B69B200211256 242 | 1C37FABC04509CD000100104 243 | 1CC0EA4004350EF90044410B 244 | 1CC0EA4004350EF90041110B 245 | 246 | PBXProjectModuleGUID 247 | 1CE0B1FE06471DED0097A5F4 248 | PBXProjectModuleLabel 249 | Files 250 | PBXProjectStructureProvided 251 | yes 252 | PBXSmartGroupTreeModuleColumnData 253 | 254 | PBXSmartGroupTreeModuleColumnWidthsKey 255 | 256 | 186 257 | 258 | PBXSmartGroupTreeModuleColumnsKey_v4 259 | 260 | MainColumn 261 | 262 | 263 | PBXSmartGroupTreeModuleOutlineStateKey_v7 264 | 265 | PBXSmartGroupTreeModuleOutlineStateExpansionKey 266 | 267 | 29B97314FDCFA39411CA2CEA 268 | 080E96DDFE201D6D7F000001 269 | 29B97315FDCFA39411CA2CEA 270 | 29B97317FDCFA39411CA2CEA 271 | 1C37FABC05509CD000000102 272 | 273 | PBXSmartGroupTreeModuleOutlineStateSelectionKey 274 | 275 | 276 | 3 277 | 1 278 | 0 279 | 280 | 281 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey 282 | {{0, 0}, {186, 680}} 283 | 284 | PBXTopSmartGroupGIDs 285 | 286 | XCIncludePerspectivesSwitch 287 | 288 | XCSharingToken 289 | com.apple.Xcode.GFSharingToken 290 | 291 | GeometryConfiguration 292 | 293 | Frame 294 | {{0, 0}, {203, 698}} 295 | GroupTreeTableConfiguration 296 | 297 | MainColumn 298 | 186 299 | 300 | RubberWindowFrame 301 | 302 39 893 739 0 0 1280 778 302 | 303 | Module 304 | PBXSmartGroupTreeModule 305 | Proportion 306 | 203pt 307 | 308 | 309 | Dock 310 | 311 | 312 | BecomeActive 313 | 314 | ContentConfiguration 315 | 316 | PBXProjectModuleGUID 317 | 1CE0B20306471E060097A5F4 318 | PBXProjectModuleLabel 319 | CFStringTokenizerAppDelegate.m 320 | PBXSplitModuleInNavigatorKey 321 | 322 | Split0 323 | 324 | PBXProjectModuleGUID 325 | 1CE0B20406471E060097A5F4 326 | PBXProjectModuleLabel 327 | CFStringTokenizerAppDelegate.m 328 | _historyCapacity 329 | 0 330 | bookmark 331 | 74630C8E12BB7BBF00BF7E83 332 | history 333 | 334 | 74CEF97B1296977100F968E0 335 | 74CEFBA91297A3E700F968E0 336 | 74CEFBAC1297C15700F968E0 337 | 338 | 339 | SplitCount 340 | 1 341 | 342 | StatusBarVisibility 343 | 344 | 345 | GeometryConfiguration 346 | 347 | Frame 348 | {{0, 0}, {685, 507}} 349 | RubberWindowFrame 350 | 302 39 893 739 0 0 1280 778 351 | 352 | Module 353 | PBXNavigatorGroup 354 | Proportion 355 | 507pt 356 | 357 | 358 | ContentConfiguration 359 | 360 | PBXProjectModuleGUID 361 | 1CE0B20506471E060097A5F4 362 | PBXProjectModuleLabel 363 | 詳細 364 | 365 | GeometryConfiguration 366 | 367 | Frame 368 | {{0, 512}, {685, 186}} 369 | RubberWindowFrame 370 | 302 39 893 739 0 0 1280 778 371 | 372 | Module 373 | XCDetailModule 374 | Proportion 375 | 186pt 376 | 377 | 378 | Proportion 379 | 685pt 380 | 381 | 382 | Name 383 | Project 384 | ServiceClasses 385 | 386 | XCModuleDock 387 | PBXSmartGroupTreeModule 388 | XCModuleDock 389 | PBXNavigatorGroup 390 | XCDetailModule 391 | 392 | TableOfContents 393 | 394 | 74630C8412BB7B9500BF7E83 395 | 1CE0B1FE06471DED0097A5F4 396 | 74630C8512BB7B9500BF7E83 397 | 1CE0B20306471E060097A5F4 398 | 1CE0B20506471E060097A5F4 399 | 400 | ToolbarConfigUserDefaultsMinorVersion 401 | 2 402 | ToolbarConfiguration 403 | xcode.toolbar.config.defaultV3 404 | 405 | 406 | ControllerClassBaseName 407 | 408 | IconName 409 | WindowOfProject 410 | Identifier 411 | perspective.morph 412 | IsVertical 413 | 0 414 | Layout 415 | 416 | 417 | BecomeActive 418 | 1 419 | ContentConfiguration 420 | 421 | PBXBottomSmartGroupGIDs 422 | 423 | 1C37FBAC04509CD000000102 424 | 1C37FAAC04509CD000000102 425 | 1C08E77C0454961000C914BD 426 | 1C37FABC05509CD000000102 427 | 1C37FABC05539CD112110102 428 | E2644B35053B69B200211256 429 | 1C37FABC04509CD000100104 430 | 1CC0EA4004350EF90044410B 431 | 1CC0EA4004350EF90041110B 432 | 433 | PBXProjectModuleGUID 434 | 11E0B1FE06471DED0097A5F4 435 | PBXProjectModuleLabel 436 | Files 437 | PBXProjectStructureProvided 438 | yes 439 | PBXSmartGroupTreeModuleColumnData 440 | 441 | PBXSmartGroupTreeModuleColumnWidthsKey 442 | 443 | 186 444 | 445 | PBXSmartGroupTreeModuleColumnsKey_v4 446 | 447 | MainColumn 448 | 449 | 450 | PBXSmartGroupTreeModuleOutlineStateKey_v7 451 | 452 | PBXSmartGroupTreeModuleOutlineStateExpansionKey 453 | 454 | 29B97314FDCFA39411CA2CEA 455 | 1C37FABC05509CD000000102 456 | 457 | PBXSmartGroupTreeModuleOutlineStateSelectionKey 458 | 459 | 460 | 0 461 | 462 | 463 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey 464 | {{0, 0}, {186, 337}} 465 | 466 | PBXTopSmartGroupGIDs 467 | 468 | XCIncludePerspectivesSwitch 469 | 1 470 | XCSharingToken 471 | com.apple.Xcode.GFSharingToken 472 | 473 | GeometryConfiguration 474 | 475 | Frame 476 | {{0, 0}, {203, 355}} 477 | GroupTreeTableConfiguration 478 | 479 | MainColumn 480 | 186 481 | 482 | RubberWindowFrame 483 | 373 269 690 397 0 0 1440 878 484 | 485 | Module 486 | PBXSmartGroupTreeModule 487 | Proportion 488 | 100% 489 | 490 | 491 | Name 492 | Morph 493 | PreferredWidth 494 | 300 495 | ServiceClasses 496 | 497 | XCModuleDock 498 | PBXSmartGroupTreeModule 499 | 500 | TableOfContents 501 | 502 | 11E0B1FE06471DED0097A5F4 503 | 504 | ToolbarConfiguration 505 | xcode.toolbar.config.default.shortV3 506 | 507 | 508 | PerspectivesBarVisible 509 | 510 | ShelfIsVisible 511 | 512 | SourceDescription 513 | file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec' 514 | StatusbarIsVisible 515 | 516 | TimeStamp 517 | 0.0 518 | ToolbarConfigUserDefaultsMinorVersion 519 | 2 520 | ToolbarDisplayMode 521 | 2 522 | ToolbarIsVisible 523 | 524 | ToolbarSizeMode 525 | 2 526 | Type 527 | Perspectives 528 | UpdateMessage 529 | The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'? 530 | WindowJustification 531 | 5 532 | WindowOrderList 533 | 534 | 1CD10A99069EF8BA00B06720 535 | 74CEF9831296977100F968E0 536 | 1C78EAAD065D492600B07095 537 | /Users/satoshi/Documents/touch reference/Core Foundation/CFStringTokenizer/CFStringTokenizer.xcodeproj 538 | 539 | WindowString 540 | 302 39 893 739 0 0 1280 778 541 | WindowToolsV3 542 | 543 | 544 | FirstTimeWindowDisplayed 545 | 546 | Identifier 547 | windowTool.build 548 | IsVertical 549 | 550 | Layout 551 | 552 | 553 | Dock 554 | 555 | 556 | ContentConfiguration 557 | 558 | PBXProjectModuleGUID 559 | 1CD0528F0623707200166675 560 | PBXProjectModuleLabel 561 | 562 | StatusBarVisibility 563 | 564 | 565 | GeometryConfiguration 566 | 567 | Frame 568 | {{0, 0}, {500, 218}} 569 | RubberWindowFrame 570 | 193 216 500 500 0 0 1280 778 571 | 572 | Module 573 | PBXNavigatorGroup 574 | Proportion 575 | 218pt 576 | 577 | 578 | ContentConfiguration 579 | 580 | PBXProjectModuleGUID 581 | XCMainBuildResultsModuleGUID 582 | PBXProjectModuleLabel 583 | ビルド結果 584 | XCBuildResultsTrigger_Collapse 585 | 1021 586 | XCBuildResultsTrigger_Open 587 | 1011 588 | 589 | GeometryConfiguration 590 | 591 | Frame 592 | {{0, 223}, {500, 236}} 593 | RubberWindowFrame 594 | 193 216 500 500 0 0 1280 778 595 | 596 | Module 597 | PBXBuildResultsModule 598 | Proportion 599 | 236pt 600 | 601 | 602 | Proportion 603 | 459pt 604 | 605 | 606 | Name 607 | Build Results 608 | ServiceClasses 609 | 610 | PBXBuildResultsModule 611 | 612 | StatusbarIsVisible 613 | 614 | TableOfContents 615 | 616 | 74CEF9831296977100F968E0 617 | 74630C8612BB7B9500BF7E83 618 | 1CD0528F0623707200166675 619 | XCMainBuildResultsModuleGUID 620 | 621 | ToolbarConfiguration 622 | xcode.toolbar.config.buildV3 623 | WindowContentMinSize 624 | 486 300 625 | WindowString 626 | 193 216 500 500 0 0 1280 778 627 | WindowToolGUID 628 | 74CEF9831296977100F968E0 629 | WindowToolIsVisible 630 | 631 | 632 | 633 | FirstTimeWindowDisplayed 634 | 635 | Identifier 636 | windowTool.debugger 637 | IsVertical 638 | 639 | Layout 640 | 641 | 642 | Dock 643 | 644 | 645 | ContentConfiguration 646 | 647 | Debugger 648 | 649 | HorizontalSplitView 650 | 651 | _collapsingFrameDimension 652 | 0.0 653 | _indexOfCollapsedView 654 | 0 655 | _percentageOfCollapsedView 656 | 0.0 657 | isCollapsed 658 | yes 659 | sizes 660 | 661 | {{0, 0}, {316, 194}} 662 | {{316, 0}, {378, 194}} 663 | 664 | 665 | VerticalSplitView 666 | 667 | _collapsingFrameDimension 668 | 0.0 669 | _indexOfCollapsedView 670 | 0 671 | _percentageOfCollapsedView 672 | 0.0 673 | isCollapsed 674 | yes 675 | sizes 676 | 677 | {{0, 0}, {694, 194}} 678 | {{0, 194}, {694, 187}} 679 | 680 | 681 | 682 | LauncherConfigVersion 683 | 8 684 | PBXProjectModuleGUID 685 | 1C162984064C10D400B95A72 686 | PBXProjectModuleLabel 687 | Debug - GLUTExamples (Underwater) 688 | 689 | GeometryConfiguration 690 | 691 | DebugConsoleVisible 692 | None 693 | DebugConsoleWindowFrame 694 | {{200, 200}, {500, 300}} 695 | DebugSTDIOWindowFrame 696 | {{200, 200}, {500, 300}} 697 | Frame 698 | {{0, 0}, {694, 381}} 699 | PBXDebugSessionStackFrameViewKey 700 | 701 | DebugVariablesTableConfiguration 702 | 703 | Name 704 | 120 705 | Value 706 | 85 707 | Summary 708 | 148 709 | 710 | Frame 711 | {{316, 0}, {378, 194}} 712 | RubberWindowFrame 713 | 323 333 694 422 0 0 1280 778 714 | 715 | RubberWindowFrame 716 | 323 333 694 422 0 0 1280 778 717 | 718 | Module 719 | PBXDebugSessionModule 720 | Proportion 721 | 381pt 722 | 723 | 724 | Proportion 725 | 381pt 726 | 727 | 728 | Name 729 | Debugger 730 | ServiceClasses 731 | 732 | PBXDebugSessionModule 733 | 734 | StatusbarIsVisible 735 | 736 | TableOfContents 737 | 738 | 1CD10A99069EF8BA00B06720 739 | 74630C8712BB7B9500BF7E83 740 | 1C162984064C10D400B95A72 741 | 74630C8812BB7B9500BF7E83 742 | 74630C8912BB7B9500BF7E83 743 | 74630C8A12BB7B9500BF7E83 744 | 74630C8B12BB7B9500BF7E83 745 | 74630C8C12BB7B9500BF7E83 746 | 747 | ToolbarConfiguration 748 | xcode.toolbar.config.debugV3 749 | WindowString 750 | 323 333 694 422 0 0 1280 778 751 | WindowToolGUID 752 | 1CD10A99069EF8BA00B06720 753 | WindowToolIsVisible 754 | 755 | 756 | 757 | Identifier 758 | windowTool.find 759 | Layout 760 | 761 | 762 | Dock 763 | 764 | 765 | Dock 766 | 767 | 768 | ContentConfiguration 769 | 770 | PBXProjectModuleGUID 771 | 1CDD528C0622207200134675 772 | PBXProjectModuleLabel 773 | <No Editor> 774 | PBXSplitModuleInNavigatorKey 775 | 776 | Split0 777 | 778 | PBXProjectModuleGUID 779 | 1CD0528D0623707200166675 780 | 781 | SplitCount 782 | 1 783 | 784 | StatusBarVisibility 785 | 1 786 | 787 | GeometryConfiguration 788 | 789 | Frame 790 | {{0, 0}, {781, 167}} 791 | RubberWindowFrame 792 | 62 385 781 470 0 0 1440 878 793 | 794 | Module 795 | PBXNavigatorGroup 796 | Proportion 797 | 781pt 798 | 799 | 800 | Proportion 801 | 50% 802 | 803 | 804 | BecomeActive 805 | 1 806 | ContentConfiguration 807 | 808 | PBXProjectModuleGUID 809 | 1CD0528E0623707200166675 810 | PBXProjectModuleLabel 811 | Project Find 812 | 813 | GeometryConfiguration 814 | 815 | Frame 816 | {{8, 0}, {773, 254}} 817 | RubberWindowFrame 818 | 62 385 781 470 0 0 1440 878 819 | 820 | Module 821 | PBXProjectFindModule 822 | Proportion 823 | 50% 824 | 825 | 826 | Proportion 827 | 428pt 828 | 829 | 830 | Name 831 | Project Find 832 | ServiceClasses 833 | 834 | PBXProjectFindModule 835 | 836 | StatusbarIsVisible 837 | 1 838 | TableOfContents 839 | 840 | 1C530D57069F1CE1000CFCEE 841 | 1C530D58069F1CE1000CFCEE 842 | 1C530D59069F1CE1000CFCEE 843 | 1CDD528C0622207200134675 844 | 1C530D5A069F1CE1000CFCEE 845 | 1CE0B1FE06471DED0097A5F4 846 | 1CD0528E0623707200166675 847 | 848 | WindowString 849 | 62 385 781 470 0 0 1440 878 850 | WindowToolGUID 851 | 1C530D57069F1CE1000CFCEE 852 | WindowToolIsVisible 853 | 0 854 | 855 | 856 | Identifier 857 | MENUSEPARATOR 858 | 859 | 860 | FirstTimeWindowDisplayed 861 | 862 | Identifier 863 | windowTool.debuggerConsole 864 | IsVertical 865 | 866 | Layout 867 | 868 | 869 | Dock 870 | 871 | 872 | BecomeActive 873 | 874 | ContentConfiguration 875 | 876 | PBXProjectModuleGUID 877 | 1C78EAAC065D492600B07095 878 | PBXProjectModuleLabel 879 | Debugger Console 880 | 881 | GeometryConfiguration 882 | 883 | Frame 884 | {{0, 0}, {650, 209}} 885 | RubberWindowFrame 886 | 323 505 650 250 0 0 1280 778 887 | 888 | Module 889 | PBXDebugCLIModule 890 | Proportion 891 | 209pt 892 | 893 | 894 | Proportion 895 | 209pt 896 | 897 | 898 | Name 899 | Debugger Console 900 | ServiceClasses 901 | 902 | PBXDebugCLIModule 903 | 904 | StatusbarIsVisible 905 | 906 | TableOfContents 907 | 908 | 1C78EAAD065D492600B07095 909 | 74630C8D12BB7B9500BF7E83 910 | 1C78EAAC065D492600B07095 911 | 912 | ToolbarConfiguration 913 | xcode.toolbar.config.consoleV3 914 | WindowString 915 | 323 505 650 250 0 0 1280 778 916 | WindowToolGUID 917 | 1C78EAAD065D492600B07095 918 | WindowToolIsVisible 919 | 920 | 921 | 922 | Identifier 923 | windowTool.snapshots 924 | Layout 925 | 926 | 927 | Dock 928 | 929 | 930 | Module 931 | XCSnapshotModule 932 | Proportion 933 | 100% 934 | 935 | 936 | Proportion 937 | 100% 938 | 939 | 940 | Name 941 | Snapshots 942 | ServiceClasses 943 | 944 | XCSnapshotModule 945 | 946 | StatusbarIsVisible 947 | Yes 948 | ToolbarConfiguration 949 | xcode.toolbar.config.snapshots 950 | WindowString 951 | 315 824 300 550 0 0 1440 878 952 | WindowToolIsVisible 953 | Yes 954 | 955 | 956 | Identifier 957 | windowTool.scm 958 | Layout 959 | 960 | 961 | Dock 962 | 963 | 964 | ContentConfiguration 965 | 966 | PBXProjectModuleGUID 967 | 1C78EAB2065D492600B07095 968 | PBXProjectModuleLabel 969 | <No Editor> 970 | PBXSplitModuleInNavigatorKey 971 | 972 | Split0 973 | 974 | PBXProjectModuleGUID 975 | 1C78EAB3065D492600B07095 976 | 977 | SplitCount 978 | 1 979 | 980 | StatusBarVisibility 981 | 1 982 | 983 | GeometryConfiguration 984 | 985 | Frame 986 | {{0, 0}, {452, 0}} 987 | RubberWindowFrame 988 | 743 379 452 308 0 0 1280 1002 989 | 990 | Module 991 | PBXNavigatorGroup 992 | Proportion 993 | 0pt 994 | 995 | 996 | BecomeActive 997 | 1 998 | ContentConfiguration 999 | 1000 | PBXProjectModuleGUID 1001 | 1CD052920623707200166675 1002 | PBXProjectModuleLabel 1003 | SCM 1004 | 1005 | GeometryConfiguration 1006 | 1007 | ConsoleFrame 1008 | {{0, 259}, {452, 0}} 1009 | Frame 1010 | {{0, 7}, {452, 259}} 1011 | RubberWindowFrame 1012 | 743 379 452 308 0 0 1280 1002 1013 | TableConfiguration 1014 | 1015 | Status 1016 | 30 1017 | FileName 1018 | 199 1019 | Path 1020 | 197.0950012207031 1021 | 1022 | TableFrame 1023 | {{0, 0}, {452, 250}} 1024 | 1025 | Module 1026 | PBXCVSModule 1027 | Proportion 1028 | 262pt 1029 | 1030 | 1031 | Proportion 1032 | 266pt 1033 | 1034 | 1035 | Name 1036 | SCM 1037 | ServiceClasses 1038 | 1039 | PBXCVSModule 1040 | 1041 | StatusbarIsVisible 1042 | 1 1043 | TableOfContents 1044 | 1045 | 1C78EAB4065D492600B07095 1046 | 1C78EAB5065D492600B07095 1047 | 1C78EAB2065D492600B07095 1048 | 1CD052920623707200166675 1049 | 1050 | ToolbarConfiguration 1051 | xcode.toolbar.config.scm 1052 | WindowString 1053 | 743 379 452 308 0 0 1280 1002 1054 | 1055 | 1056 | Identifier 1057 | windowTool.breakpoints 1058 | IsVertical 1059 | 0 1060 | Layout 1061 | 1062 | 1063 | Dock 1064 | 1065 | 1066 | BecomeActive 1067 | 1 1068 | ContentConfiguration 1069 | 1070 | PBXBottomSmartGroupGIDs 1071 | 1072 | 1C77FABC04509CD000000102 1073 | 1074 | PBXProjectModuleGUID 1075 | 1CE0B1FE06471DED0097A5F4 1076 | PBXProjectModuleLabel 1077 | Files 1078 | PBXProjectStructureProvided 1079 | no 1080 | PBXSmartGroupTreeModuleColumnData 1081 | 1082 | PBXSmartGroupTreeModuleColumnWidthsKey 1083 | 1084 | 168 1085 | 1086 | PBXSmartGroupTreeModuleColumnsKey_v4 1087 | 1088 | MainColumn 1089 | 1090 | 1091 | PBXSmartGroupTreeModuleOutlineStateKey_v7 1092 | 1093 | PBXSmartGroupTreeModuleOutlineStateExpansionKey 1094 | 1095 | 1C77FABC04509CD000000102 1096 | 1097 | PBXSmartGroupTreeModuleOutlineStateSelectionKey 1098 | 1099 | 1100 | 0 1101 | 1102 | 1103 | PBXSmartGroupTreeModuleOutlineStateVisibleRectKey 1104 | {{0, 0}, {168, 350}} 1105 | 1106 | PBXTopSmartGroupGIDs 1107 | 1108 | XCIncludePerspectivesSwitch 1109 | 0 1110 | 1111 | GeometryConfiguration 1112 | 1113 | Frame 1114 | {{0, 0}, {185, 368}} 1115 | GroupTreeTableConfiguration 1116 | 1117 | MainColumn 1118 | 168 1119 | 1120 | RubberWindowFrame 1121 | 315 424 744 409 0 0 1440 878 1122 | 1123 | Module 1124 | PBXSmartGroupTreeModule 1125 | Proportion 1126 | 185pt 1127 | 1128 | 1129 | ContentConfiguration 1130 | 1131 | PBXProjectModuleGUID 1132 | 1CA1AED706398EBD00589147 1133 | PBXProjectModuleLabel 1134 | Detail 1135 | 1136 | GeometryConfiguration 1137 | 1138 | Frame 1139 | {{190, 0}, {554, 368}} 1140 | RubberWindowFrame 1141 | 315 424 744 409 0 0 1440 878 1142 | 1143 | Module 1144 | XCDetailModule 1145 | Proportion 1146 | 554pt 1147 | 1148 | 1149 | Proportion 1150 | 368pt 1151 | 1152 | 1153 | MajorVersion 1154 | 3 1155 | MinorVersion 1156 | 0 1157 | Name 1158 | Breakpoints 1159 | ServiceClasses 1160 | 1161 | PBXSmartGroupTreeModule 1162 | XCDetailModule 1163 | 1164 | StatusbarIsVisible 1165 | 1 1166 | TableOfContents 1167 | 1168 | 1CDDB66807F98D9800BB5817 1169 | 1CDDB66907F98D9800BB5817 1170 | 1CE0B1FE06471DED0097A5F4 1171 | 1CA1AED706398EBD00589147 1172 | 1173 | ToolbarConfiguration 1174 | xcode.toolbar.config.breakpointsV3 1175 | WindowString 1176 | 315 424 744 409 0 0 1440 878 1177 | WindowToolGUID 1178 | 1CDDB66807F98D9800BB5817 1179 | WindowToolIsVisible 1180 | 1 1181 | 1182 | 1183 | Identifier 1184 | windowTool.debugAnimator 1185 | Layout 1186 | 1187 | 1188 | Dock 1189 | 1190 | 1191 | Module 1192 | PBXNavigatorGroup 1193 | Proportion 1194 | 100% 1195 | 1196 | 1197 | Proportion 1198 | 100% 1199 | 1200 | 1201 | Name 1202 | Debug Visualizer 1203 | ServiceClasses 1204 | 1205 | PBXNavigatorGroup 1206 | 1207 | StatusbarIsVisible 1208 | 1 1209 | ToolbarConfiguration 1210 | xcode.toolbar.config.debugAnimatorV3 1211 | WindowString 1212 | 100 100 700 500 0 0 1280 1002 1213 | 1214 | 1215 | Identifier 1216 | windowTool.bookmarks 1217 | Layout 1218 | 1219 | 1220 | Dock 1221 | 1222 | 1223 | Module 1224 | PBXBookmarksModule 1225 | Proportion 1226 | 100% 1227 | 1228 | 1229 | Proportion 1230 | 100% 1231 | 1232 | 1233 | Name 1234 | Bookmarks 1235 | ServiceClasses 1236 | 1237 | PBXBookmarksModule 1238 | 1239 | StatusbarIsVisible 1240 | 0 1241 | WindowString 1242 | 538 42 401 187 0 0 1280 1002 1243 | 1244 | 1245 | Identifier 1246 | windowTool.projectFormatConflicts 1247 | Layout 1248 | 1249 | 1250 | Dock 1251 | 1252 | 1253 | Module 1254 | XCProjectFormatConflictsModule 1255 | Proportion 1256 | 100% 1257 | 1258 | 1259 | Proportion 1260 | 100% 1261 | 1262 | 1263 | Name 1264 | Project Format Conflicts 1265 | ServiceClasses 1266 | 1267 | XCProjectFormatConflictsModule 1268 | 1269 | StatusbarIsVisible 1270 | 0 1271 | WindowContentMinSize 1272 | 450 300 1273 | WindowString 1274 | 50 850 472 307 0 0 1440 877 1275 | 1276 | 1277 | Identifier 1278 | windowTool.classBrowser 1279 | Layout 1280 | 1281 | 1282 | Dock 1283 | 1284 | 1285 | BecomeActive 1286 | 1 1287 | ContentConfiguration 1288 | 1289 | OptionsSetName 1290 | Hierarchy, all classes 1291 | PBXProjectModuleGUID 1292 | 1CA6456E063B45B4001379D8 1293 | PBXProjectModuleLabel 1294 | Class Browser - NSObject 1295 | 1296 | GeometryConfiguration 1297 | 1298 | ClassesFrame 1299 | {{0, 0}, {374, 96}} 1300 | ClassesTreeTableConfiguration 1301 | 1302 | PBXClassNameColumnIdentifier 1303 | 208 1304 | PBXClassBookColumnIdentifier 1305 | 22 1306 | 1307 | Frame 1308 | {{0, 0}, {630, 331}} 1309 | MembersFrame 1310 | {{0, 105}, {374, 395}} 1311 | MembersTreeTableConfiguration 1312 | 1313 | PBXMemberTypeIconColumnIdentifier 1314 | 22 1315 | PBXMemberNameColumnIdentifier 1316 | 216 1317 | PBXMemberTypeColumnIdentifier 1318 | 97 1319 | PBXMemberBookColumnIdentifier 1320 | 22 1321 | 1322 | PBXModuleWindowStatusBarHidden2 1323 | 1 1324 | RubberWindowFrame 1325 | 385 179 630 352 0 0 1440 878 1326 | 1327 | Module 1328 | PBXClassBrowserModule 1329 | Proportion 1330 | 332pt 1331 | 1332 | 1333 | Proportion 1334 | 332pt 1335 | 1336 | 1337 | Name 1338 | Class Browser 1339 | ServiceClasses 1340 | 1341 | PBXClassBrowserModule 1342 | 1343 | StatusbarIsVisible 1344 | 0 1345 | TableOfContents 1346 | 1347 | 1C0AD2AF069F1E9B00FABCE6 1348 | 1C0AD2B0069F1E9B00FABCE6 1349 | 1CA6456E063B45B4001379D8 1350 | 1351 | ToolbarConfiguration 1352 | xcode.toolbar.config.classbrowser 1353 | WindowString 1354 | 385 179 630 352 0 0 1440 878 1355 | WindowToolGUID 1356 | 1C0AD2AF069F1E9B00FABCE6 1357 | WindowToolIsVisible 1358 | 0 1359 | 1360 | 1361 | Identifier 1362 | windowTool.refactoring 1363 | IncludeInToolsMenu 1364 | 0 1365 | Layout 1366 | 1367 | 1368 | Dock 1369 | 1370 | 1371 | BecomeActive 1372 | 1 1373 | GeometryConfiguration 1374 | 1375 | Frame 1376 | {0, 0}, {500, 335} 1377 | RubberWindowFrame 1378 | {0, 0}, {500, 335} 1379 | 1380 | Module 1381 | XCRefactoringModule 1382 | Proportion 1383 | 100% 1384 | 1385 | 1386 | Proportion 1387 | 100% 1388 | 1389 | 1390 | Name 1391 | Refactoring 1392 | ServiceClasses 1393 | 1394 | XCRefactoringModule 1395 | 1396 | WindowString 1397 | 200 200 500 356 0 0 1920 1200 1398 | 1399 | 1400 | 1401 | 1402 | -------------------------------------------------------------------------------- /CFStringTokenizer.xcodeproj/satoshi.pbxuser: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | 1D3623250D0F684500981E51 /* CFStringTokenizerAppDelegate.m */ = { 4 | uiCtxt = { 5 | sepNavIntBoundsRect = "{{0, 0}, {1965, 1628}}"; 6 | sepNavSelRange = "{2037, 0}"; 7 | sepNavVisRange = "{922, 1179}"; 8 | }; 9 | }; 10 | 1D6058900D05DD3D006BFB54 /* CFStringTokenizer */ = { 11 | activeExec = 0; 12 | executables = ( 13 | 74CEF8F112968BD400F968E0 /* CFStringTokenizer */, 14 | ); 15 | }; 16 | 28D7ACF70DDB3853001CB0EB /* CFStringTokenizerViewController.m */ = { 17 | uiCtxt = { 18 | sepNavIntBoundsRect = "{{0, 0}, {712, 901}}"; 19 | sepNavSelRange = "{0, 0}"; 20 | sepNavVisRange = "{0, 855}"; 21 | }; 22 | }; 23 | 29B97313FDCFA39411CA2CEA /* Project object */ = { 24 | activeBuildConfigurationName = Debug; 25 | activeExecutable = 74CEF8F112968BD400F968E0 /* CFStringTokenizer */; 26 | activeTarget = 1D6058900D05DD3D006BFB54 /* CFStringTokenizer */; 27 | codeSenseManager = 74CEF8FC12968BF400F968E0 /* Code sense */; 28 | executables = ( 29 | 74CEF8F112968BD400F968E0 /* CFStringTokenizer */, 30 | ); 31 | perUserDictionary = { 32 | PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { 33 | PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; 34 | PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; 35 | PBXFileTableDataSourceColumnWidthsKey = ( 36 | 20, 37 | 446, 38 | 20, 39 | 48, 40 | 43, 41 | 43, 42 | 20, 43 | ); 44 | PBXFileTableDataSourceColumnsKey = ( 45 | PBXFileDataSource_FiletypeID, 46 | PBXFileDataSource_Filename_ColumnID, 47 | PBXFileDataSource_Built_ColumnID, 48 | PBXFileDataSource_ObjectSize_ColumnID, 49 | PBXFileDataSource_Errors_ColumnID, 50 | PBXFileDataSource_Warnings_ColumnID, 51 | PBXFileDataSource_Target_ColumnID, 52 | ); 53 | }; 54 | PBXPerProjectTemplateStateSaveDate = 314276749; 55 | PBXWorkspaceStateSaveDate = 314276749; 56 | }; 57 | perUserProjectItems = { 58 | 74630C8E12BB7BBF00BF7E83 /* PBXTextBookmark */ = 74630C8E12BB7BBF00BF7E83 /* PBXTextBookmark */; 59 | 74CEF97B1296977100F968E0 /* PBXTextBookmark */ = 74CEF97B1296977100F968E0 /* PBXTextBookmark */; 60 | 74CEFBA91297A3E700F968E0 /* PBXTextBookmark */ = 74CEFBA91297A3E700F968E0 /* PBXTextBookmark */; 61 | 74CEFBAC1297C15700F968E0 /* PBXTextBookmark */ = 74CEFBAC1297C15700F968E0 /* PBXTextBookmark */; 62 | }; 63 | sourceControlManager = 74CEF8FB12968BF400F968E0 /* Source Control */; 64 | userBuildSettings = { 65 | }; 66 | }; 67 | 74630C8E12BB7BBF00BF7E83 /* PBXTextBookmark */ = { 68 | isa = PBXTextBookmark; 69 | fRef = 1D3623250D0F684500981E51 /* CFStringTokenizerAppDelegate.m */; 70 | name = "CFStringTokenizerAppDelegate.m: 66"; 71 | rLen = 0; 72 | rLoc = 2037; 73 | rType = 0; 74 | vrLen = 1179; 75 | vrLoc = 922; 76 | }; 77 | 74CEF8F112968BD400F968E0 /* CFStringTokenizer */ = { 78 | isa = PBXExecutable; 79 | activeArgIndices = ( 80 | ); 81 | argumentStrings = ( 82 | ); 83 | autoAttachOnCrash = 1; 84 | breakpointsEnabled = 0; 85 | configStateDict = { 86 | }; 87 | customDataFormattersEnabled = 1; 88 | dataTipCustomDataFormattersEnabled = 1; 89 | dataTipShowTypeColumn = 1; 90 | dataTipSortType = 0; 91 | debuggerPlugin = GDBDebugging; 92 | disassemblyDisplayState = 0; 93 | dylibVariantSuffix = ""; 94 | enableDebugStr = 1; 95 | environmentEntries = ( 96 | ); 97 | executableSystemSymbolLevel = 0; 98 | executableUserSymbolLevel = 0; 99 | libgmallocEnabled = 0; 100 | name = CFStringTokenizer; 101 | showTypeColumn = 0; 102 | sourceDirectories = ( 103 | ); 104 | }; 105 | 74CEF8FB12968BF400F968E0 /* Source Control */ = { 106 | isa = PBXSourceControlManager; 107 | fallbackIsa = XCSourceControlManager; 108 | isSCMEnabled = 0; 109 | scmConfiguration = { 110 | repositoryNamesForRoots = { 111 | "" = ""; 112 | }; 113 | }; 114 | }; 115 | 74CEF8FC12968BF400F968E0 /* Code sense */ = { 116 | isa = PBXCodeSenseManager; 117 | indexTemplatePath = ""; 118 | }; 119 | 74CEF97B1296977100F968E0 /* PBXTextBookmark */ = { 120 | isa = PBXTextBookmark; 121 | fRef = 28D7ACF70DDB3853001CB0EB /* CFStringTokenizerViewController.m */; 122 | name = "CFStringTokenizerViewController.m: 1"; 123 | rLen = 0; 124 | rLoc = 0; 125 | rType = 0; 126 | vrLen = 855; 127 | vrLoc = 0; 128 | }; 129 | 74CEF97D1296977100F968E0 /* CFStringTokenizer.h */ = { 130 | isa = PBXFileReference; 131 | lastKnownFileType = sourcecode.c.h; 132 | name = CFStringTokenizer.h; 133 | path = /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFStringTokenizer.h; 134 | sourceTree = ""; 135 | }; 136 | 74CEFBA91297A3E700F968E0 /* PBXTextBookmark */ = { 137 | isa = PBXTextBookmark; 138 | fRef = 74CEF97D1296977100F968E0 /* CFStringTokenizer.h */; 139 | name = "CFStringTokenizer.h: 127"; 140 | rLen = 50; 141 | rLoc = 5034; 142 | rType = 0; 143 | vrLen = 1464; 144 | vrLoc = 4266; 145 | }; 146 | 74CEFBAC1297C15700F968E0 /* PBXTextBookmark */ = { 147 | isa = PBXTextBookmark; 148 | fRef = 1D3623250D0F684500981E51 /* CFStringTokenizerAppDelegate.m */; 149 | name = "CFStringTokenizerAppDelegate.m: 66"; 150 | rLen = 0; 151 | rLoc = 2037; 152 | rType = 0; 153 | vrLen = 939; 154 | vrLoc = 1183; 155 | }; 156 | } 157 | -------------------------------------------------------------------------------- /CFStringTokenizer.xcodeproj/xcuserdata/satoshi.xcuserdatad/xcschemes/CFStringTokenizer.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 14 | 20 | 21 | 22 | 23 | 24 | 29 | 30 | 31 | 32 | 40 | 41 | 47 | 48 | 49 | 50 | 51 | 52 | 59 | 60 | 66 | 67 | 68 | 69 | 71 | 72 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /CFStringTokenizer.xcodeproj/xcuserdata/satoshi.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CFStringTokenizer.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 1D6058900D05DD3D006BFB54 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /CFStringTokenizerViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 800 5 | 10C540 6 | 759 7 | 1038.25 8 | 458.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 77 12 | 13 | 14 | YES 15 | 16 | 17 | 18 | YES 19 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 20 | 21 | 22 | YES 23 | 24 | YES 25 | 26 | 27 | YES 28 | 29 | 30 | 31 | YES 32 | 33 | IBFilesOwner 34 | IBCocoaTouchFramework 35 | 36 | 37 | IBFirstResponder 38 | IBCocoaTouchFramework 39 | 40 | 41 | 42 | 274 43 | {320, 460} 44 | 45 | 46 | 3 47 | MC43NQA 48 | 49 | 2 50 | 51 | 52 | NO 53 | 54 | IBCocoaTouchFramework 55 | 56 | 57 | 58 | 59 | YES 60 | 61 | 62 | view 63 | 64 | 65 | 66 | 7 67 | 68 | 69 | 70 | 71 | YES 72 | 73 | 0 74 | 75 | 76 | 77 | 78 | 79 | -1 80 | 81 | 82 | File's Owner 83 | 84 | 85 | -2 86 | 87 | 88 | 89 | 90 | 6 91 | 92 | 93 | 94 | 95 | 96 | 97 | YES 98 | 99 | YES 100 | -1.CustomClassName 101 | -2.CustomClassName 102 | 6.IBEditorWindowLastContentRect 103 | 6.IBPluginDependency 104 | 105 | 106 | YES 107 | CFStringTokenizerViewController 108 | UIResponder 109 | {{239, 654}, {320, 480}} 110 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 111 | 112 | 113 | 114 | YES 115 | 116 | 117 | YES 118 | 119 | 120 | 121 | 122 | YES 123 | 124 | 125 | YES 126 | 127 | 128 | 129 | 7 130 | 131 | 132 | 133 | YES 134 | 135 | CFStringTokenizerViewController 136 | UIViewController 137 | 138 | IBProjectSource 139 | Classes/CFStringTokenizerViewController.h 140 | 141 | 142 | 143 | 144 | 0 145 | IBCocoaTouchFramework 146 | 147 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 148 | 149 | 150 | YES 151 | CFStringTokenizer.xcodeproj 152 | 3 153 | 77 154 | 155 | 156 | 157 | -------------------------------------------------------------------------------- /CFStringTokenizer_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'CFStringTokenizer' target in the 'CFStringTokenizer' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #import 8 | #endif 9 | -------------------------------------------------------------------------------- /Classes/CFStringTokenizerAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // CFStringTokenizerAppDelegate.h 3 | // CFStringTokenizer 4 | // 5 | // Created by 大森 智史 on 10/11/19. 6 | // Copyright 2010 Satoshi Oomori. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class CFStringTokenizerViewController; 12 | 13 | @interface CFStringTokenizerAppDelegate : NSObject { 14 | UIWindow *window; 15 | CFStringTokenizerViewController *viewController; 16 | } 17 | 18 | @property (nonatomic, retain) IBOutlet UIWindow *window; 19 | @property (nonatomic, retain) IBOutlet CFStringTokenizerViewController *viewController; 20 | 21 | @end 22 | 23 | -------------------------------------------------------------------------------- /Classes/CFStringTokenizerAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // CFStringTokenizerAppDelegate.m 3 | // CFStringTokenizer 4 | // 5 | // Created by 大森 智史 on 10/11/19. 6 | // Copyright 2010 Satoshi Oomori. All rights reserved. 7 | // 8 | 9 | #import "CFStringTokenizerAppDelegate.h" 10 | #import "CFStringTokenizerViewController.h" 11 | 12 | @implementation CFStringTokenizerAppDelegate 13 | 14 | @synthesize window; 15 | @synthesize viewController; 16 | 17 | 18 | #pragma mark - 19 | #pragma mark Application lifecycle 20 | -(NSString *)whatLanguageWithString:(CFStringRef)string2 21 | { 22 | 23 | // 24 | CFRange stringRange2 = CFRangeMake(0, [(NSString *)string2 length]) ; 25 | 26 | //解析を行うトークナイザーを作成 27 | CFStringTokenizerRef tokenizerRef2 = CFStringTokenizerCreate(NULL, //アロケーター 28 | string2, //解析する文字列 29 | stringRange2, //解析する範囲 30 | 31 | //kCFStringTokenizerUnitSentence,//センテンスか 32 | kCFStringTokenizerUnitParagraph,//パラグラフ 33 | CFLocaleCopyCurrent() 34 | //ロケール 35 | ); 36 | //次のトークンへ(最初) 37 | CFStringTokenizerAdvanceToNextToken(tokenizerRef2); 38 | 39 | //言語? 40 | CFTypeRef languageAttr2= CFStringTokenizerCopyCurrentTokenAttribute(tokenizerRef2, 41 | kCFStringTokenizerAttributeLanguage ); 42 | 43 | return (NSString *)languageAttr2; 44 | 45 | } 46 | -(void)resolveString:(CFStringRef)string 47 | { 48 | //CFStringRef string = (CFStringRef)@"toukyou"; 49 | // 50 | CFRange stringRange = CFRangeMake(0, [(NSString *)string length]) ; 51 | 52 | //解析を行うトークナイザーを作成 53 | CFStringTokenizerRef tokenizerRef = CFStringTokenizerCreate(NULL, //アロケーター 54 | string, //解析する文字列 55 | stringRange, //解析する範囲 56 | //kCFStringTokenizerUnitWord, //どういう分け方をするか語で分ける 57 | kCFStringTokenizerUnitWordBoundary, 58 | //kCFStringTokenizerUnitWord,// 59 | //kCFStringTokenizerUnitSentence,// 60 | //kCFStringTokenizerAttributeLanguage, 61 | //kCFStringTokenizerUnitWord, 62 | //kCFStringTokenizerUnitParagraph 63 | CFLocaleCopyCurrent() 64 | //ロケール 65 | ); 66 | //次のトークンへ(最初) 67 | CFStringTokenizerTokenType type = CFStringTokenizerAdvanceToNextToken(tokenizerRef); 68 | 69 | /* 70 | switch (type << 1) { 71 | case kCFStringTokenizerTokenIsCJWordMask: 72 | NSLog(@"1 kCFStringTokenizerTokenIsCJWordMask"); 73 | break; 74 | case kCFStringTokenizerTokenHasSubTokensMask: 75 | NSLog(@"1 kCFStringTokenizerTokenHasSubTokensMask"); 76 | break; 77 | 78 | 79 | 80 | default: 81 | NSLog(@"default"); 82 | break; 83 | } 84 | */ 85 | //終わりまで繰り返す 86 | while (1) { 87 | CFRange r = CFStringTokenizerGetCurrentTokenRange(tokenizerRef); 88 | if (r.location == kCFNotFound && r.length == 0){break;} 89 | 90 | NSString *token = [NSString stringWithString: 91 | [(NSString *)string substringWithRange: NSMakeRange(r.location, r.length)]]; 92 | 93 | //読み仮名 94 | CFTypeRef yomiKana= CFStringTokenizerCopyCurrentTokenAttribute(tokenizerRef, 95 | kCFStringTokenizerAttributeLatinTranscription); 96 | // kCFStringTokenizerAttributeLatinTranscription); 97 | //言語? 98 | CFTypeRef languageAttr= CFStringTokenizerCopyCurrentTokenAttribute(tokenizerRef, 99 | kCFStringTokenizerAttributeLanguage ); 100 | 101 | 102 | 103 | //if (attr != NULL) { 104 | //self.latinTranscription = (NSString *)attr; 105 | //CFRelease(attr); 106 | //} 107 | 108 | NSLog(@"(%@) よみ = %@",token,(NSString *)yomiKana); 109 | //NSLog(@"(%@) 言語 = %@",token,(NSString *)languageAttr); 110 | 111 | CFStringTokenizerTokenType aType =CFStringTokenizerAdvanceToNextToken(tokenizerRef); 112 | if(type & kCFStringTokenizerTokenHasSubTokensMask){ 113 | NSLog(@"*kCFStringTokenizerTokenHasSubTokensMask"); 114 | 115 | CFRange subTokenRanges[100]; 116 | CFIndex rangeCount = CFStringTokenizerGetCurrentSubTokens ( 117 | tokenizerRef, 118 | subTokenRanges, 119 | sizeof(subTokenRanges) / sizeof(subTokenRanges[0]), 120 | NULL 121 | ); 122 | //NSLog(@"rangeCount (%ld)",rangeCount); 123 | 124 | CFRange *ranges = NULL; 125 | CFIndex maxRangeLength = 0; 126 | NSMutableArray *strings = nil; 127 | CFIndex numRanges = CFStringTokenizerGetCurrentSubTokens(tokenizerRef, ranges, maxRangeLength, (CFMutableArrayRef)strings); 128 | 129 | NSLog(@"rangeCount (%ld)",numRanges); 130 | 131 | 132 | } 133 | if(type & kCFStringTokenizerTokenIsCJWordMask ){ 134 | NSLog(@"*kCFStringTokenizerTokenIsCJWordMask"); 135 | } 136 | 137 | if(type & kCFStringTokenizerTokenHasHasNumbersMask ){ 138 | NSLog(@"*kCFStringTokenizerTokenHasHasNumbersMask"); 139 | CFRange subTokenRanges[100]; 140 | CFIndex rangeCount = CFStringTokenizerGetCurrentSubTokens ( 141 | tokenizerRef, 142 | subTokenRanges, 143 | sizeof(subTokenRanges) / sizeof(subTokenRanges[0]), 144 | NULL 145 | ); 146 | 147 | 148 | CFRange *ranges = NULL; 149 | CFIndex maxRangeLength = 0; 150 | NSMutableArray *strings = nil; 151 | CFIndex numRanges = CFStringTokenizerGetCurrentSubTokens(tokenizerRef, ranges, maxRangeLength, (CFMutableArrayRef)strings); 152 | 153 | NSLog(@"rangeCount (%ld)",numRanges); 154 | } 155 | 156 | 157 | 158 | 159 | 160 | NSLog(@"aType(%lu) %@",aType,token); 161 | 162 | NSLog(@"***************************************************"); 163 | } 164 | CFStringRef language = CFStringTokenizerCopyCurrentTokenAttribute(tokenizerRef, kCFStringTokenizerAttributeLanguage); 165 | NSLog(@"language %@",language); 166 | 167 | CFRelease(tokenizerRef); 168 | 169 | 170 | 171 | return; 172 | } 173 | -(void)resolveString2:(CFStringRef)string 174 | { 175 | 176 | CFRange stringRange = CFRangeMake(0, [(NSString *)string length]) ; 177 | 178 | //解析を行うトークナイザーを作成 179 | CFStringTokenizerRef tokenizerRef = CFStringTokenizerCreate(NULL, //アロケーター 180 | string, //解析する文字列 181 | stringRange, //解析する範囲 182 | //kCFStringTokenizerUnitWord, //どういう分け方をするか語で分ける 183 | kCFStringTokenizerUnitWordBoundary, 184 | //kCFStringTokenizerUnitWord,// 185 | //kCFStringTokenizerUnitSentence,// 186 | //kCFStringTokenizerAttributeLanguage, 187 | //kCFStringTokenizerUnitWord, 188 | //kCFStringTokenizerUnitParagraph 189 | CFLocaleCopyCurrent() 190 | //ロケール 191 | ); 192 | //次のトークンへ(最初) 193 | CFStringTokenizerTokenType type = CFStringTokenizerAdvanceToNextToken(tokenizerRef); 194 | 195 | 196 | //終わりまで繰り返す 197 | while (1) { 198 | CFRange r = CFStringTokenizerGetCurrentTokenRange(tokenizerRef); 199 | if (r.location == kCFNotFound && r.length == 0){break;} 200 | 201 | NSString *token = [NSString stringWithString: 202 | [(NSString *)string substringWithRange: NSMakeRange(r.location, r.length)]]; 203 | 204 | //読み仮名 205 | CFTypeRef yomiKana= CFStringTokenizerCopyCurrentTokenAttribute(tokenizerRef, 206 | kCFStringTokenizerAttributeLatinTranscription); 207 | // kCFStringTokenizerAttributeLatinTranscription); 208 | //言語? 209 | CFTypeRef languageAttr= CFStringTokenizerCopyCurrentTokenAttribute(tokenizerRef, 210 | kCFStringTokenizerUnitWord ); 211 | 212 | 213 | 214 | 215 | NSLog(@"(%@) よみ = %@",token,(NSString *)yomiKana); 216 | NSLog(@"(%@) 言語 = %@",token,(NSString *)languageAttr); 217 | 218 | CFStringTokenizerTokenType aType =CFStringTokenizerAdvanceToNextToken(tokenizerRef); 219 | //if(type & kCFStringTokenizerTokenHasSubTokensMask){ 220 | NSLog(@"*kCFStringTokenizerTokenHasSubTokensMask"); 221 | 222 | CFRange subTokenRanges[100]; 223 | CFIndex rangeCount = CFStringTokenizerGetCurrentSubTokens ( 224 | tokenizerRef, 225 | subTokenRanges, 226 | sizeof(subTokenRanges) / sizeof(subTokenRanges[0]), 227 | NULL 228 | ); 229 | 230 | 231 | CFRange *ranges = NULL; 232 | CFIndex maxRangeLength = 0; 233 | NSMutableArray *strings = nil; 234 | CFIndex numRanges = CFStringTokenizerGetCurrentSubTokens(tokenizerRef, ranges, maxRangeLength, (CFMutableArrayRef)strings); 235 | 236 | NSLog(@"rangeCount (%ld)",numRanges); 237 | 238 | 239 | NSLog(@"***************************************************"); 240 | } 241 | 242 | CFRelease(tokenizerRef); 243 | return; 244 | } 245 | 246 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 247 | 248 | // Override point for customization after application launch. 249 | 250 | // Add the view controller's view to the window and display. 251 | [self.window addSubview:viewController.view]; 252 | [self.window makeKeyAndVisible]; 253 | 254 | 255 | //解析する文字を 256 | CFStringRef string = (CFStringRef)@"東京近辺の今日は、よいお天気ですね。"; 257 | //CFStringRef string = (CFStringRef)@"隣の客はよく柿喰う客だ"; 258 | 259 | 260 | [self resolveString2:string]; 261 | 262 | 263 | 264 | NSLog(@"********************** Language *****************************"); 265 | 266 | 267 | //解析可能 268 | //CFStringRef string2 = (CFStringRef)@"this is a pen."; 269 | //CFStringRef string2 = (CFStringRef)@"toukyou"; 270 | //CFStringRef string2 = (CFStringRef)@"Ik wens u allen een goede morgen.";//nl オランダ語 271 | //CFStringRef string2 = (CFStringRef)@"Volo vos omnes bene mane.";//es ラテン語 272 | CFStringRef string2 = (CFStringRef)@"여러분, 안녕하세요.";//ko 韓国語 273 | //CFStringRef string2 = (CFStringRef)@"我祝大家早上好。";//zh-Hant 中国ー繁体語 274 | //CFStringRef string2 = (CFStringRef)@"ฉันขอให้คุณทุกเช้าที่ดี";//th タイ語 275 | //CFStringRef string2 = (CFStringRef)@"Je vous souhaite à tous une bonne matinée.";//fr フランス語 276 | 277 | //解析不可 278 | //CFStringRef string2 = (CFStringRef)@"გისურვებთ ყველა კარგი დილით.";//?? グルジア語 279 | 280 | NSLog(@"(%@) 言語 = %@",string2,[self whatLanguageWithString:string2]); 281 | 282 | 283 | 284 | 285 | return YES; 286 | } 287 | 288 | 289 | - (void)applicationWillResignActive:(UIApplication *)application { 290 | /* 291 | Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 292 | Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. 293 | */ 294 | } 295 | 296 | 297 | - (void)applicationDidEnterBackground:(UIApplication *)application { 298 | /* 299 | Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 300 | If your application supports background execution, called instead of applicationWillTerminate: when the user quits. 301 | */ 302 | } 303 | 304 | 305 | - (void)applicationWillEnterForeground:(UIApplication *)application { 306 | /* 307 | Called as part of transition from the background to the inactive state: here you can undo many of the changes made on entering the background. 308 | */ 309 | } 310 | 311 | 312 | - (void)applicationDidBecomeActive:(UIApplication *)application { 313 | /* 314 | Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 315 | */ 316 | } 317 | 318 | 319 | - (void)applicationWillTerminate:(UIApplication *)application { 320 | /* 321 | Called when the application is about to terminate. 322 | See also applicationDidEnterBackground:. 323 | */ 324 | } 325 | 326 | 327 | #pragma mark - 328 | #pragma mark Memory management 329 | 330 | - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { 331 | /* 332 | Free up as much memory as possible by purging cached data objects that can be recreated (or reloaded from disk) later. 333 | */ 334 | } 335 | 336 | 337 | - (void)dealloc { 338 | [viewController release]; 339 | [window release]; 340 | [super dealloc]; 341 | } 342 | 343 | 344 | @end 345 | -------------------------------------------------------------------------------- /Classes/CFStringTokenizerViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // CFStringTokenizerViewController.h 3 | // CFStringTokenizer 4 | // 5 | // Created by 大森 智史 on 10/11/19. 6 | // Copyright 2010 Satoshi Oomori. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface CFStringTokenizerViewController : UIViewController { 12 | 13 | } 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /Classes/CFStringTokenizerViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // CFStringTokenizerViewController.m 3 | // CFStringTokenizer 4 | // 5 | // Created by 大森 智史 on 10/11/19. 6 | // Copyright 2010 Satoshi Oomori. All rights reserved. 7 | // 8 | 9 | #import "CFStringTokenizerViewController.h" 10 | 11 | @implementation CFStringTokenizerViewController 12 | 13 | 14 | 15 | /* 16 | // The designated initializer. Override to perform setup that is required before the view is loaded. 17 | - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 18 | self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 19 | if (self) { 20 | // Custom initialization 21 | } 22 | return self; 23 | } 24 | */ 25 | 26 | /* 27 | // Implement loadView to create a view hierarchy programmatically, without using a nib. 28 | - (void)loadView { 29 | } 30 | */ 31 | 32 | 33 | /* 34 | // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 35 | - (void)viewDidLoad { 36 | [super viewDidLoad]; 37 | } 38 | */ 39 | 40 | 41 | /* 42 | // Override to allow orientations other than the default portrait orientation. 43 | - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 44 | // Return YES for supported orientations 45 | return (interfaceOrientation == UIInterfaceOrientationPortrait); 46 | } 47 | */ 48 | 49 | - (void)didReceiveMemoryWarning { 50 | // Releases the view if it doesn't have a superview. 51 | [super didReceiveMemoryWarning]; 52 | 53 | // Release any cached data, images, etc that aren't in use. 54 | } 55 | 56 | - (void)viewDidUnload { 57 | // Release any retained subviews of the main view. 58 | // e.g. self.myOutlet = nil; 59 | } 60 | 61 | 62 | - (void)dealloc { 63 | [super dealloc]; 64 | } 65 | 66 | @end 67 | -------------------------------------------------------------------------------- /MainWindow.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1024 5 | 10D571 6 | 786 7 | 1038.29 8 | 460.00 9 | 10 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 11 | 112 12 | 13 | 14 | YES 15 | 16 | 17 | 18 | YES 19 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 20 | 21 | 22 | YES 23 | 24 | YES 25 | 26 | 27 | YES 28 | 29 | 30 | 31 | YES 32 | 33 | IBFilesOwner 34 | IBCocoaTouchFramework 35 | 36 | 37 | IBFirstResponder 38 | IBCocoaTouchFramework 39 | 40 | 41 | IBCocoaTouchFramework 42 | 43 | 44 | CFStringTokenizerViewController 45 | 46 | 47 | 1 48 | 49 | IBCocoaTouchFramework 50 | NO 51 | 52 | 53 | 54 | 292 55 | {320, 480} 56 | 57 | 1 58 | MSAxIDEAA 59 | 60 | NO 61 | NO 62 | 63 | IBCocoaTouchFramework 64 | YES 65 | 66 | 67 | 68 | 69 | YES 70 | 71 | 72 | delegate 73 | 74 | 75 | 76 | 4 77 | 78 | 79 | 80 | viewController 81 | 82 | 83 | 84 | 11 85 | 86 | 87 | 88 | window 89 | 90 | 91 | 92 | 14 93 | 94 | 95 | 96 | 97 | YES 98 | 99 | 0 100 | 101 | 102 | 103 | 104 | 105 | -1 106 | 107 | 108 | File's Owner 109 | 110 | 111 | 3 112 | 113 | 114 | CFStringTokenizer App Delegate 115 | 116 | 117 | -2 118 | 119 | 120 | 121 | 122 | 10 123 | 124 | 125 | 126 | 127 | 12 128 | 129 | 130 | 131 | 132 | 133 | 134 | YES 135 | 136 | YES 137 | -1.CustomClassName 138 | -2.CustomClassName 139 | 10.CustomClassName 140 | 10.IBEditorWindowLastContentRect 141 | 10.IBPluginDependency 142 | 12.IBEditorWindowLastContentRect 143 | 12.IBPluginDependency 144 | 3.CustomClassName 145 | 3.IBPluginDependency 146 | 147 | 148 | YES 149 | UIApplication 150 | UIResponder 151 | CFStringTokenizerViewController 152 | {{234, 376}, {320, 480}} 153 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 154 | {{525, 346}, {320, 480}} 155 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 156 | CFStringTokenizerAppDelegate 157 | com.apple.InterfaceBuilder.IBCocoaTouchPlugin 158 | 159 | 160 | 161 | YES 162 | 163 | 164 | YES 165 | 166 | 167 | 168 | 169 | YES 170 | 171 | 172 | YES 173 | 174 | 175 | 176 | 15 177 | 178 | 179 | 180 | YES 181 | 182 | UIWindow 183 | UIView 184 | 185 | IBUserSource 186 | 187 | 188 | 189 | 190 | CFStringTokenizerAppDelegate 191 | NSObject 192 | 193 | YES 194 | 195 | YES 196 | viewController 197 | window 198 | 199 | 200 | YES 201 | CFStringTokenizerViewController 202 | UIWindow 203 | 204 | 205 | 206 | YES 207 | 208 | YES 209 | viewController 210 | window 211 | 212 | 213 | YES 214 | 215 | viewController 216 | CFStringTokenizerViewController 217 | 218 | 219 | window 220 | UIWindow 221 | 222 | 223 | 224 | 225 | IBProjectSource 226 | Classes/CFStringTokenizerAppDelegate.h 227 | 228 | 229 | 230 | CFStringTokenizerAppDelegate 231 | NSObject 232 | 233 | IBUserSource 234 | 235 | 236 | 237 | 238 | CFStringTokenizerViewController 239 | UIViewController 240 | 241 | IBProjectSource 242 | Classes/CFStringTokenizerViewController.h 243 | 244 | 245 | 246 | 247 | YES 248 | 249 | NSObject 250 | 251 | IBFrameworkSource 252 | Foundation.framework/Headers/NSError.h 253 | 254 | 255 | 256 | NSObject 257 | 258 | IBFrameworkSource 259 | Foundation.framework/Headers/NSFileManager.h 260 | 261 | 262 | 263 | NSObject 264 | 265 | IBFrameworkSource 266 | Foundation.framework/Headers/NSKeyValueCoding.h 267 | 268 | 269 | 270 | NSObject 271 | 272 | IBFrameworkSource 273 | Foundation.framework/Headers/NSKeyValueObserving.h 274 | 275 | 276 | 277 | NSObject 278 | 279 | IBFrameworkSource 280 | Foundation.framework/Headers/NSKeyedArchiver.h 281 | 282 | 283 | 284 | NSObject 285 | 286 | IBFrameworkSource 287 | Foundation.framework/Headers/NSObject.h 288 | 289 | 290 | 291 | NSObject 292 | 293 | IBFrameworkSource 294 | Foundation.framework/Headers/NSRunLoop.h 295 | 296 | 297 | 298 | NSObject 299 | 300 | IBFrameworkSource 301 | Foundation.framework/Headers/NSThread.h 302 | 303 | 304 | 305 | NSObject 306 | 307 | IBFrameworkSource 308 | Foundation.framework/Headers/NSURL.h 309 | 310 | 311 | 312 | NSObject 313 | 314 | IBFrameworkSource 315 | Foundation.framework/Headers/NSURLConnection.h 316 | 317 | 318 | 319 | NSObject 320 | 321 | IBFrameworkSource 322 | UIKit.framework/Headers/UIAccessibility.h 323 | 324 | 325 | 326 | NSObject 327 | 328 | IBFrameworkSource 329 | UIKit.framework/Headers/UINibLoading.h 330 | 331 | 332 | 333 | NSObject 334 | 335 | IBFrameworkSource 336 | UIKit.framework/Headers/UIResponder.h 337 | 338 | 339 | 340 | UIApplication 341 | UIResponder 342 | 343 | IBFrameworkSource 344 | UIKit.framework/Headers/UIApplication.h 345 | 346 | 347 | 348 | UIResponder 349 | NSObject 350 | 351 | 352 | 353 | UISearchBar 354 | UIView 355 | 356 | IBFrameworkSource 357 | UIKit.framework/Headers/UISearchBar.h 358 | 359 | 360 | 361 | UISearchDisplayController 362 | NSObject 363 | 364 | IBFrameworkSource 365 | UIKit.framework/Headers/UISearchDisplayController.h 366 | 367 | 368 | 369 | UIView 370 | 371 | IBFrameworkSource 372 | UIKit.framework/Headers/UITextField.h 373 | 374 | 375 | 376 | UIView 377 | UIResponder 378 | 379 | IBFrameworkSource 380 | UIKit.framework/Headers/UIView.h 381 | 382 | 383 | 384 | UIViewController 385 | 386 | IBFrameworkSource 387 | UIKit.framework/Headers/UINavigationController.h 388 | 389 | 390 | 391 | UIViewController 392 | 393 | IBFrameworkSource 394 | UIKit.framework/Headers/UIPopoverController.h 395 | 396 | 397 | 398 | UIViewController 399 | 400 | IBFrameworkSource 401 | UIKit.framework/Headers/UISplitViewController.h 402 | 403 | 404 | 405 | UIViewController 406 | 407 | IBFrameworkSource 408 | UIKit.framework/Headers/UITabBarController.h 409 | 410 | 411 | 412 | UIViewController 413 | UIResponder 414 | 415 | IBFrameworkSource 416 | UIKit.framework/Headers/UIViewController.h 417 | 418 | 419 | 420 | UIWindow 421 | UIView 422 | 423 | IBFrameworkSource 424 | UIKit.framework/Headers/UIWindow.h 425 | 426 | 427 | 428 | 429 | 0 430 | IBCocoaTouchFramework 431 | 432 | com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS 433 | 434 | 435 | 436 | com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 437 | 438 | 439 | YES 440 | CFStringTokenizer.xcodeproj 441 | 3 442 | 112 443 | 444 | 445 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/oomori/CFStringTokenizer/373285bcb1ef227cf7a150a4efc9f17c9b4847f7/README -------------------------------------------------------------------------------- /main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CFStringTokenizer 4 | // 5 | // Created by 大森 智史 on 10/11/19. 6 | // Copyright 2010 Satoshi Oomori. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) { 12 | 13 | NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; 14 | int retVal = UIApplicationMain(argc, argv, nil, nil); 15 | [pool release]; 16 | return retVal; 17 | } 18 | --------------------------------------------------------------------------------