├── LICENSE ├── ProximityKit.framework ├── Headers │ ├── ProximityKit.h │ ├── RPKAccuracyManager.h │ ├── RPKAnalyticsEvent.h │ ├── RPKBeacon.h │ ├── RPKBeaconRegion.h │ ├── RPKCircle.h │ ├── RPKKit.h │ ├── RPKLogger.h │ ├── RPKManager.h │ ├── RPKManagerDelegate.h │ ├── RPKMap.h │ └── RPKRegion.h ├── Info.plist ├── Modules │ └── module.modulemap ├── ProximityKit └── _CodeSignature │ ├── CodeDirectory │ ├── CodeRequirements │ ├── CodeRequirements-1 │ ├── CodeResources │ ├── CodeSignature │ └── CodeTopDirectory ├── README.md └── logo.png /LICENSE: -------------------------------------------------------------------------------- 1 | License for Proximity Kit Android Client 2 | 3 | Copyright (c) 2014 Radius Networks 4 | 5 | LICENSE SUMMARY 6 | 7 | - License does not expire. 8 | - Can be used for creating unlimited applications 9 | - Can be distributed in binary or object form only 10 | - Commercial use allowed 11 | - Cannot modify source-code for any purpose (cannot create derivative works) 12 | - Support is provided via email at support@radiusnetworks.com, with responses 13 | generally provided within one business day. 14 | - Additional terms: 15 | - You may not modify, decompile, or reverse engineer Software. 16 | 17 | TERMS AND CONDITIONS 18 | 19 | 1. PREAMBLE 20 | 21 | This Agreement governs the relationship between Licensee and Radius Networks, 22 | Inc., a duly registered company in United States whose principal place of 23 | business is 1228 31st St NW, Suite 2, Washington, DC 20007, U.S.A., United 24 | States (Hereinafter: Licensor). This Agreement sets the terms, rights, 25 | restrictions and obligations on using Proximity Kit (hereinafter: The Software) 26 | created and owned by Licensor, as detailed herein. 27 | 28 | 2. LICENSE GRANT 29 | 30 | Licensor hereby grants Licensee a Sublicensable, Non-assignable & 31 | non-transferable, Commercial, Royalty free, Without the rights to create 32 | derivative works, Non-exclusive license, all with accordance with the terms set 33 | forth and other legal restrictions set forth in 3rd party software used while 34 | running Software. 35 | 36 | 2.1. Limited: Licensee may use Software for the purpose of: 37 | 38 | 2.1.1. Running Software on Licensee’s Website[s] and Server[s]; 39 | 40 | 2.1.2. Allowing 3rd Parties to run Software on Licensee’s Website[s] and 41 | Server[s]; 42 | 43 | 2.1.3. Publishing Software’s output to Licensee and 3rd Parties; 44 | 45 | 2.1.4. Distribute verbatim copies of Software’s output (including compiled 46 | binaries); 47 | 48 | 2.1.5. Modify Software to suit Licensee’s needs and specifications. 49 | 50 | 2.2. Binary Restricted: Licensee may sublicense Software as a part of a 51 | larger work containing more than Software, distributed solely in Object 52 | or Binary form under a personal, non-sublicensable, limited license. 53 | Such redistribution shall be limited to unlimited codebases. 54 | 55 | 2.3. Non Assignable & Non-Transferable: Licensee may not assign or transfer 56 | his rights and duties under this license. 57 | 58 | 2.4. Commercial, Royalty Free: Licensee may use Software for any purpose, 59 | including paid-services, without any royalties 60 | 61 | 2.5. With support & maintenance: Licensor shall provide Licensee support and 62 | maintenance as follows - Support is provided via email at 63 | support@radiusnetworks.com, with responses generally provided within one 64 | business day. 65 | 66 | 3. TERM & TERMINATION 67 | 68 | The Term of this license shall be until terminated. Licensor may terminate this 69 | Agreement, including Licensee’s license in the case where Licensee: 70 | 71 | 3.1. became insolvent or otherwise entered into any liquidation process; or 72 | 73 | 3.2. exported The Software to any jurisdiction where licensor may not enforce 74 | his rights under this agreements in; or 75 | 76 | 3.3. Licensee was in breach of any of this license's terms and conditions and 77 | such breach was not cured, immediately upon notification; or 78 | 79 | 3.4. Licensee in breach of any of the terms of clause 2 to this license; or 80 | 81 | 3.5. Licensee otherwise entered into any arrangement which caused Licensor to 82 | be unable to enforce his rights under this License. 83 | 84 | 4. PAYMENT 85 | 86 | In consideration of the License granted under clause 2, Licensee shall pay 87 | Licensor a fee, via Credit-Card, PayPal or any other mean which Licensor may 88 | deem adequate. Failure to perform payment shall construe as material breach of 89 | this Agreement. 90 | 91 | 5. UPGRADES, UPDATES AND FIXES 92 | 93 | Licensor may provide Licensee, from time to time, with Upgrades, Updates or 94 | Fixes, as detailed herein and according to his sole discretion. Licensee hereby 95 | warrants to keep The Software up-to-date and install all relevant updates and 96 | fixes, and may, at his sole discretion, purchase upgrades, according to the 97 | rates set by Licensor. Licensor shall provide any update or Fix free of 98 | charge; however, nothing in this Agreement shall require Licensor to provide 99 | Updates or Fixes. 100 | 101 | 5.1. Upgrades: for the purpose of this license, an Upgrade shall be a 102 | material amendment in The Software, which contains new features and or 103 | major performance improvements and shall be marked as a new version 104 | number. For example, should Licensee purchase The Software under version 105 | 1.X.X, an upgrade shall commence under number 2.0.0. 106 | 107 | 5.2. Updates: for the purpose of this license, an update shall be a minor 108 | amendment in The Software, which may contain new features or minor 109 | improvements and shall be marked as a new sub-version number. For 110 | example, should Licensee purchase The Software under version 1.1.X, an 111 | upgrade shall commence under number 1.2.0. 112 | 113 | 5.3. Fix: for the purpose of this license, a fix shall be a minor amendment 114 | in The Software, intended to remove bugs or alter minor features which 115 | impair the The Software's functionality. A fix shall be marked as a new 116 | sub-sub-version number. For example, should Licensee purchase Software 117 | under version 1.1.1, an upgrade shall commence under number 1.1.2. 118 | 119 | 6. SUPPORT 120 | 121 | Software is provided with limited support, as detailed in the Software’s SLA 122 | detailed under the License Grant. Licensor shall provide support via the 123 | Binpress issue tracker and / or electronic mail and on regular business days 124 | and hours. 125 | 126 | 127 | 6.1. Bug Notification: Licensee may provide Licensor of details regarding any 128 | bug, defect or failure in The Software promptly and with no delay from 129 | such event; Licensee shall comply with Licensor's request for 130 | information regarding bugs, defects or failures and furnish him with 131 | information, screenshots and try to reproduce such bugs, defects or 132 | failures. 133 | 134 | 6.2. Feature Request: Licensee may request additional features in Software, 135 | provided, however, that (i) Licensee shall waive any claim or right in 136 | such feature should feature be developed by Licensor; (ii) Licensee 137 | shall be prohibited from developing the feature, or disclose such 138 | feature request, or feature, to any 3rd party directly competing with 139 | Licensor or any 3rd party which may be, following the development of 140 | such feature, in direct competition with Licensor; (iii) Licensee 141 | warrants that feature does not infringe any 3rd party patent, trademark, 142 | trade-secret or any other intellectual property right; and (iv) Licensee 143 | developed, envisioned or created the feature solely by himself. 144 | 145 | 7. LIABILITY 146 | 147 | To the extent permitted under Law, The Software is provided under an AS-IS 148 | basis. Licensor shall never, and without any limit, be liable for any damage, 149 | cost, expense or any other payment incurred by Licensee as a result of 150 | Software’s actions, failure, bugs and/or any other interaction between The 151 | Software and Licensee’s end-equipment, computers, other software or any 3rd 152 | party, end-equipment, computer or services. Moreover, Licensor shall never be 153 | liable for any defect in source code written by Licensee when relying on The 154 | Software or using The Software’s source code. 155 | 156 | 8. WARRANTY 157 | 158 | 8.1. Intellectual Property: Licensor hereby warrants that The Software does 159 | not violate or infringe any 3rd party claims in regards to intellectual 160 | property, patents and/or trademarks and that to the best of its 161 | knowledge no legal action has been taken against it for any infringement 162 | or violation of any 3rd party intellectual property rights. 163 | 164 | 8.2. No-Warranty: The Software is provided without any warranty; Licensor 165 | hereby disclaims any warranty that The Software shall be error free, 166 | without defects or code which may cause damage to Licensee’s computers 167 | or to Licensee, and that Software shall be functional. Licensee shall be 168 | solely liable to any damage, defect or loss incurred as a result of 169 | operating software and undertake the risks contained in running The 170 | Software on License’s Server[s] and Website[s]. 171 | 172 | 8.3. Prior Inspection: Licensee hereby states that he inspected The Software 173 | thoroughly and found it satisfactory and adequate to his needs, that it 174 | does not interfere with his regular operation and that it does meet the 175 | standards and scope of his computer systems and architecture. Licensee 176 | found that The Software interacts with his development, website and 177 | server environment and that it does not infringe any of End User License 178 | Agreement of any software Licensee may use in performing his services. 179 | Licensee hereby waives any claims regarding The Software's 180 | incompatibility, performance, results and features, and warrants that he 181 | inspected the The Software. 182 | 183 | 9. NO REFUNDS 184 | 185 | Licensee warrants that he inspected The Software according to clause 7(c) and 186 | that it is adequate to his needs. Accordingly, as The Software is intangible 187 | goods, Licensee shall not be, ever, entitled to any refund, rebate, 188 | compensation or restitution for any reason whatsoever, even if The Software 189 | contains material flaws. 190 | 191 | 10. INDEMNIFICATION 192 | 193 | Licensee hereby warrants to hold Licensor harmless and indemnify Licensor for 194 | any lawsuit brought against it in regards to Licensee’s use of The Software in 195 | means that violate, breach or otherwise circumvent this license, Licensor's 196 | intellectual property rights or Licensor's title in The Software. Licensor 197 | shall promptly notify Licensee in case of such legal action and request 198 | Licensee’s consent prior to any settlement in relation to such lawsuit or 199 | claim. 200 | 201 | 11. GOVERNING LAW, JURISDICTION 202 | 203 | Licensee hereby agrees not to initiate class-action lawsuits against Licensor 204 | in relation to this license and to compensate Licensor for any legal fees, cost 205 | or attorney fees should any claim brought by Licensee against Licensor be 206 | denied, in part or in full. 207 | -------------------------------------------------------------------------------- /ProximityKit.framework/Headers/ProximityKit.h: -------------------------------------------------------------------------------- 1 | // 2 | // Proximity Kit 3 | // 4 | // Copyright (c) 2013 Radius Networks. All rights reserved. 5 | // 6 | 7 | #import 8 | #import 9 | #import 10 | #import 11 | #import 12 | #import 13 | #import 14 | #import 15 | #import 16 | #import 17 | #import 18 | #import 19 | -------------------------------------------------------------------------------- /ProximityKit.framework/Headers/RPKAccuracyManager.h: -------------------------------------------------------------------------------- 1 | // 2 | // RPKAccuracyManager.h 3 | // ProximityKit 4 | // 5 | // Created by Scott Newman on 1/19/16. 6 | // Copyright © 2016 Radius Networks. All rights reserved. 7 | // 8 | 9 | @import UIKit; 10 | #import 11 | 12 | @class RPKBeacon; 13 | @class RPKBeaconRegion; 14 | 15 | @protocol RPKAccuracyManagerDelegate 16 | @required 17 | - (void)closestBeaconDidChange:(RPKBeacon *)newClosestBeacon forRegion:(RPKBeaconRegion *)region; 18 | @end 19 | 20 | @interface RPKAccuracyManager : NSObject 21 | 22 | @property (nonatomic, assign) id delegate; 23 | @property (nonatomic, strong) NSNumber *measurementExpirationSeconds; 24 | @property (nonatomic, strong) dispatch_queue_t queue; 25 | 26 | - (void)didRangeBeacons:(NSArray *)pkBeacons inRegion:(RPKBeaconRegion *)region; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /ProximityKit.framework/Headers/RPKAnalyticsEvent.h: -------------------------------------------------------------------------------- 1 | // 2 | // ProximityKit 3 | // 4 | // Created by Christopher Sexton on 8/15/14. 5 | // Copyright (c) 2014 Radius Networks. All rights reserved. 6 | // 7 | 8 | #import 9 | 10 | @interface RPKAnalyticsEvent : NSObject 11 | 12 | + (void)postEvent:(NSString *)type withDetails:(NSDictionary *)details; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /ProximityKit.framework/Headers/RPKBeacon.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 Radius Networks. All rights reserved. 2 | 3 | #import 4 | #import 5 | #import "RPKRegion.h" 6 | 7 | /*! 8 | * @interface PKIBeacon 9 | */ 10 | @interface RPKBeacon : RPKRegion 11 | 12 | @property (readonly) NSUUID *uuid; 13 | @property (readonly) NSNumber *major; 14 | @property (readonly) NSNumber *minor; 15 | @property (readonly) NSNumber *rssi; 16 | @property (readonly) CLLocationAccuracy accuracy; 17 | @property (readonly) CLProximity proximity; 18 | @property (readonly) CLBeacon *beacon; 19 | 20 | - (id)initWith:(NSDictionary *)dict; 21 | - (id)initWithBeacon:(CLBeacon *)beacon dict:(NSDictionary *)dict; 22 | @end 23 | -------------------------------------------------------------------------------- /ProximityKit.framework/Headers/RPKBeaconRegion.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 Radius Networks. All rights reserved. 2 | 3 | #import 4 | #import 5 | #import "RPKRegion.h" 6 | 7 | /*! 8 | * @interface PKIBeaconRegion 9 | */ 10 | @interface RPKBeaconRegion : RPKRegion 11 | 12 | @property (readonly) NSUUID *uuid; 13 | @property (readonly) NSNumber *major; 14 | @property (readonly) NSNumber *minor; 15 | @property (readonly) BOOL hasMajor; 16 | @property (readonly) BOOL hasMinor; 17 | @property (readonly) BOOL enableMonitoring; 18 | @property (readonly) BOOL enableRanging; 19 | @property (readonly) BOOL notifyOnEntry; 20 | @property (readonly) BOOL notifyOnExit; 21 | @property (readonly) BOOL notifyEntryStateOnDisplay; 22 | 23 | - (id)initWith:(NSDictionary *)dict; 24 | - (id)initWithRegion:(CLBeaconRegion *)region dict:(NSDictionary *)dict; 25 | - (CLBeaconRegion *)region; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /ProximityKit.framework/Headers/RPKCircle.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 Radius Networks. All rights reserved. 2 | 3 | #import 4 | #import 5 | #import 6 | #import "RPKRegion.h" 7 | 8 | /*! 9 | * @interface PKCircle 10 | * @discussion Contains a circle region defined by GPS coordinates with a 11 | * latitude and longitude. 12 | */ 13 | @interface RPKCircle : RPKRegion 14 | 15 | /*! 16 | * @property latitude 17 | * @discussion The latitude value for the center GPS coordinates 18 | */ 19 | @property (readonly) float latitude; 20 | 21 | /*! 22 | * @property longitude 23 | * @discussion The longitude value for the center GPS coordinates 24 | */ 25 | @property (readonly) float longitude; 26 | 27 | /*! 28 | * @property radius 29 | * @discussion The length of the radius in meters 30 | */ 31 | @property (readonly) float radius; 32 | 33 | - (id)initWith:(NSDictionary *)dict; 34 | - (CLRegion *)region; 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /ProximityKit.framework/Headers/RPKKit.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 Radius Networks. All rights reserved. 2 | 3 | #import 4 | #import "RPKMap.h" 5 | #import "RPKRegion.h" 6 | #import "RPKBeacon.h" 7 | #import "RPKBeaconRegion.h" 8 | 9 | /*! 10 | * @interface RPKKit 11 | */ 12 | @interface RPKKit : NSObject 13 | 14 | @property NSString *url; 15 | @property NSInteger id; 16 | @property NSString *name; 17 | @property NSString *statusURL; 18 | @property NSString *statusToken; 19 | 20 | @property NSArray *beaconRegions; 21 | @property RPKMap *map; 22 | @property NSDictionary *json; 23 | 24 | - (id)initWith:(NSDictionary *)dict; 25 | - (RPKRegion *)getRegionForIdentifier:(NSString *)identifier; 26 | - (RPKBeacon *)getIBeaconForCLBeacon:(CLBeacon *)clBeacon; 27 | - (RPKBeaconRegion *)getIBeaconRegionForCLBeaconRegion:(CLBeaconRegion *)clBeaconRegion; 28 | 29 | 30 | - (void)enumerateIBeaconsUsingBlock:(void (^)(RPKBeacon *iBeacon, NSUInteger idx, BOOL *stop))block; 31 | 32 | 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /ProximityKit.framework/Headers/RPKLogger.h: -------------------------------------------------------------------------------- 1 | // 2 | // ProximityKit 3 | // 4 | // Copyright (c) 2013 Radius Networks. All rights reserved. 5 | // 6 | 7 | #import 8 | 9 | #define RPKLog(s, ...) \ 10 | [RPKLogger log : __LEVEL__ format : (s), ## __VA_ARGS__] 11 | #define RPKLogEmerg(s, ...) \ 12 | [RPKLogger log : RPKLogLevelEmergency format : (s), ## __VA_ARGS__] 13 | #define RPKLogAlert(s, ...) \ 14 | [RPKLogger log : RPKLogLevelAlert format : (s), ## __VA_ARGS__] 15 | #define RPKLogCrit(s, ...) \ 16 | [RPKLogger log : RPKLogLevelCritical format : (s), ## __VA_ARGS__] 17 | #define RPKLogError(s, ...) \ 18 | [RPKLogger log : RPKLogLevelError format : (s), ## __VA_ARGS__] 19 | #define RPKLogWarn(s, ...) \ 20 | [RPKLogger log : RPKLogLevelWarning format : (s), ## __VA_ARGS__] 21 | #define RPKLogNotice(s, ...) \ 22 | [RPKLogger log : RPKLogLevelNotice format : (s), ## __VA_ARGS__] 23 | #define RPKLogInfo(s, ...) \ 24 | [RPKLogger log : RPKLogLevelInformational format : (s), ## __VA_ARGS__] 25 | #define RPKLogDebug(s, ...) \ 26 | [RPKLogger log : RPKLogLevelDebug format : (s), ## __VA_ARGS__] 27 | 28 | /** PKLogLevel 29 | * 30 | * The enumerated values for the different log levels. Based on syslog. 31 | * 32 | */ 33 | typedef NS_ENUM (NSInteger, RPKLogLevel) 34 | { 35 | /** Emergency: System is unusable */ 36 | RPKLogLevelEmergency = 0, 37 | /** Alert: Action must be taken immediately */ 38 | RPKLogLevelAlert = 1, 39 | /** Critical: Critical conditions */ 40 | RPKLogLevelCritical = 2, 41 | /** Error: Error conditions */ 42 | RPKLogLevelError = 3, 43 | /** Warning: Warning conditions */ 44 | RPKLogLevelWarning = 4, 45 | /** Notice: Normal but significant condition */ 46 | RPKLogLevelNotice = 5, 47 | /** Informational: Informational messages */ 48 | RPKLogLevelInformational = 6, 49 | /** Debug: Debug-level messages */ 50 | RPKLogLevelDebug = 7 51 | }; 52 | 53 | /** RPKLogger 54 | * 55 | * Logging class used internally for Proximity Kit. Can be used to set the 56 | * logging level and see more informative information about the internal 57 | * happenings within the framework. 58 | * 59 | * The default log level is set to `RPKLogLevelError` 60 | * 61 | * This also provides NSLog-like macros for the different levels: 62 | * 63 | * - `RPKLogEmerg(msg,...)` 64 | * - `RPKLogAlert(msg,...)` 65 | * - `RPKLogCrit(msg,...)` 66 | * - `RPKLogError(msg,...)` 67 | * - `RPKLogWarn(msg,...)` 68 | * - `RPKLogNotice(msg,...)` 69 | * - `RPKLogDebug(msg,...)` 70 | * 71 | */ 72 | @interface RPKLogger : NSObject 73 | 74 | /** log:format 75 | * 76 | * Print a log message 77 | * 78 | * `level` The log level 79 | * `format` An NSLog-like formatted message 80 | * 81 | */ 82 | + (void)log:(RPKLogLevel)level format:(NSString *)format, ...; 83 | 84 | /** setLevel: 85 | * 86 | * Sets the global log level for proximity kit. 87 | * 88 | * `level` The log level 89 | */ 90 | + (void)setLevel:(RPKLogLevel)level; 91 | 92 | @end 93 | -------------------------------------------------------------------------------- /ProximityKit.framework/Headers/RPKManager.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 Radius Networks. All rights reserved. 2 | 3 | #import 4 | #import 5 | #import 6 | #import "RPKAccuracyManager.h" 7 | #import "RPKManagerDelegate.h" 8 | #import "RPKRegion.h" 9 | #import "RPKKit.h" 10 | #import "RPKLogger.h" 11 | 12 | /** RPKFetchCompletionHandler 13 | * 14 | * Same signature as UIKit's performFetchWithCompletionHandler's block 15 | * 16 | */ 17 | typedef void (^RPKFetchCompletionHandler)(UIBackgroundFetchResult); 18 | 19 | /** RPKManagerNotificationEvent 20 | * 21 | * Enumeration of different event types that can trigger notification from RPKManager. 22 | */ 23 | typedef NS_ENUM (NSInteger, RPKManagerNotificationEvent) { 24 | RPKManagerNotificationEventDidSync, 25 | RPKManagerNotificationEventDidDetermineStateForRegion, 26 | RPKManagerNotificationEventDidEnterRegion, 27 | RPKManagerNotificationEventDidExitRegion, 28 | RPKManagerNotificationEventDidRangeBeaconsInRegion, 29 | RPKManagerNotificationEventClosestBeaconDidChange, 30 | RPKManagerNotificationEventDidFailWithError 31 | }; 32 | 33 | // Notifications. 34 | FOUNDATION_EXPORT NSString *const RPKManagerDidDetermineStateForRegionNotification; 35 | FOUNDATION_EXPORT NSString *const RPKManagerDidEnterRegionNotification; 36 | FOUNDATION_EXPORT NSString *const RPKManagerDidExitRegionNotification; 37 | FOUNDATION_EXPORT NSString *const RPKManagerDidRangeBeaconsInRegionNotification; 38 | FOUNDATION_EXPORT NSString *const RPKManagerClosestBeaconDidChangeNotification; 39 | FOUNDATION_EXPORT NSString *const RPKManagerDidTriggerAnalyticsEvent; 40 | FOUNDATION_EXPORT NSString *const RPKManagerDidSyncEvent; 41 | 42 | // Notification user data keys. 43 | FOUNDATION_EXPORT NSString *const RPKManagerNotificationEventKey; 44 | FOUNDATION_EXPORT NSString *const RPKManagerNotificationRegionKey; 45 | FOUNDATION_EXPORT NSString *const RPKManagerNotificationRegionStateKey; 46 | FOUNDATION_EXPORT NSString *const RPKManagerNotificationBeaconsKey; 47 | FOUNDATION_EXPORT NSString *const RPKManagerNotificationAnalyticsEventDetailsKey; 48 | FOUNDATION_EXPORT NSString *const RPKManagerNotificationAnalyticsEventTypeKey; 49 | FOUNDATION_EXPORT NSString *const RPKManagerNotificationKitKey; 50 | 51 | 52 | /** RPKManager 53 | * 54 | * This is the main class for used for interacting with the 55 | * Proximity Kit SDK. 56 | * 57 | * More information can be found at http://proximitykit.com 58 | */ 59 | @interface RPKManager : NSObject 60 | 61 | /** getVersion 62 | * 63 | * Get the version string for the Proximity Kit Framework 64 | * 65 | */ 66 | + (NSString *)getVersion; 67 | 68 | /** manager 69 | * 70 | * Creates the manager without a delegate. 71 | * 72 | */ 73 | + (RPKManager *)manager; 74 | 75 | /** managerWithDelegate 76 | * 77 | * Creates the manager, assignes the delegate. 78 | * 79 | */ 80 | + (RPKManager *)managerWithDelegate:(id )delegate __deprecated_msg("use managerWithDelegate:andConfig instead"); 81 | 82 | /** managerWithDelegate:andConfig 83 | * 84 | * Creates the manager, assignes the delegate, and uses the supplied 85 | * configuration dictionary instead of loading the configuration from 86 | * the plist file. 87 | * 88 | */ 89 | + (RPKManager *)managerWithDelegate:(id )delegate andConfig:(NSDictionary *)config; 90 | 91 | /** managerWithConfig 92 | * 93 | * Creates the manager without a delegate and uses the supplied 94 | * configuration dictionary instead of loading the configuration from 95 | * the plist file. 96 | * 97 | * Configuration Options: 98 | * 99 | *
100 |  * - kit_url: NSString with the PK kit URL
101 |  * - api_token: PK API Token
102 |  * - allow_cellular_data: Allow cellular data usage
103 |  * - monitor_closest_beacon: Provide a callback event when the closest beacon changes
104 |  * - averaging_seconds: Time period (in seconds) to average accuracy measurements over (optional)
105 |  * 
106 | * 107 | */ 108 | + (RPKManager *)managerWithConfig:(NSDictionary *)config; 109 | 110 | /** logLevel 111 | * Set the logging level. Follows syslog convention of levels 0-7. 112 | * 113 | * See RPKLogger.h for more details 114 | * 115 | * Param: `logLevel` 116 | * 117 | * Can take an integer value between 0 and 7, to represent the log level. 118 | * 119 | *
120 |  * 0 - Emergency: System is unusable
121 |  * 1 - Alert: Action must be taken immediately
122 |  * 2 - Critical: Critical conditions
123 |  * 3 - Error: Error conditions
124 |  * 4 - Warning: Warning conditions
125 |  * 5 - Notice: Normal but significant condition
126 |  * 6 - Informational: Informational messages
127 |  * 7 - Debug: Debug-level messages
128 |  * 
129 | */ 130 | - (void)logLevel:(NSInteger)level; 131 | 132 | /** start 133 | * 134 | * Sets up the manager and synchronizes data with the server. 135 | * 136 | */ 137 | - (void)start; 138 | 139 | /** stop 140 | * 141 | * Unregister regions and beacons and stop automatic syncing. 142 | * 143 | * While the RPKManager is stopped if `sync` is called the api will be called 144 | * and data downloaded and synced. However, any regions will not be 145 | * registered with CoreLocation. 146 | * 147 | */ 148 | - (void)stop; 149 | 150 | /** sync 151 | * 152 | * Force a sync with the server. This is not normally required. 153 | * 154 | */ 155 | - (void)sync; 156 | 157 | /** syncWithCompletionHandler 158 | * 159 | * Same as `-sync`, but accepts a block for the sync callbacks. This is 160 | * particularly useful for updating the ProximityKit data when the 161 | * application in in the background. 162 | * 163 | * To take advantage of this you need to implement 164 | * `application:performFetchWithCompletionHandler:` on your in your 165 | * application delegate. Then Within that method you can simply call 166 | * `syncWithCompletionHandler` and pass it the compleation block: 167 | * 168 | *
169 |  * - (void) application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
170 |  * {
171 |  *     // ...
172 |  *     [pkManager syncWithCompletionHandler: completionHandler];
173 |  * }
174 |  * 
175 | * 176 | * Be sure to set the fetch interval in your didFinishLaunching method: 177 | * 178 | *
179 |  * - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
180 |  * {
181 |  *     // ...
182 |  *     [application setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
183 |  *     return YES;
184 |  * }
185 |  * 
186 | * 187 | * 188 | * Finally make sure you add `UIBackgroundModes` to your info plist with a string set to 'fetch' 189 | * 190 | */ 191 | - (void)syncWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler; 192 | 193 | /** delegate 194 | * 195 | * Primary delegate for the RPKManager. 196 | * 197 | */ 198 | @property (assign) id delegate; 199 | 200 | /** locationManager 201 | * 202 | * The instance of CLLocation manager that RPKManager wraps and maintains. 203 | * 204 | */ 205 | @property (readonly) CLLocationManager *locationManager; 206 | 207 | /** locationManagerDelegate 208 | * 209 | * Proxy for all of the CLLocationManager delgate methods. All of the 210 | * non-deprecated methods from CLLocationManagerDelegate will be called 211 | * on this object. 212 | * 213 | * This is useful for accessing the underlying core location functionality 214 | * while using the same locationManager instance that Proximity Kit wraps 215 | * and maintains. 216 | * 217 | */ 218 | @property (assign) id locationManagerDelegate; 219 | 220 | /** kit 221 | * 222 | * The representation of the Kit as defined in the Proximity Kit service. 223 | * This contains lists of iBeacons and Geofences. 224 | * 225 | */ 226 | @property (readonly) RPKKit *kit; 227 | 228 | /** getRegionForIdentifier 229 | * 230 | * Lookup the RPKRegion for a given identifier. 231 | * 232 | * Returns nil if no region found. 233 | * 234 | */ 235 | - (RPKRegion *)getRegionForIdentifier:(NSString *)identifier; 236 | 237 | /** startRangingIBeacons 238 | * 239 | * Start calculating ranges for iBeacons. 240 | * 241 | */ 242 | - (void)startRangingBeacons; 243 | 244 | /** stopRangingIBeacons 245 | * 246 | * Stop calculating ranges for iBeacons. 247 | * 248 | */ 249 | - (void)stopRangingIBeacons; 250 | 251 | /** setPartnerIdentifier 252 | * 253 | * Sets the partner identifer string for analytics. 254 | * 255 | * Limited to 255 characters. 256 | * 257 | */ 258 | - (void)setPartnerIdentifier:(NSString *)identifier; 259 | 260 | /** setAirship 261 | * 262 | * Sets the shared instance of Urban Airship SDK instance. 263 | * 264 | * Param: `airship` the instance of UAirship manager 265 | * 266 | *
267 |  *   [pkManager setAirship: [UAirship shared]];
268 |  * 
269 | * 270 | */ 271 | - (void)setAirship:(/* UAirship */id)airship; 272 | 273 | /** startAdvertisingWithUUID 274 | * 275 | * Begins broadcasting as an iBeacon using `uuid`, `major`, and `minor` parameter values. 276 | * 277 | * Important note: It is not possible to broadcast as a beacon in the background. When implementing, 278 | * you must ensure that the view that is facilitating the broadcasting stays in the foreground. 279 | * You might also want to ensure that the device does not go to sleep while that screen is visible. 280 | * 281 | */ 282 | - (void)startAdvertisingWithUUID:(NSUUID *)uuid major:(NSInteger)major minor:(NSInteger)minor; 283 | 284 | /** stopAdvertising 285 | * 286 | * Stops advertising as an iBeacon 287 | * 288 | */ 289 | - (void)stopAdvertising; 290 | 291 | 292 | @end 293 | -------------------------------------------------------------------------------- /ProximityKit.framework/Headers/RPKManagerDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // ProximityKit 3 | // 4 | // Copyright (c) 2013 Radius Networks. All rights reserved. 5 | // 6 | 7 | #import 8 | #import 9 | 10 | typedef NS_ENUM (NSInteger, RPKRegionType) { 11 | RPKCircleType, 12 | RPKIBeaconType, 13 | }; 14 | 15 | typedef NS_ENUM (NSInteger, RPKRegionState) { 16 | RPKRegionStateUnknown, 17 | RPKRegionStateInside, 18 | RPKRegionStateOutside 19 | }; 20 | 21 | @class RPKManager; 22 | @class RPKRegion; 23 | @class RPKBeaconRegion; 24 | 25 | /*! 26 | @protocol RPKManagerDelegate 27 | @discussion 28 | The base delegate for Proximity Kit callbacks. 29 | 30 | This includes both callbacks that return the RPK custom classes and 31 | will proxy all the raw CoreLocation callbacks. 32 | */ 33 | @protocol RPKManagerDelegate 34 | @required 35 | @optional 36 | 37 | /*! 38 | @method proximityKitDidSync 39 | 40 | @discussion 41 | Invoked when kit has synced with the server and data is loaded and avaliable. 42 | 43 | */ 44 | - (void)proximityKitDidSync:(RPKManager *)manager; 45 | 46 | /*! 47 | @method proximityKit:didEnter: 48 | 49 | @discussion 50 | Invoked when new entering new region. Regions can be Geofences or iBeacons. 51 | 52 | */ 53 | - (void)proximityKit:(RPKManager *)manager 54 | didEnter:(RPKRegion *)region; 55 | 56 | /*! 57 | @method proximityKit:didExit: 58 | 59 | @discussion 60 | Invoked when new leaving a region. Regions can be Geofences or iBeacons. 61 | 62 | @param manager 63 | Instance of the RPKManager 64 | @param region 65 | The region exited 66 | 67 | */ 68 | - (void)proximityKit:(RPKManager *)manager 69 | didExit:(RPKRegion *)region; 70 | 71 | /*! 72 | @method proximityKit:didDetermineState:forRegion: 73 | 74 | @discussion 75 | Invoked when new changing state for a region. 76 | 77 | */ 78 | - (void)proximityKit:(RPKManager *)manager 79 | didDetermineState:(RPKRegionState)state 80 | forRegion:(RPKRegion *)region; 81 | 82 | /*! 83 | @method proximityKit:didRangeBeacons:inRegion 84 | 85 | @discussion 86 | Invoked when a new set of beacons are available in the specified region. 87 | 88 | Beacons is an array of RPKBeacon objects. 89 | 90 | If beacons is empty, it may be assumed no beacons that match the specified region are nearby. 91 | Similarly if a specific beacon no longer appears in beacons, it may be assumed the beacon is no longer received 92 | by the device. 93 | 94 | */ 95 | - (void)proximityKit:(RPKManager *)manager 96 | didRangeBeacons:(NSArray *)beacons 97 | inRegion:(RPKBeaconRegion *)region; 98 | 99 | /*! 100 | @method proximityKit:didFailWithError: 101 | 102 | @discussion 103 | Invoked when an error has occurred. 104 | */ 105 | - (void)proximityKit:(RPKManager *)manager 106 | didFailWithError:(NSError *)error; 107 | 108 | 109 | /*! 110 | @method proximityKit:closestBeaconDidChange:forRegion: 111 | 112 | @discussion 113 | Invoked when the closest beacon changes. 114 | 115 | This will only be invoked when RPKManager is configured with the 116 | option monitor_closest_beacon is set to true. 117 | */ 118 | - (void)proximityKit:(RPKManager *)manager 119 | closestBeaconDidChange:(RPKBeacon *)beacon 120 | forRegion:(RPKBeaconRegion *)region; 121 | 122 | 123 | @end 124 | -------------------------------------------------------------------------------- /ProximityKit.framework/Headers/RPKMap.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 Radius Networks. All rights reserved. 2 | 3 | #import 4 | 5 | @interface RPKMap : NSObject { 6 | NSMutableArray *_overlays; 7 | } 8 | 9 | - (NSArray *)overlays; 10 | - (id)initWith:(NSDictionary *)dict; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /ProximityKit.framework/Headers/RPKRegion.h: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 Radius Networks. All rights reserved. 2 | 3 | #import 4 | 5 | @interface RPKRegion : NSObject { 6 | @protected 7 | NSString *_name; 8 | NSString *_identifier; 9 | NSDictionary *_attributes; 10 | } 11 | 12 | @property (readonly) NSString *name; 13 | @property (readonly) NSString *identifier; 14 | @property (readonly) NSDictionary *attributes; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /ProximityKit.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RadiusNetworks/proximitykit-ios/7343f0d3bf6e7d96908ba02e6ee223314d490d7f/ProximityKit.framework/Info.plist -------------------------------------------------------------------------------- /ProximityKit.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module ProximityKit { 2 | umbrella header "ProximityKit.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ProximityKit.framework/ProximityKit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RadiusNetworks/proximitykit-ios/7343f0d3bf6e7d96908ba02e6ee223314d490d7f/ProximityKit.framework/ProximityKit -------------------------------------------------------------------------------- /ProximityKit.framework/_CodeSignature/CodeDirectory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RadiusNetworks/proximitykit-ios/7343f0d3bf6e7d96908ba02e6ee223314d490d7f/ProximityKit.framework/_CodeSignature/CodeDirectory -------------------------------------------------------------------------------- /ProximityKit.framework/_CodeSignature/CodeRequirements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RadiusNetworks/proximitykit-ios/7343f0d3bf6e7d96908ba02e6ee223314d490d7f/ProximityKit.framework/_CodeSignature/CodeRequirements -------------------------------------------------------------------------------- /ProximityKit.framework/_CodeSignature/CodeRequirements-1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RadiusNetworks/proximitykit-ios/7343f0d3bf6e7d96908ba02e6ee223314d490d7f/ProximityKit.framework/_CodeSignature/CodeRequirements-1 -------------------------------------------------------------------------------- /ProximityKit.framework/_CodeSignature/CodeResources: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | files 6 | 7 | Headers/ProximityKit.h 8 | 9 | s482bu3VorzUBjjgEGB0eeyPxNU= 10 | 11 | Headers/RPKAccuracyManager.h 12 | 13 | Ajg04nAfEYRpZd4SFE4sLOyefEI= 14 | 15 | Headers/RPKAnalyticsEvent.h 16 | 17 | i5uylpvuXDv1nNTgqzrYf7TLAVw= 18 | 19 | Headers/RPKBeacon.h 20 | 21 | /TkgH9VaQJGA3MN6JuidSAwL18A= 22 | 23 | Headers/RPKBeaconRegion.h 24 | 25 | o+TOuk7DXsEkactik/rBGe4Z/e4= 26 | 27 | Headers/RPKCircle.h 28 | 29 | Yx+CW7vR6RLlVv/Yylz/dGgB3AM= 30 | 31 | Headers/RPKKit.h 32 | 33 | 6e6d9Ss3BLDuk9MmNDP6wVFYdpM= 34 | 35 | Headers/RPKLogger.h 36 | 37 | ev4wqPW0DfvmanEaMkVEru+tC7M= 38 | 39 | Headers/RPKManager.h 40 | 41 | sCqYL7RnfmOUXMfI9IoHRRCsK0Y= 42 | 43 | Headers/RPKManagerDelegate.h 44 | 45 | GU6GkqVIHD1Mz0tkS7feTJ4Kk4A= 46 | 47 | Headers/RPKMap.h 48 | 49 | AiQmCdDlHi3TBbwqszT5H2nR9II= 50 | 51 | Headers/RPKRegion.h 52 | 53 | Igcrv+8diJJMiTcyzKcJt/WBdHw= 54 | 55 | Info.plist 56 | 57 | TUZ505cJ9afXPGQ1duwHjBfYk8A= 58 | 59 | Modules/module.modulemap 60 | 61 | QEXKhVpsHZxA8Fb08ZmjBK3rHcc= 62 | 63 | 64 | files2 65 | 66 | Headers/ProximityKit.h 67 | 68 | hash 69 | 70 | s482bu3VorzUBjjgEGB0eeyPxNU= 71 | 72 | hash2 73 | 74 | zbc7nt32V64YuKTWIaUZDWmfXMmpJMNnisJeiramhOI= 75 | 76 | 77 | Headers/RPKAccuracyManager.h 78 | 79 | hash 80 | 81 | Ajg04nAfEYRpZd4SFE4sLOyefEI= 82 | 83 | hash2 84 | 85 | PUNo7Hrg4IFIK0/ckC8p74r6VgbC1xPaRGxtC1YsHoA= 86 | 87 | 88 | Headers/RPKAnalyticsEvent.h 89 | 90 | hash 91 | 92 | i5uylpvuXDv1nNTgqzrYf7TLAVw= 93 | 94 | hash2 95 | 96 | 6AbANxEX553m/9wKpt1f3L0+uitw9QhjAR0uH+HN9OI= 97 | 98 | 99 | Headers/RPKBeacon.h 100 | 101 | hash 102 | 103 | /TkgH9VaQJGA3MN6JuidSAwL18A= 104 | 105 | hash2 106 | 107 | fdMdQ4JNelennLmOW+FHcNAWdH5Vn+URASJ+LcoWOic= 108 | 109 | 110 | Headers/RPKBeaconRegion.h 111 | 112 | hash 113 | 114 | o+TOuk7DXsEkactik/rBGe4Z/e4= 115 | 116 | hash2 117 | 118 | hYHDAd4FLgggEmvZ5n+GCJ7RgzKghsH0526XAZJDCOg= 119 | 120 | 121 | Headers/RPKCircle.h 122 | 123 | hash 124 | 125 | Yx+CW7vR6RLlVv/Yylz/dGgB3AM= 126 | 127 | hash2 128 | 129 | q+N2V4bGQL1SkU1GF4VccjHdKTJkuJKr/r3kROAovUs= 130 | 131 | 132 | Headers/RPKKit.h 133 | 134 | hash 135 | 136 | 6e6d9Ss3BLDuk9MmNDP6wVFYdpM= 137 | 138 | hash2 139 | 140 | QHlN+S/ZTRjMJ4kEdL6dmj+YAmG+J0e8dFLsxmuAvkM= 141 | 142 | 143 | Headers/RPKLogger.h 144 | 145 | hash 146 | 147 | ev4wqPW0DfvmanEaMkVEru+tC7M= 148 | 149 | hash2 150 | 151 | y+zlSFZqRLnqY5rhXQDJXWzadka7go5hdR1d2yVDY70= 152 | 153 | 154 | Headers/RPKManager.h 155 | 156 | hash 157 | 158 | sCqYL7RnfmOUXMfI9IoHRRCsK0Y= 159 | 160 | hash2 161 | 162 | GeXVTNBdljP2q3NuOA/I8g5v9p78Zom2HQCltBRv8b0= 163 | 164 | 165 | Headers/RPKManagerDelegate.h 166 | 167 | hash 168 | 169 | GU6GkqVIHD1Mz0tkS7feTJ4Kk4A= 170 | 171 | hash2 172 | 173 | T83E5LXp9QIhrYFF559TuwkSVfqyQsMVWY4gkc3VO1k= 174 | 175 | 176 | Headers/RPKMap.h 177 | 178 | hash 179 | 180 | AiQmCdDlHi3TBbwqszT5H2nR9II= 181 | 182 | hash2 183 | 184 | Tou31BptRSOR4oeaYyv6MYytziLPBeVS38Sz+aH/AeU= 185 | 186 | 187 | Headers/RPKRegion.h 188 | 189 | hash 190 | 191 | Igcrv+8diJJMiTcyzKcJt/WBdHw= 192 | 193 | hash2 194 | 195 | j3mJNJrUQpOVjynzoLnursU/LMSnHeXb3M3X+9JYx00= 196 | 197 | 198 | Modules/module.modulemap 199 | 200 | hash 201 | 202 | QEXKhVpsHZxA8Fb08ZmjBK3rHcc= 203 | 204 | hash2 205 | 206 | wYCPvPpm0sRIB4Bf22V5YzUoJuotk65DaUsQobAIfS4= 207 | 208 | 209 | 210 | rules 211 | 212 | ^ 213 | 214 | ^.*\.lproj/ 215 | 216 | optional 217 | 218 | weight 219 | 1000 220 | 221 | ^.*\.lproj/locversion.plist$ 222 | 223 | omit 224 | 225 | weight 226 | 1100 227 | 228 | ^version.plist$ 229 | 230 | 231 | rules2 232 | 233 | .*\.dSYM($|/) 234 | 235 | weight 236 | 11 237 | 238 | ^ 239 | 240 | weight 241 | 20 242 | 243 | ^(.*/)?\.DS_Store$ 244 | 245 | omit 246 | 247 | weight 248 | 2000 249 | 250 | ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ 251 | 252 | nested 253 | 254 | weight 255 | 10 256 | 257 | ^.* 258 | 259 | ^.*\.lproj/ 260 | 261 | optional 262 | 263 | weight 264 | 1000 265 | 266 | ^.*\.lproj/locversion.plist$ 267 | 268 | omit 269 | 270 | weight 271 | 1100 272 | 273 | ^Info\.plist$ 274 | 275 | omit 276 | 277 | weight 278 | 20 279 | 280 | ^PkgInfo$ 281 | 282 | omit 283 | 284 | weight 285 | 20 286 | 287 | ^[^/]+$ 288 | 289 | nested 290 | 291 | weight 292 | 10 293 | 294 | ^embedded\.provisionprofile$ 295 | 296 | weight 297 | 20 298 | 299 | ^version\.plist$ 300 | 301 | weight 302 | 20 303 | 304 | 305 | 306 | 307 | -------------------------------------------------------------------------------- /ProximityKit.framework/_CodeSignature/CodeSignature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RadiusNetworks/proximitykit-ios/7343f0d3bf6e7d96908ba02e6ee223314d490d7f/ProximityKit.framework/_CodeSignature/CodeSignature -------------------------------------------------------------------------------- /ProximityKit.framework/_CodeSignature/CodeTopDirectory: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Proximity Kit by Radius Networks](logo.png)](https://proximitykit.radiusnetworks.com) 2 | 3 | The Proximity Kit cloud service and mobile SDK from [Radius 4 | Networks](http://www.radiusnetworks.com/) enables developers to add geofence 5 | and proximity beacon capabilities to their iOS mobile application in 6 | minutes. 7 | 8 | - Manage and sync beacons to your app. 9 | - No more hardcoding coordinates in your code. 10 | - Implements industry best practices. 11 | 12 | ## About Proximity Kit for iOS 13 | 14 | Designed to help developers build location aware apps. By providing a rich SDK 15 | built on top of the latest geofence and beacon technology, Proximity Kit gives 16 | you the events you need to keep your app relevant and useful to your users. 17 | 18 | Upon entering or leaving an beacon or geofence region, Proximity Kit notifies 19 | your app of the proximity event along with region identifiers and associated 20 | metadata. While in an beacon region, Proximity Kit provides additional ranging 21 | services for continuous proximity updates relative to the phone's distance from 22 | the beacon. 23 | 24 | ## Install 25 | 26 | See the [getting started guide](https://proximitykit.radiusnetworks.com/docs/ios/getting-started) 27 | for details. 28 | 29 | ## Issues 30 | 31 | For general service questions and help consult the Radius Networks [support 32 | knowledge base](https://radiusnetworks.zendesk.com/). 33 | 34 | If you've found a problem in this library, perform a search under 35 | [Issues](https://github.com/RadiusNetworks/proximitykit-ios/issues?q=is%3Aissue+) 36 | in case it has already been reported. If you do not find any issue addressing 37 | it, feel free to [open a new 38 | one](https://github.com/RadiusNetworks/proximitykit-ios/issues/new). 39 | 40 | Your issue report should contain a title and a clear description of the issue 41 | at a minimum. Please provide as much relevant information as possible to 42 | replicate the issue. This should include the Java and library versions, a code 43 | sample demonstrating the issue, and device OS information. Providing a unit 44 | test that demonstrates the issue is greatly appreciated. Your goal should be to 45 | make it easy for yourself - and others - to replicate the bug and figure out a 46 | fix. 47 | 48 | ## License 49 | 50 | Copyright (c) 2014 by Radius Networks 51 | http://www.radiusnetworks.com 52 | 53 | All Rights Reserved 54 | 55 | Usage of this library implies agreement to abide by the [license 56 | terms](LICENSE) and Radius Networks [terms of 57 | service](http://www.radiusnetworks.com/terms_of_service.html). 58 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RadiusNetworks/proximitykit-ios/7343f0d3bf6e7d96908ba02e6ee223314d490d7f/logo.png --------------------------------------------------------------------------------