SDKs
Swift/Objective-C SDK
48min
- LicenseSpring.framework
- Sample app project
- Documentation
Note:
For Static Linking, please specify the the linker flag "-ObjC" for the library. Otherwise, please link against the dynamic version of SDK.
- Exposed OrderStoreId as public API
- Fixed issues with Xcode 16 and SwiftUI Preview
- Refine all errors to satisfy internal requirements and customer needs
- Add support for Swift Package Manager
- Fix some minor issues
- Implement local grace period
- Update README
- Implement AirGap deactivation
- Implement `isAirGapActivated` and `polocyID` license properties
- Improve signature checks for Offline activation
- Implement unlimited consumption feature
- Implement reset consumption feature
- Added support for metadata functionality.
- air-gap license activation
- customization of HTTPs proxy for SDK requests
- extend demo to support air-gap activation
- FloatingServer support though FloatingClient implementation
- Add Support for Grace Period
- Add support of "date_header_invalid" error
- Add sending app version, name, etc. with URL and Offline requests
- Fix Demo with different configuration types (LicenseManager and FloatingClient)
Note:
Objective-C is now deprecated. Starting with versions 7.x.x, our SDK will no longer include it. Please contact us for options if you require support for the Objective-C language.
- Added support for Online Floating licenses
- Added Floating License Borrowing support
- Improvement of SSO demo
- Added demo for Floating Licenses
- On-the-fly configuration in demo
- Fix issue for case when the License is deleted on the Server
- Fix sending of ip/MAC with URL requests
- Improvement handling local consumptions
- Implemented Demo application. Min OS supported version is 10.15
- Relaxed requirements on init methods of public types
- Exposed some public methods of License and Configuration (non-breaking)
- Fixed extra network communication on offline activation
- Fixed offline activation issue when Customer.email is null
- Fixed offline activation files lookup (now you can specify either file or folder)
- Implement getting device variables list
- Implement getting license users list by customer
- Fixed issue with code signing
- Improved documentation
- redesign SDK in Swift
- Add retrieving of SSO url
- Add license activation with SSO token
- Add SSO token parsing from redicrection URL
- Update Mac/Swift example to show dealing with SSO
- Extend Customer with additional fields
- Add license policy and customer optional parameters when requesting trial license
- Minor improvement of interfaces
- Internal bugfix
- fixed issue related to license activation
- Added external logging subsystem. Now customers are able to collect internal (but not sensitive) logs of LicenseSpring
- Improved error reporting mechanism. Unified all errors and error codes
- Added customization in dealing with path to ls_activation.lic file
- Added support of 'start_date' to the license
- Implemented offline license update
- Minor improvement of interfaces
- Internal bugfix
- fixed bugs related to license file path
- set license status to inactive in case of device id mismatch error
- SDK is now shipped as a unified XCFramework and covers macOS, iOS, iOS Simulator, macCatalyst
- Updated Examples for Xcode 12.
- Added Examples for Xcode 13.
- Updated Documentation.
- Updated rules for saving license in a local file, fixed issue with incorrect last check date.
- Fixed algorithm for getting a trial license.
- Extended InstallationFile. Added new fields.
- Added SDK for ARM processors, see SDK/ARM/LicenseSpringMac.framework.
- Updated MacOS example for ARM architecture, added brief readme files for samples.
- Fixed incorrect Offline License file request
- Updated Examples for Mac OS
- Updated Apple Universal Binary for macOS apple silicon processors static library
- Added Apple Universal Binary for macOS and IOS Swift/Objective C static library
Note: The archive now also contains Apple Universal Binary static library macOS and IOS. The code has not been changed.
- Fixed incorrect display license status.
- Fixed License.IsValide for display actual data.
- Removed printing a list of network interfaces.
- Added Swift iOS example project.
- Added ObjC iOS example project.
- Added local check for license. See License.localCheck.
- Added SDK for iOS platform.
- Fixed getting IP address for macOS.
- added iOS Example Project;
- fixed crash;
- added checking signature on iOS;
- Added LicenseFeature.Name, now it's possible to get License feature name not only code.
- Added new exception types MaxFloatingReachedException and DeviceBlacklistedException and MissingEmailException and InvalidOrderIDException and MaxFloatingReachedException.
- Implemented Overages feature for Consumption license type. See License.IsConsumptionOverageAllowed and License.MaxConsumptionOverage.
- Improved consumption handling. Added new methods License.UpdateFeatureConsumption, LicenseFeature.LocalConsumption.
- Fixed issue for validity and maintenance periods in case of null dates (unlimited periods).
- Fixed issue of automatic license checks
- Added LicenseFeature name Allowing to retrieve the feature name in addition to its code.
- Bug: Fixed issue of consumption features. Consumption changes were not stored to local license file properly.
- Bug: Fixed license status.
- Default license file path changed to SupportApplication%AppName%\LicenseSpring%ProductCode%\License.key. Now the default license path of the application license will be transferred to the new location by the SDK.
- In LicenseManager sendCustomData renamed to sendDeviceData.
- Added validityPeriodUTC maintenancePeriodUTC lastCheckDateUTC
- ProductDetails information now also available for offline activated licenses, see License getProductDetails.
- Added License owner
- Added License isMaintenancePeriodExpired
- Added LicenseManager isOnline
- Added new LicenseManager getTrialLicense method. It accepts Customer object, when issuing trial license also new customer will be created or license will be assigned to existing customer.
- Updated documentation.
- Updated examples for Xcode 10 and Xcode 11.
- Added examples for Trial Flow App.
- Added new API request GetProductDetails, new class ProductDetails.
- Added LicenseSpringConfiguration.getAPIVersion property. It returns API version that SDK uses.
- API version field added to offline activation/deactivation files.
- Added requests for creating licenses and orders. See LicenseManager.createLicense and LicenseManager.createOrder.
- New classes Customer, OrderDetails and LicenseDetails.
- Improved samples.
- User-based licensing
- Offline licensing. New API methods - getOfflineActivationFile, activateLicenseOffline and deActivateOffline.
- Added new methods isOfflineActivated.
- Added new methods maxActivations and timesActivated.
- New API request sendCustomData, it allows sending custom data to the platform. Data will be linked to a device, so on the platform see device variables.
- Changed license status logic, now it's possible to check whether license is active even if it was disabled. See isActive, isEnabled.
- Fixed incorrect work of the SDK when product configured to have more than 2 letters short-code.
- Updated code style
- Fixed bug with LicenseStatus
- Added new feature - Custom product (license) data fields, see getcustomFields in License and CustomField.h
- Improved SDK samples
- Added sending "hostname" and and ability to disable it
- Fixed API URL in samples
- Sending of optional parameters like app_ver, os_ver, sdk_ver.
- Added Signature verification.
- Stability and performance improvements.
- Updated local check of the license, fixed issue with changing system time.
- Extended sample apps with brief example on how to handle product updates.
- Consumption licensing
- Global optimizations, significant improvements in the SDK architecture and design
- Added Swift sample
- Ability to set custom hardware ID.
- LSExtendedOptions, all optional SDK configuration properties now brought together in ExtendedOptions class, see sample app for details.
- Updated Example app.
- License status, isActive now replaced with LicenseStatus for the License class, for more details see LicenseStatus.h
- Fixed build error due to missed header in License.h
- implemented offline validation of the license
- added product features
- optimized license api calls
- added "product" (short-code) in relevant APIs (internal)
- fixed non-compilable code and add staging variable for Debug/Release configuration
- in case of no internet connection or other connectivity issue, CheckLicense will return the current License (if avail.)
- removed isEnabled property from License object
- added isExpired property to License object. This property (bool) will now reflect whether current license is maybe expired (validity period passed). Developers should use the following logic to determine whether there is a valid license: if license != nil && license.isExpired == false ...