- [CHANGED] If you integrate the SDK manually, please link to the
ExternalAccessory
framework as per our setup guide - [UPDATE] Deployment target raised to iOS 9.0
- [CHANGED] The login mask does not show the "Reveal password" button anymore
- [ADDED] SumUp Air Register support
- [IMPROVEMENT] Dedicated error code for currency mismatches – please refer to our README for hints regarding correct currency handling
- [IMPROVEMENT] Populate
NSLocalizedDescriptionKey
in SDK errors – you can still accessNSUnderlyingErrorKey
for more details regarding the underlying error - [ADDED] New currency code constant (
CLP
) and new languages (es-CL
,et
)
- [UPDATE] Update target SDK to iOS 11, deployment target raised to iOS 8.0
- [REMOVED] Drop support for audio connection to first generation PIN+ devices.
This implies that the
YTLibResources.bundle
has been removed. - [IMPROVEMENT] Add module map for Swift integration without bridging headers
- [IMPROVEMENT] Prefer readonly properties over methods to improve Swift signatures
- [ADDED] Add CocoaPods integration support – use
pod SumUpSDK
in your Podfile
Sample application:
- [UPDATE] Update deployment target of Obj-C app to iOS 8
- [UPDATE] AVFoundation is linked as required since weak linking was only needed when running on iOS 5
- [IMPROVEMENT] Swift sample app uses modular imports instead of bridging headers
When improving imported Swift names we took the opportunity to rename and prefix some classes and enums. We've also renamed the SDK to SumUpSDK to make it easier to integrate with CocoaPods. Migrating your code base is easy.
- Remove the
SumupSDK.embeddedframework
and add the new one calledSumUpSDK.embeddedframework
. Make sure your target still links against the framework and still copies the resource bundle. - Rename your imports
<SumupSDK/SumupSDK.h>
to<SumUpSDK/SumUpSDK.h>
- If your project uses modules, you can use
@import SumUpSDK;
in Objective-C - Swift projects should always use
import SumUpSDK
instead global bridging header imports
- If your project uses modules, you can use
- Rename all occurrences of
SumUpCompletionBlock
toSMPCompletionBlock
- In ObjC:
- rename all case-sensitive occurrences of
SumupSDK
toSMPSumUpSDK
(except for imports, see above),
- rename all case-sensitive occurrences of
- In Swift:
- rename all case-sensitive occurrences of
SumupSDK
andSMPSumupSDK
toSumUpSDK
- remove trailing parantheses from
SumUpSDK
'sisLoggedIn
,checkoutInProgress
,bundleVersion
, andbundleVersionShortString
- rename
SMPSkipScreenOptions
toSkipScreenOptions
- rename all case-sensitive occurrences of
- [BUGFIX] Fix a crash in checkout on iPad Pro when building against iOS 11
- [IMPROVEMENT] Fix an outdated link to API docs. See issue #49
- [IMPROVEMENT] Fix layout issues in login and checkout when building against iOS 11
- [IMPROVEMENT] Add comment to point out that
setupWithAPIKey:
needs to be called on the main thread. See sumup#46
-
[IMPROVEMENT] Support for future SumUp terminal.
-
[ADDED] Add
SMPSkipScreenOptions
to allow for skipping the screen shown at the end of a successful transaction. -
[ADDED] Add
-[SMPCheckoutRequest tipAmount]
to provide an additional tip amount to be added to the total in checkout.Sample application:
-
[ADDED] Add option to skip the receipt screen by setting the appropriate
SMPSkipScreenOptions
of the checkout request. -
[ADDED] Add option to specify tip amount.
-
[IMPROVEMENT] Convert to Auto Layout
- [BUGFIX] Fix a crash when trying to re-connect to an Air/PIN+ terminal, see issue #33
- [ADDED] Add
+[SumupSDK prepareForCheckout]
to prepare the SDK when a checkout attempt is imminent. - [ADDED] Add
+[SumupSDK testSDKIntegration]
to validate your integration. Please do not call in Release builds but only in development. - [IMPROVEMENT] Speed up wake on Bluetooth
- [IMPROVEMENT] Fix an issue where subsequent checkout attempts would keep failing when BT connection to Air/PIN+ Terminal has been lost during checkout.
Sample application:
- [ADDED] Tapping "Next" on the keyboard when entering an amount will wake a
connected terminal by calling
+[SumupSDK prepareForCheckout]
. - [ADDED] Run
+[SumupSDK testSDKIntegration]
when building in Debug configuration.
- [ADDED] Provide method to let merchants change their checkout preferences
+[SumupSDK presentCheckoutPreferencesFromViewController:animated:completion:]
Sample application:
- [ADDED] Add button to present checkout preferences
- [BUGFIX] Add missing
-ObjC
linker flag to Swift sample app
- [IMPROVEMENT] Support latest Air and Air Lite terminals
- [IMPROVEMENT] Hosting app is no longer required to support any landscape device orientation on iPhone
- [IMPROVEMENT] Assert that SMPSharedResources is available when setting up SDK on simulator.
- [ADDED] Swift sample app
- [ADDED] Includes upcoming SSL certificate - Certificates included in any previous SDK version will expire Friday, 24th Feb 2017
Deployment target changed to iOS 6.
- [UPDATE] Base SDK is iOS 9.3, deployment target is iOS 6
- [ADDED] Provide additional information on transaction and payment
instrument in
-[SMPCheckoutResult additionalInfo]
. - [ADDED] New terminal including US support
- [BUGFIX] Fix an issue where some C&S transactions and mobile payments would incorrectly be reported as failed
- [IMPROVEMENT] Improve layout on iPhone 6, iPhone 6 Plus, and iPad Pro
- [IMPROVEMENT] Match style of SumUp iOS app version 1.60 and later
- [IMPROVEMENT] Improve support of Wake-on-Bluetooth PIN+ readers
- [IMPROVEMENT] Add nullability annotations
- [IMPROVEMENT] Prefix some internal classes to avoid duplicated symbols, see issue 15.
Sample application:
- [UPDATE] Application supports large screens
- [UPDATE] Deployment target has been raised to iOS 6
- [IMPROVEMENT] Remove
-w
in other linker flags and hint from README. - [IMPROVEMENT] Add NSBluetoothPeripheralUsageDescription to Info.plist
- [ADDED]
+[SumupSDK loginWithToken:completion:]
provides a way to log in a merchant with an access token acquired using the authentication API. - [IMPROVEMENT] Always provide an error object if login fails in
+[SumupSDK presentLoginFromViewController:animated:completionBlock]
- [IMPROVEMENT] no need to link against
stdc++
anymore
- [IMPROVEMENT] Rename SBJson to avoid conflicts.
- [UPDATE] Remove CFBundleExecutable entries from info.plist files of bundles to fix ITMS-90535 error when submitting to iTC.
- [UPDATE] Add
-w
toOTHER_LDFLAGS
of sample App to work around linker warnings.
Important: AVFoundation
needs to be linked as optional if your deployment target is iOS 5.x
- [ADDED]
+[SumupSDK checkoutWithRequest:fromViewController:completion:]
returns the transaction code as well as the status of the checkout process. - [ADDED] SMPCheckoutRequest can pass a foreign transaction ID to be associated with the transaction. Maximum length is 128 characters.
- [ADDED] Supports latest PIN+ readers and wake on bluetooth
- [IMPROVEMENT] Simplifies layout of sample code
- [IMPROVEMENT] Clarified usage of currency code in checkout by passing current merchant's transaction code in sample code.
- [DEPRECATED]
+[SumupSDK checkoutWithRequest:fromViewController:completionBlock:]
is deprecated - [DEPRECATED] The sandbox environment is not supported anymore. Please get in touch and we will create a sandboxed test account for you.
- [REMOVED] Currency RUB is no longer supported
Needs to be linked against Accelerate
framework.
- [UPDATE] Built on iOS 8.1
- [UPDATE] slices for armv7 arm64, i386 and x86_64
- [UPDATE] add
NSLocationWhenInUseUsageDescription
to sample app's Info.plist file and to Getting Started section - [BUGFIX] accept WhenInUse location usage permission
- [BUGFIX] Stability improvements
- [UPDATE] Return an error in +[SumupSDK checkoutWithRequest:fromViewController:completionBlock:] if merchant is not logged in.
- [UPDATE] Return an error in +[SumupSDK checkoutWithRequest:fromViewController:completionBlock:] if another checkout is in progress.
- [BUGFIX] Fix connection to server in sandbox mode.
Initial version to support PIN+.