SDKs

Swift/Objective-C SDK

48min

Swift/Objective-C SDK

  • 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.

Release Notes

November 07, 2024, v6.12.0

  • Exposed OrderStoreId as public API
  • Fixed issues with Xcode 16 and SwiftUI Preview

October 24, 2024, v6.11.0

  • Refine all errors to satisfy internal requirements and customer needs
  • Add support for Swift Package Manager
  • Fix some minor issues

October 19, 2023, v6.10.0

  • Implement local grace period
  • Update README

September 19, 2023, v6.9.0

  • Implement AirGap deactivation
  • Implement `isAirGapActivated` and `polocyID` license properties

August 1, 2023, v6.8.0

  • Improve signature checks for Offline activation
  • Implement unlimited consumption feature
  • Implement reset consumption feature

June 8, 2023, v6.7.0

  • Added support for metadata functionality.

April 24, 2023, v6.6.0

  • air-gap license activation
  • customization of HTTPs proxy for SDK requests
  • extend demo to support air-gap activation

January 26, 2023, v6.4.2

  • 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.

December 08, 2022, v6.3.0

  • 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

October 10, 2022, v6.2.1

  • 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)

August 29, 2022, v6.1.1

  • Fixed extra network communication on offline activation

August 15, 2022, v6.1.0

  • 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

August 9, 2022, v6.0.1

  • Fixed issue with code signing
  • Improved documentation

July 29, v6.0.0

  • redesign SDK in Swift

May 3, 2022, v5.11.0

  • 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

March 30, 2022, v5.10.1

  • fixed issue related to license activation

March 29, 2022, v5.10.0

  • 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

March 02, 2022, v5.9.0

  • 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

October 27, 2021 v5.8.0

  • 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.

August 05, 2021 v5.7.3

  • Added SDK for ARM processors, see SDK/ARM/LicenseSpringMac.framework.
  • Updated MacOS example for ARM architecture, added brief readme files for samples.

May 24, 2021 v5.7.2

  • Fixed incorrect Offline License file request
  • Updated Examples for Mac OS

Mac December 12, 2020 v5.7.1_StaticLib (NEW)

  • Updated Apple Universal Binary for macOS apple silicon processors static library

Mac November 25, 2020 v5.7.1_StaticLib

  • 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.

Mac November 6, 2020 v5.7.1

  • Fixed incorrect display license status.
  • Fixed License.IsValide for display actual data.
  • Removed printing a list of network interfaces.

Mac October 16, 2020 v5.7.0

  • 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.

Mac October 8, 2020 v5.6.0

  • added iOS Example Project;
  • fixed crash;
  • added checking signature on iOS;

Mac September 10, 2020 v5.5.0

  • 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).

Mac August 27, 2020 v5.4.1

  • Fixed issue of automatic license checks

Mac April 1, 2020 v5.4.0

  • 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.

Mac March 16, 2020

  • Updated examples for Xcode 10 and Xcode 11.
  • Added examples for Trial Flow App.

Mac December 27, 2019

  • 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.

Mac December 11, 2019

  • 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.

Mac November 28, 2019, v4.5.0

  • Fixed incorrect work of the SDK when product configured to have more than 2 letters short-code.
  • Updated code style
  • Fixed bug with LicenseStatus

Mac September 11, 2019, v4.4.1

  • 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.

Mac June 13, 2019, v4.4.0

  • Added Signature verification.
  • Stability and performance improvements.

Mac June 5, 2019, v4.3.2

  • Updated local check of the license, fixed issue with changing system time.

May 8, 2019, v4.3.1

  • Extended sample apps with brief example on how to handle product updates.

May 6, 2019, v4.3.0

  • Consumption licensing
  • Global optimizations, significant improvements in the SDK architecture and design
  • Added Swift sample

April 18, 2019, v4.2.1

  • 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.

April 15, 2019, v4.1.0

  • 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

April 9, 2019, v4.0.10

  • implemented offline validation of the license

April 8, 2019, v4.0.9

  • added product features
  • optimized license api calls

April 5, 2019, v4.0.8

  • added "product" (short-code) in relevant APIs (internal)

April 4, 2019, v4.0.7

  • fixed non-compilable code and add staging variable for Debug/Release configuration

April 3, 2019, v4.0.6

  • in case of no internet connection or other connectivity issue, CheckLicense will return the current License (if avail.)

April 2, 2019, v4.0.5

  • 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 ...



Updated 07 Nov 2024
Doc contributor
Doc contributor
Doc contributor
Did this page help you?