├── .gitignore ├── ANCSExample.xcodeproj ├── project.pbxproj └── project.xcworkspace │ └── contents.xcworkspacedata ├── ANCSExample ├── AEAppDelegate.h ├── AEAppDelegate.m ├── AEViewController.h ├── AEViewController.m ├── ANCSExample-Info.plist ├── ANCSExample-Prefix.pch ├── Base.lproj │ ├── Main_iPad.storyboard │ └── Main_iPhone.storyboard ├── Images.xcassets │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── LaunchImage.launchimage │ │ └── Contents.json ├── en.lproj │ └── InfoPlist.strings └── main.m ├── ANCSExampleTests ├── ANCSExampleTests-Info.plist ├── ANCSExampleTests.m └── en.lproj │ └── InfoPlist.strings ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | .DS_Store 3 | */build/* 4 | *.pbxuser 5 | !default.pbxuser 6 | *.mode1v3 7 | !default.mode1v3 8 | *.mode2v3 9 | !default.mode2v3 10 | *.perspectivev3 11 | !default.perspectivev3 12 | xcuserdata 13 | profile 14 | *.moved-aside 15 | DerivedData 16 | .idea/ 17 | *.hmap 18 | *.xccheckout 19 | 20 | #CocoaPods 21 | Pods 22 | 23 | ANCSExample.xcodeproj/project.xcworkspace/xcuserdata/ 24 | ANCSExample.xcodeproj/xcuserdata/ 25 | 26 | -------------------------------------------------------------------------------- /ANCSExample.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | AFEDF82A1804CB7100F0FE88 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AFEDF8291804CB7100F0FE88 /* Foundation.framework */; }; 11 | AFEDF82C1804CB7100F0FE88 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AFEDF82B1804CB7100F0FE88 /* CoreGraphics.framework */; }; 12 | AFEDF82E1804CB7100F0FE88 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AFEDF82D1804CB7100F0FE88 /* UIKit.framework */; }; 13 | AFEDF8341804CB7100F0FE88 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = AFEDF8321804CB7100F0FE88 /* InfoPlist.strings */; }; 14 | AFEDF8361804CB7100F0FE88 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = AFEDF8351804CB7100F0FE88 /* main.m */; }; 15 | AFEDF83A1804CB7100F0FE88 /* AEAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = AFEDF8391804CB7100F0FE88 /* AEAppDelegate.m */; }; 16 | AFEDF83D1804CB7100F0FE88 /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AFEDF83B1804CB7100F0FE88 /* Main_iPhone.storyboard */; }; 17 | AFEDF8401804CB7100F0FE88 /* Main_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AFEDF83E1804CB7100F0FE88 /* Main_iPad.storyboard */; }; 18 | AFEDF8431804CB7100F0FE88 /* AEViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = AFEDF8421804CB7100F0FE88 /* AEViewController.m */; }; 19 | AFEDF8451804CB7100F0FE88 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AFEDF8441804CB7100F0FE88 /* Images.xcassets */; }; 20 | AFEDF84C1804CB7100F0FE88 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AFEDF84B1804CB7100F0FE88 /* XCTest.framework */; }; 21 | AFEDF84D1804CB7100F0FE88 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AFEDF8291804CB7100F0FE88 /* Foundation.framework */; }; 22 | AFEDF84E1804CB7100F0FE88 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AFEDF82D1804CB7100F0FE88 /* UIKit.framework */; }; 23 | AFEDF8561804CB7100F0FE88 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = AFEDF8541804CB7100F0FE88 /* InfoPlist.strings */; }; 24 | AFEDF8581804CB7100F0FE88 /* ANCSExampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = AFEDF8571804CB7100F0FE88 /* ANCSExampleTests.m */; }; 25 | AFEDF8621804CC1500F0FE88 /* CoreBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AFEDF8611804CC1500F0FE88 /* CoreBluetooth.framework */; }; 26 | /* End PBXBuildFile section */ 27 | 28 | /* Begin PBXContainerItemProxy section */ 29 | AFEDF84F1804CB7100F0FE88 /* PBXContainerItemProxy */ = { 30 | isa = PBXContainerItemProxy; 31 | containerPortal = AFEDF81E1804CB7100F0FE88 /* Project object */; 32 | proxyType = 1; 33 | remoteGlobalIDString = AFEDF8251804CB7100F0FE88; 34 | remoteInfo = ANCSExample; 35 | }; 36 | /* End PBXContainerItemProxy section */ 37 | 38 | /* Begin PBXFileReference section */ 39 | AFEDF8261804CB7100F0FE88 /* ANCSExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ANCSExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; 40 | AFEDF8291804CB7100F0FE88 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 41 | AFEDF82B1804CB7100F0FE88 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; 42 | AFEDF82D1804CB7100F0FE88 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 43 | AFEDF8311804CB7100F0FE88 /* ANCSExample-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ANCSExample-Info.plist"; sourceTree = ""; }; 44 | AFEDF8331804CB7100F0FE88 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 45 | AFEDF8351804CB7100F0FE88 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 46 | AFEDF8371804CB7100F0FE88 /* ANCSExample-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ANCSExample-Prefix.pch"; sourceTree = ""; }; 47 | AFEDF8381804CB7100F0FE88 /* AEAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AEAppDelegate.h; sourceTree = ""; }; 48 | AFEDF8391804CB7100F0FE88 /* AEAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AEAppDelegate.m; sourceTree = ""; }; 49 | AFEDF83C1804CB7100F0FE88 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPhone.storyboard; sourceTree = ""; }; 50 | AFEDF83F1804CB7100F0FE88 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPad.storyboard; sourceTree = ""; }; 51 | AFEDF8411804CB7100F0FE88 /* AEViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AEViewController.h; sourceTree = ""; }; 52 | AFEDF8421804CB7100F0FE88 /* AEViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AEViewController.m; sourceTree = ""; }; 53 | AFEDF8441804CB7100F0FE88 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 54 | AFEDF84A1804CB7100F0FE88 /* ANCSExampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ANCSExampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 55 | AFEDF84B1804CB7100F0FE88 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; 56 | AFEDF8531804CB7100F0FE88 /* ANCSExampleTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "ANCSExampleTests-Info.plist"; sourceTree = ""; }; 57 | AFEDF8551804CB7100F0FE88 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 58 | AFEDF8571804CB7100F0FE88 /* ANCSExampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ANCSExampleTests.m; sourceTree = ""; }; 59 | AFEDF8611804CC1500F0FE88 /* CoreBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreBluetooth.framework; path = System/Library/Frameworks/CoreBluetooth.framework; sourceTree = SDKROOT; }; 60 | /* End PBXFileReference section */ 61 | 62 | /* Begin PBXFrameworksBuildPhase section */ 63 | AFEDF8231804CB7100F0FE88 /* Frameworks */ = { 64 | isa = PBXFrameworksBuildPhase; 65 | buildActionMask = 2147483647; 66 | files = ( 67 | AFEDF8621804CC1500F0FE88 /* CoreBluetooth.framework in Frameworks */, 68 | AFEDF82C1804CB7100F0FE88 /* CoreGraphics.framework in Frameworks */, 69 | AFEDF82E1804CB7100F0FE88 /* UIKit.framework in Frameworks */, 70 | AFEDF82A1804CB7100F0FE88 /* Foundation.framework in Frameworks */, 71 | ); 72 | runOnlyForDeploymentPostprocessing = 0; 73 | }; 74 | AFEDF8471804CB7100F0FE88 /* Frameworks */ = { 75 | isa = PBXFrameworksBuildPhase; 76 | buildActionMask = 2147483647; 77 | files = ( 78 | AFEDF84C1804CB7100F0FE88 /* XCTest.framework in Frameworks */, 79 | AFEDF84E1804CB7100F0FE88 /* UIKit.framework in Frameworks */, 80 | AFEDF84D1804CB7100F0FE88 /* Foundation.framework in Frameworks */, 81 | ); 82 | runOnlyForDeploymentPostprocessing = 0; 83 | }; 84 | /* End PBXFrameworksBuildPhase section */ 85 | 86 | /* Begin PBXGroup section */ 87 | AFEDF81D1804CB7100F0FE88 = { 88 | isa = PBXGroup; 89 | children = ( 90 | AFEDF82F1804CB7100F0FE88 /* ANCSExample */, 91 | AFEDF8511804CB7100F0FE88 /* ANCSExampleTests */, 92 | AFEDF8281804CB7100F0FE88 /* Frameworks */, 93 | AFEDF8271804CB7100F0FE88 /* Products */, 94 | ); 95 | sourceTree = ""; 96 | }; 97 | AFEDF8271804CB7100F0FE88 /* Products */ = { 98 | isa = PBXGroup; 99 | children = ( 100 | AFEDF8261804CB7100F0FE88 /* ANCSExample.app */, 101 | AFEDF84A1804CB7100F0FE88 /* ANCSExampleTests.xctest */, 102 | ); 103 | name = Products; 104 | sourceTree = ""; 105 | }; 106 | AFEDF8281804CB7100F0FE88 /* Frameworks */ = { 107 | isa = PBXGroup; 108 | children = ( 109 | AFEDF8611804CC1500F0FE88 /* CoreBluetooth.framework */, 110 | AFEDF8291804CB7100F0FE88 /* Foundation.framework */, 111 | AFEDF82B1804CB7100F0FE88 /* CoreGraphics.framework */, 112 | AFEDF82D1804CB7100F0FE88 /* UIKit.framework */, 113 | AFEDF84B1804CB7100F0FE88 /* XCTest.framework */, 114 | ); 115 | name = Frameworks; 116 | sourceTree = ""; 117 | }; 118 | AFEDF82F1804CB7100F0FE88 /* ANCSExample */ = { 119 | isa = PBXGroup; 120 | children = ( 121 | AFEDF8381804CB7100F0FE88 /* AEAppDelegate.h */, 122 | AFEDF8391804CB7100F0FE88 /* AEAppDelegate.m */, 123 | AFEDF83B1804CB7100F0FE88 /* Main_iPhone.storyboard */, 124 | AFEDF83E1804CB7100F0FE88 /* Main_iPad.storyboard */, 125 | AFEDF8411804CB7100F0FE88 /* AEViewController.h */, 126 | AFEDF8421804CB7100F0FE88 /* AEViewController.m */, 127 | AFEDF8441804CB7100F0FE88 /* Images.xcassets */, 128 | AFEDF8301804CB7100F0FE88 /* Supporting Files */, 129 | ); 130 | path = ANCSExample; 131 | sourceTree = ""; 132 | }; 133 | AFEDF8301804CB7100F0FE88 /* Supporting Files */ = { 134 | isa = PBXGroup; 135 | children = ( 136 | AFEDF8311804CB7100F0FE88 /* ANCSExample-Info.plist */, 137 | AFEDF8321804CB7100F0FE88 /* InfoPlist.strings */, 138 | AFEDF8351804CB7100F0FE88 /* main.m */, 139 | AFEDF8371804CB7100F0FE88 /* ANCSExample-Prefix.pch */, 140 | ); 141 | name = "Supporting Files"; 142 | sourceTree = ""; 143 | }; 144 | AFEDF8511804CB7100F0FE88 /* ANCSExampleTests */ = { 145 | isa = PBXGroup; 146 | children = ( 147 | AFEDF8571804CB7100F0FE88 /* ANCSExampleTests.m */, 148 | AFEDF8521804CB7100F0FE88 /* Supporting Files */, 149 | ); 150 | path = ANCSExampleTests; 151 | sourceTree = ""; 152 | }; 153 | AFEDF8521804CB7100F0FE88 /* Supporting Files */ = { 154 | isa = PBXGroup; 155 | children = ( 156 | AFEDF8531804CB7100F0FE88 /* ANCSExampleTests-Info.plist */, 157 | AFEDF8541804CB7100F0FE88 /* InfoPlist.strings */, 158 | ); 159 | name = "Supporting Files"; 160 | sourceTree = ""; 161 | }; 162 | /* End PBXGroup section */ 163 | 164 | /* Begin PBXNativeTarget section */ 165 | AFEDF8251804CB7100F0FE88 /* ANCSExample */ = { 166 | isa = PBXNativeTarget; 167 | buildConfigurationList = AFEDF85B1804CB7100F0FE88 /* Build configuration list for PBXNativeTarget "ANCSExample" */; 168 | buildPhases = ( 169 | AFEDF8221804CB7100F0FE88 /* Sources */, 170 | AFEDF8231804CB7100F0FE88 /* Frameworks */, 171 | AFEDF8241804CB7100F0FE88 /* Resources */, 172 | ); 173 | buildRules = ( 174 | ); 175 | dependencies = ( 176 | ); 177 | name = ANCSExample; 178 | productName = ANCSExample; 179 | productReference = AFEDF8261804CB7100F0FE88 /* ANCSExample.app */; 180 | productType = "com.apple.product-type.application"; 181 | }; 182 | AFEDF8491804CB7100F0FE88 /* ANCSExampleTests */ = { 183 | isa = PBXNativeTarget; 184 | buildConfigurationList = AFEDF85E1804CB7100F0FE88 /* Build configuration list for PBXNativeTarget "ANCSExampleTests" */; 185 | buildPhases = ( 186 | AFEDF8461804CB7100F0FE88 /* Sources */, 187 | AFEDF8471804CB7100F0FE88 /* Frameworks */, 188 | AFEDF8481804CB7100F0FE88 /* Resources */, 189 | ); 190 | buildRules = ( 191 | ); 192 | dependencies = ( 193 | AFEDF8501804CB7100F0FE88 /* PBXTargetDependency */, 194 | ); 195 | name = ANCSExampleTests; 196 | productName = ANCSExampleTests; 197 | productReference = AFEDF84A1804CB7100F0FE88 /* ANCSExampleTests.xctest */; 198 | productType = "com.apple.product-type.bundle.unit-test"; 199 | }; 200 | /* End PBXNativeTarget section */ 201 | 202 | /* Begin PBXProject section */ 203 | AFEDF81E1804CB7100F0FE88 /* Project object */ = { 204 | isa = PBXProject; 205 | attributes = { 206 | CLASSPREFIX = AE; 207 | LastUpgradeCheck = 0500; 208 | ORGANIZATIONNAME = "Sandeep Mistry"; 209 | TargetAttributes = { 210 | AFEDF8491804CB7100F0FE88 = { 211 | TestTargetID = AFEDF8251804CB7100F0FE88; 212 | }; 213 | }; 214 | }; 215 | buildConfigurationList = AFEDF8211804CB7100F0FE88 /* Build configuration list for PBXProject "ANCSExample" */; 216 | compatibilityVersion = "Xcode 3.2"; 217 | developmentRegion = English; 218 | hasScannedForEncodings = 0; 219 | knownRegions = ( 220 | en, 221 | Base, 222 | ); 223 | mainGroup = AFEDF81D1804CB7100F0FE88; 224 | productRefGroup = AFEDF8271804CB7100F0FE88 /* Products */; 225 | projectDirPath = ""; 226 | projectRoot = ""; 227 | targets = ( 228 | AFEDF8251804CB7100F0FE88 /* ANCSExample */, 229 | AFEDF8491804CB7100F0FE88 /* ANCSExampleTests */, 230 | ); 231 | }; 232 | /* End PBXProject section */ 233 | 234 | /* Begin PBXResourcesBuildPhase section */ 235 | AFEDF8241804CB7100F0FE88 /* Resources */ = { 236 | isa = PBXResourcesBuildPhase; 237 | buildActionMask = 2147483647; 238 | files = ( 239 | AFEDF8401804CB7100F0FE88 /* Main_iPad.storyboard in Resources */, 240 | AFEDF8451804CB7100F0FE88 /* Images.xcassets in Resources */, 241 | AFEDF83D1804CB7100F0FE88 /* Main_iPhone.storyboard in Resources */, 242 | AFEDF8341804CB7100F0FE88 /* InfoPlist.strings in Resources */, 243 | ); 244 | runOnlyForDeploymentPostprocessing = 0; 245 | }; 246 | AFEDF8481804CB7100F0FE88 /* Resources */ = { 247 | isa = PBXResourcesBuildPhase; 248 | buildActionMask = 2147483647; 249 | files = ( 250 | AFEDF8561804CB7100F0FE88 /* InfoPlist.strings in Resources */, 251 | ); 252 | runOnlyForDeploymentPostprocessing = 0; 253 | }; 254 | /* End PBXResourcesBuildPhase section */ 255 | 256 | /* Begin PBXSourcesBuildPhase section */ 257 | AFEDF8221804CB7100F0FE88 /* Sources */ = { 258 | isa = PBXSourcesBuildPhase; 259 | buildActionMask = 2147483647; 260 | files = ( 261 | AFEDF83A1804CB7100F0FE88 /* AEAppDelegate.m in Sources */, 262 | AFEDF8431804CB7100F0FE88 /* AEViewController.m in Sources */, 263 | AFEDF8361804CB7100F0FE88 /* main.m in Sources */, 264 | ); 265 | runOnlyForDeploymentPostprocessing = 0; 266 | }; 267 | AFEDF8461804CB7100F0FE88 /* Sources */ = { 268 | isa = PBXSourcesBuildPhase; 269 | buildActionMask = 2147483647; 270 | files = ( 271 | AFEDF8581804CB7100F0FE88 /* ANCSExampleTests.m in Sources */, 272 | ); 273 | runOnlyForDeploymentPostprocessing = 0; 274 | }; 275 | /* End PBXSourcesBuildPhase section */ 276 | 277 | /* Begin PBXTargetDependency section */ 278 | AFEDF8501804CB7100F0FE88 /* PBXTargetDependency */ = { 279 | isa = PBXTargetDependency; 280 | target = AFEDF8251804CB7100F0FE88 /* ANCSExample */; 281 | targetProxy = AFEDF84F1804CB7100F0FE88 /* PBXContainerItemProxy */; 282 | }; 283 | /* End PBXTargetDependency section */ 284 | 285 | /* Begin PBXVariantGroup section */ 286 | AFEDF8321804CB7100F0FE88 /* InfoPlist.strings */ = { 287 | isa = PBXVariantGroup; 288 | children = ( 289 | AFEDF8331804CB7100F0FE88 /* en */, 290 | ); 291 | name = InfoPlist.strings; 292 | sourceTree = ""; 293 | }; 294 | AFEDF83B1804CB7100F0FE88 /* Main_iPhone.storyboard */ = { 295 | isa = PBXVariantGroup; 296 | children = ( 297 | AFEDF83C1804CB7100F0FE88 /* Base */, 298 | ); 299 | name = Main_iPhone.storyboard; 300 | sourceTree = ""; 301 | }; 302 | AFEDF83E1804CB7100F0FE88 /* Main_iPad.storyboard */ = { 303 | isa = PBXVariantGroup; 304 | children = ( 305 | AFEDF83F1804CB7100F0FE88 /* Base */, 306 | ); 307 | name = Main_iPad.storyboard; 308 | sourceTree = ""; 309 | }; 310 | AFEDF8541804CB7100F0FE88 /* InfoPlist.strings */ = { 311 | isa = PBXVariantGroup; 312 | children = ( 313 | AFEDF8551804CB7100F0FE88 /* en */, 314 | ); 315 | name = InfoPlist.strings; 316 | sourceTree = ""; 317 | }; 318 | /* End PBXVariantGroup section */ 319 | 320 | /* Begin XCBuildConfiguration section */ 321 | AFEDF8591804CB7100F0FE88 /* Debug */ = { 322 | isa = XCBuildConfiguration; 323 | buildSettings = { 324 | ALWAYS_SEARCH_USER_PATHS = NO; 325 | ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; 326 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 327 | CLANG_CXX_LIBRARY = "libc++"; 328 | CLANG_ENABLE_MODULES = YES; 329 | CLANG_ENABLE_OBJC_ARC = YES; 330 | CLANG_WARN_BOOL_CONVERSION = YES; 331 | CLANG_WARN_CONSTANT_CONVERSION = YES; 332 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 333 | CLANG_WARN_EMPTY_BODY = YES; 334 | CLANG_WARN_ENUM_CONVERSION = YES; 335 | CLANG_WARN_INT_CONVERSION = YES; 336 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 337 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 338 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 339 | COPY_PHASE_STRIP = NO; 340 | GCC_C_LANGUAGE_STANDARD = gnu99; 341 | GCC_DYNAMIC_NO_PIC = NO; 342 | GCC_OPTIMIZATION_LEVEL = 0; 343 | GCC_PREPROCESSOR_DEFINITIONS = ( 344 | "DEBUG=1", 345 | "$(inherited)", 346 | ); 347 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 348 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 349 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 350 | GCC_WARN_UNDECLARED_SELECTOR = YES; 351 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 352 | GCC_WARN_UNUSED_FUNCTION = YES; 353 | GCC_WARN_UNUSED_VARIABLE = YES; 354 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; 355 | ONLY_ACTIVE_ARCH = YES; 356 | SDKROOT = iphoneos; 357 | TARGETED_DEVICE_FAMILY = "1,2"; 358 | }; 359 | name = Debug; 360 | }; 361 | AFEDF85A1804CB7100F0FE88 /* Release */ = { 362 | isa = XCBuildConfiguration; 363 | buildSettings = { 364 | ALWAYS_SEARCH_USER_PATHS = NO; 365 | ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; 366 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 367 | CLANG_CXX_LIBRARY = "libc++"; 368 | CLANG_ENABLE_MODULES = YES; 369 | CLANG_ENABLE_OBJC_ARC = YES; 370 | CLANG_WARN_BOOL_CONVERSION = YES; 371 | CLANG_WARN_CONSTANT_CONVERSION = YES; 372 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 373 | CLANG_WARN_EMPTY_BODY = YES; 374 | CLANG_WARN_ENUM_CONVERSION = YES; 375 | CLANG_WARN_INT_CONVERSION = YES; 376 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 377 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 378 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 379 | COPY_PHASE_STRIP = YES; 380 | ENABLE_NS_ASSERTIONS = NO; 381 | GCC_C_LANGUAGE_STANDARD = gnu99; 382 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 383 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 384 | GCC_WARN_UNDECLARED_SELECTOR = YES; 385 | GCC_WARN_UNINITIALIZED_AUTOS = YES; 386 | GCC_WARN_UNUSED_FUNCTION = YES; 387 | GCC_WARN_UNUSED_VARIABLE = YES; 388 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; 389 | SDKROOT = iphoneos; 390 | TARGETED_DEVICE_FAMILY = "1,2"; 391 | VALIDATE_PRODUCT = YES; 392 | }; 393 | name = Release; 394 | }; 395 | AFEDF85C1804CB7100F0FE88 /* Debug */ = { 396 | isa = XCBuildConfiguration; 397 | buildSettings = { 398 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 399 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 400 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 401 | GCC_PREFIX_HEADER = "ANCSExample/ANCSExample-Prefix.pch"; 402 | INFOPLIST_FILE = "ANCSExample/ANCSExample-Info.plist"; 403 | PRODUCT_NAME = "$(TARGET_NAME)"; 404 | WRAPPER_EXTENSION = app; 405 | }; 406 | name = Debug; 407 | }; 408 | AFEDF85D1804CB7100F0FE88 /* Release */ = { 409 | isa = XCBuildConfiguration; 410 | buildSettings = { 411 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 412 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 413 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 414 | GCC_PREFIX_HEADER = "ANCSExample/ANCSExample-Prefix.pch"; 415 | INFOPLIST_FILE = "ANCSExample/ANCSExample-Info.plist"; 416 | PRODUCT_NAME = "$(TARGET_NAME)"; 417 | WRAPPER_EXTENSION = app; 418 | }; 419 | name = Release; 420 | }; 421 | AFEDF85F1804CB7100F0FE88 /* Debug */ = { 422 | isa = XCBuildConfiguration; 423 | buildSettings = { 424 | ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; 425 | BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/ANCSExample.app/ANCSExample"; 426 | FRAMEWORK_SEARCH_PATHS = ( 427 | "$(SDKROOT)/Developer/Library/Frameworks", 428 | "$(inherited)", 429 | "$(DEVELOPER_FRAMEWORKS_DIR)", 430 | ); 431 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 432 | GCC_PREFIX_HEADER = "ANCSExample/ANCSExample-Prefix.pch"; 433 | GCC_PREPROCESSOR_DEFINITIONS = ( 434 | "DEBUG=1", 435 | "$(inherited)", 436 | ); 437 | INFOPLIST_FILE = "ANCSExampleTests/ANCSExampleTests-Info.plist"; 438 | PRODUCT_NAME = "$(TARGET_NAME)"; 439 | TEST_HOST = "$(BUNDLE_LOADER)"; 440 | WRAPPER_EXTENSION = xctest; 441 | }; 442 | name = Debug; 443 | }; 444 | AFEDF8601804CB7100F0FE88 /* Release */ = { 445 | isa = XCBuildConfiguration; 446 | buildSettings = { 447 | ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; 448 | BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/ANCSExample.app/ANCSExample"; 449 | FRAMEWORK_SEARCH_PATHS = ( 450 | "$(SDKROOT)/Developer/Library/Frameworks", 451 | "$(inherited)", 452 | "$(DEVELOPER_FRAMEWORKS_DIR)", 453 | ); 454 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 455 | GCC_PREFIX_HEADER = "ANCSExample/ANCSExample-Prefix.pch"; 456 | INFOPLIST_FILE = "ANCSExampleTests/ANCSExampleTests-Info.plist"; 457 | PRODUCT_NAME = "$(TARGET_NAME)"; 458 | TEST_HOST = "$(BUNDLE_LOADER)"; 459 | WRAPPER_EXTENSION = xctest; 460 | }; 461 | name = Release; 462 | }; 463 | /* End XCBuildConfiguration section */ 464 | 465 | /* Begin XCConfigurationList section */ 466 | AFEDF8211804CB7100F0FE88 /* Build configuration list for PBXProject "ANCSExample" */ = { 467 | isa = XCConfigurationList; 468 | buildConfigurations = ( 469 | AFEDF8591804CB7100F0FE88 /* Debug */, 470 | AFEDF85A1804CB7100F0FE88 /* Release */, 471 | ); 472 | defaultConfigurationIsVisible = 0; 473 | defaultConfigurationName = Release; 474 | }; 475 | AFEDF85B1804CB7100F0FE88 /* Build configuration list for PBXNativeTarget "ANCSExample" */ = { 476 | isa = XCConfigurationList; 477 | buildConfigurations = ( 478 | AFEDF85C1804CB7100F0FE88 /* Debug */, 479 | AFEDF85D1804CB7100F0FE88 /* Release */, 480 | ); 481 | defaultConfigurationIsVisible = 0; 482 | }; 483 | AFEDF85E1804CB7100F0FE88 /* Build configuration list for PBXNativeTarget "ANCSExampleTests" */ = { 484 | isa = XCConfigurationList; 485 | buildConfigurations = ( 486 | AFEDF85F1804CB7100F0FE88 /* Debug */, 487 | AFEDF8601804CB7100F0FE88 /* Release */, 488 | ); 489 | defaultConfigurationIsVisible = 0; 490 | }; 491 | /* End XCConfigurationList section */ 492 | }; 493 | rootObject = AFEDF81E1804CB7100F0FE88 /* Project object */; 494 | } 495 | -------------------------------------------------------------------------------- /ANCSExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ANCSExample/AEAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AEAppDelegate.h 3 | // ANCSExample 4 | // 5 | // Created by Sandeep Mistry on 2013-10-08. 6 | // Copyright (c) 2013 Sandeep Mistry. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import 12 | 13 | @interface AEAppDelegate : UIResponder 14 | 15 | @property (strong, nonatomic) UIWindow *window; 16 | 17 | @property (strong, nonatomic) CBPeripheralManager *peripheralManager; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /ANCSExample/AEAppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AEAppDelegate.m 3 | // ANCSExample 4 | // 5 | // Created by Sandeep Mistry on 2013-10-08. 6 | // Copyright (c) 2013 Sandeep Mistry. All rights reserved. 7 | // 8 | 9 | #import "AEAppDelegate.h" 10 | 11 | @implementation AEAppDelegate 12 | 13 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 14 | { 15 | // Override point for customization after application launch. 16 | self.peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:nil]; 17 | 18 | return YES; 19 | } 20 | 21 | - (void)peripheralManagerDidUpdateState:(CBPeripheralManager *)peripheral 22 | { 23 | if (peripheral.state == CBPeripheralManagerStatePoweredOn) { 24 | [self.peripheralManager startAdvertising:@{ 25 | CBAdvertisementDataLocalNameKey: [[UIDevice currentDevice] name] 26 | }]; 27 | } else { 28 | [self.peripheralManager stopAdvertising]; 29 | } 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /ANCSExample/AEViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // AEViewController.h 3 | // ANCSExample 4 | // 5 | // Created by Sandeep Mistry on 2013-10-08. 6 | // Copyright (c) 2013 Sandeep Mistry. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AEViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /ANCSExample/AEViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // AEViewController.m 3 | // ANCSExample 4 | // 5 | // Created by Sandeep Mistry on 2013-10-08. 6 | // Copyright (c) 2013 Sandeep Mistry. All rights reserved. 7 | // 8 | 9 | #import "AEViewController.h" 10 | 11 | @interface AEViewController () 12 | 13 | @end 14 | 15 | @implementation AEViewController 16 | 17 | - (void)viewDidLoad 18 | { 19 | [super viewDidLoad]; 20 | // Do any additional setup after loading the view, typically from a nib. 21 | } 22 | 23 | - (void)didReceiveMemoryWarning 24 | { 25 | [super didReceiveMemoryWarning]; 26 | // Dispose of any resources that can be recreated. 27 | } 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /ANCSExample/ANCSExample-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIdentifier 12 | ca.sandeepmistry.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | UIMainStoryboardFile 28 | Main_iPhone 29 | UIMainStoryboardFile~ipad 30 | Main_iPad 31 | UIRequiredDeviceCapabilities 32 | 33 | armv7 34 | bluetooth-le 35 | 36 | UIBackgroundModes 37 | 38 | bluetooth-peripheral 39 | 40 | UISupportedInterfaceOrientations 41 | 42 | UIInterfaceOrientationPortrait 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | UISupportedInterfaceOrientations~ipad 47 | 48 | UIInterfaceOrientationPortrait 49 | UIInterfaceOrientationPortraitUpsideDown 50 | UIInterfaceOrientationLandscapeLeft 51 | UIInterfaceOrientationLandscapeRight 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /ANCSExample/ANCSExample-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header 3 | // 4 | // The contents of this file are implicitly included at the beginning of every source file. 5 | // 6 | 7 | #import 8 | 9 | #ifndef __IPHONE_5_0 10 | #warning "This project uses features only available in iOS SDK 5.0 and later." 11 | #endif 12 | 13 | #ifdef __OBJC__ 14 | #import 15 | #import 16 | #endif 17 | -------------------------------------------------------------------------------- /ANCSExample/Base.lproj/Main_iPad.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /ANCSExample/Base.lproj/Main_iPhone.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /ANCSExample/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "40x40", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "60x60", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "ipad", 20 | "size" : "29x29", 21 | "scale" : "1x" 22 | }, 23 | { 24 | "idiom" : "ipad", 25 | "size" : "29x29", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "ipad", 30 | "size" : "40x40", 31 | "scale" : "1x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "40x40", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "76x76", 41 | "scale" : "1x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "76x76", 46 | "scale" : "2x" 47 | } 48 | ], 49 | "info" : { 50 | "version" : 1, 51 | "author" : "xcode" 52 | } 53 | } -------------------------------------------------------------------------------- /ANCSExample/Images.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "orientation" : "portrait", 5 | "idiom" : "iphone", 6 | "extent" : "full-screen", 7 | "minimum-system-version" : "7.0", 8 | "scale" : "2x" 9 | }, 10 | { 11 | "orientation" : "portrait", 12 | "idiom" : "iphone", 13 | "subtype" : "retina4", 14 | "extent" : "full-screen", 15 | "minimum-system-version" : "7.0", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "orientation" : "portrait", 20 | "idiom" : "ipad", 21 | "extent" : "full-screen", 22 | "minimum-system-version" : "7.0", 23 | "scale" : "1x" 24 | }, 25 | { 26 | "orientation" : "landscape", 27 | "idiom" : "ipad", 28 | "extent" : "full-screen", 29 | "minimum-system-version" : "7.0", 30 | "scale" : "1x" 31 | }, 32 | { 33 | "orientation" : "portrait", 34 | "idiom" : "ipad", 35 | "extent" : "full-screen", 36 | "minimum-system-version" : "7.0", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "orientation" : "landscape", 41 | "idiom" : "ipad", 42 | "extent" : "full-screen", 43 | "minimum-system-version" : "7.0", 44 | "scale" : "2x" 45 | } 46 | ], 47 | "info" : { 48 | "version" : 1, 49 | "author" : "xcode" 50 | } 51 | } -------------------------------------------------------------------------------- /ANCSExample/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /ANCSExample/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ANCSExample 4 | // 5 | // Created by Sandeep Mistry on 2013-10-08. 6 | // Copyright (c) 2013 Sandeep Mistry. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "AEAppDelegate.h" 12 | 13 | int main(int argc, char * argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AEAppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /ANCSExampleTests/ANCSExampleTests-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ca.sandeepmistry.${PRODUCT_NAME:rfc1034identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | BNDL 15 | CFBundleShortVersionString 16 | 1.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /ANCSExampleTests/ANCSExampleTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // ANCSExampleTests.m 3 | // ANCSExampleTests 4 | // 5 | // Created by Sandeep Mistry on 2013-10-08. 6 | // Copyright (c) 2013 Sandeep Mistry. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ANCSExampleTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation ANCSExampleTests 16 | 17 | - (void)setUp 18 | { 19 | [super setUp]; 20 | // Put setup code here. This method is called before the invocation of each test method in the class. 21 | } 22 | 23 | - (void)tearDown 24 | { 25 | // Put teardown code here. This method is called after the invocation of each test method in the class. 26 | [super tearDown]; 27 | } 28 | 29 | - (void)testExample 30 | { 31 | XCTFail(@"No implementation for \"%s\"", __PRETTY_FUNCTION__); 32 | } 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /ANCSExampleTests/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Sandeep Mistry 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ANCSExample-iOS 2 | =============== 3 | 4 | [![Analytics](https://ga-beacon.appspot.com/UA-56089547-1/sandeepmistry/ANCSExample-iOS?pixel)](https://github.com/igrigorik/ga-beacon) 5 | 6 | Example app to expose the Apple Notification Center Service (ANCS) on an iOS device 7 | --------------------------------------------------------------------------------