iOS Cloud SDK ChangeLog

v2.7.0 (20 Apr, 2018)

Enhancement

  • Switched JSON Encoding/Decoding library to NSJSONSerialization from SBJSON.

    We were using an old version of SBJSON, and there was a problem of handling unicode escaped strings. From this version, JSON is handled by NSJSONSerialization.

    Behavior changes:

    • Unicode escaped strings are now correctly handled by SDK.
    • Decimal number parsing :

    SBJSON uses NSDecimanNumber for parsing JSON returned from the server, whereas NSJSONSerializaton uses binary format double. Parsed two from the same string could have a very small error.

    Example: 0.1 can be represented without any error in decimal, but with an error in binary double.

    Several libraries use different methods for representing decimal numbers. You can not expect a unified method to be used among all the system and thus need to be prepared for such errors. The best practice for avoiding such errors is always to use an integer by aligning to the smaller unit when storing data and convert the data to a suitable unit on display.

    Example: Store as 1100m rather than 1.1Km.

v2.6.12 (7 Feb, 2018)

md5: 73e708ea659ad5c5372b837b7fd8905a

Bug Fix

  • Fix bug that [KiiLocaleContainer isEqual] crashed the app when the iOS version is earlier than 9.0.

v2.6.11 (19 Jan, 2018)

md5: 2898b37ceac851eac2f6f88418448a93

Bug Fix

  • Fix concurrency issue on KiiUser.

v2.6.10 (16 Nov, 2017)

md5: 5c4ee338185bb5ff546b54abeb6dd2e2

Bug Fix

  • Fix concurrency issue on KiiUser.

v2.6.9 (16 Oct, 2017)

md5: 8ca8b0b8c33c5dbd4cffcc1e302252a1

Improvements

  • Add new API [KiiSocialConnect logInNavigationController:block:], so that your app can leverage the return NavigationViewController instance.

Bug Fix

  • Fix swift annotation.

v2.6.8 (18 August, 2017)

md5: 471214c3d3ce82b6e67c2de14cdde149

Bug Fix

  • Fix Social connect login with sina weibo

v2.6.7 (21 July, 2017)

md5: 6611a2f87e3034e184d224c6d00e303b

Improvements

  • Support specifying the version of the JavaScript engine (Node.js) for executing a server code.
  • Mandate a thing password for adding a new thing owner.

v2.6.6 (20 Apr, 2017)

md5: 2f6babf559fa4d9e20a2bef7422eca90

New feature

  • Specify mutable-contents in APNS Message
  • List owned things

Improvements

  • Fixed warnings in apple doc.
  • Remove KiiQuery limit(100) for number of items in client side.
  • Changed KiiQuery.limit property type to unsigned int.

Bugfix

  • Next query instance could be incorrect when KiiQuery instance is used in with multiple thread.

v2.6.5 (14 Apr, 2017)

md5: 53fab7942b6a70e904336e5c8edf6810

Hotfix

Workaround for sign-in error with Google account using SDK UI.


v2.6.4 (5 Jan, 2017)

md5: 666d7366077a1e4107a0df642a04aadf

Improvement

KiiPushMessage

New Features

  • Supports Has field query
  • Supports Not query

Bug fix

Fixes API typos. progess is changed to progress in some APIs. We adds fixed APIs instead of removing typo APIs. We marks those typo APIs as deprecated.


v2.6.3 (5 Oct, 2016)

md5: b984743735525f79aadd1dca0aa20f12

Bug fix

  • Fixed Info.plist included in framework to avoid error on exporting ipa with XCode8.

v2.6.2 (18 Aug, 2016)

md5: 2f9ea02cc7954a05c053d922536eb2ed

Improvement

  • Enabled to login with access token and refresh token.

v2.6.1 (12 Aug, 2016)

md5: 89da0fdc96a0cfebc37de52d10b58e81

Fix

  • Fixed code sign error when integrate SDK with Cocoapods on device.

v2.6.0 (5 Aug, 2016)

md5: ded0a966a75f7f607be7594e8af97709

Packaging

From this release, framework is changed to Dynamic Library.

  • Minimum Deployment target is iOS 8.0
  • dSYM files are included in the release archive.

v2.5.4 (7 Jul, 2016)

md5: fdddee0620ccc732419e43b0c148933d

New Features

  • Enabled to reset password with PIN code in receipt SMS.

v2.5.3 (16 Jun, 2016)

md5: 5cafacd26a0f4ab6beb05ce9e39a8f8b

New Features

  • Enabled to use Kii Cloud located in EU.

v2.5.2 (7 Jun, 2016)

md5: 1ed0d59682f1f9edf46071b724669908

New Features

  • Locale support
  • Thing online state

Others

  • Removed KiiFile

v2.5.1 (12 May, 2016)

md5: 242ebc51ac878fef6a7fe979d9502d3f

Improvement

Enable to get pending email/ phone that has not been verified yet.

New API

Following property has been added.

  • KiiUser.pendingPhoneNumber
  • KiiUser.pendingEmail

When the application config requires Phone/ Email verification, new Phone/ Email is stored as pending identifier until the verification has been done. This API enables the application to show the accurate status of the KiiUser to end users.

Behavior change

Timing of changing phoneNumber/ email property ot the KiiUser

After the following API has been completed, - changePhone:withBlock:, changePhone:withDelegate, changePhoneSynchronous:withError - changeEmail:withBlock:, changeEmail:withDelegate, changeEmailSynchronous:withError

phoneNumber, email property won't be changed by SDK immediately. The reason is new Phone/ Email has not been promoted as users' Phone/ Email if the verification has not been done. Please call #refresh() and check the existence of pendingPhoneNumber/ Email.

Persistent Properties

Following properties are saved in persistent storage from this version.

  • pendingPhoneNumber
  • pendingEmail
  • phoneVerified
  • emailVerified

v2.5.0 (11 Apr, 2016)

md5: bc90246aba326e1730408446953f22f2

From this release, XCode 7 or later is required to build app with the SDK.

Improvement

  • Added nullable and nonnulll annotation.
    Note: This change will breaks backward compatibility if you're using Swift Bridging. Requested to wrap/unwrap the optional variables.

  • KiiUserBuilder improvement

  • Enabled Bitcode.

Bug Fix

  • Resumable transfer completion block is called twice when the Http Status is 500

v2.4.2 (23 Feb, 2016)

md5: 165c910d891ae49bc29f186a5155a085

Misc. changes

  • Added READ_OBJECTS_IN_BUCKET acl. (It is reserved for future. Not available now)

  • Removed warnings in non ARC projects.


v2.4.1 (15 Jan, 2016)

md5: a470eb0fa51d59704307863378721f72

Improvements

  • Improve error handling (Provide easy way to get properties in error response).

v2.4.0 (25 Dec, 2015)

md5: d2c604da2dffd6c14f746dad8424aae0

New features

  • Enable to specify group ID on creation of the group.

Improvements

  • Replace NSURLConnection with NSURLSession.

Bug fixes

  • Fixed reserved key handling issue in KiiObject.

v2.3.0 (30 Oct, 2015)

md5: 9b2a4363b9d65ef2ea8ff0bb344fdb81

Improvements

  • Thing ownership flow improvement.
  • Social integration with OpenID Connect. (Enterprise subscription)

Bug fixes

  • Fix expiresAt not sent properly on Social connect.

v2.2.5 (16 Oct, 2015)

md5: 025c048693d175151bba44cb614523f1

Improvements

Social Connect login callback improvement.

  • Now callback block is called in main queue.
  • Callback is called after the login view is dismissed.

v2.2.4 (13 Oct, 2015)

md5: 423f2d1c4f615eb1353118285dd49f23

Improvements

  • Enable site CN3

v2.2.3 (18 Sep, 2015)

md5: ff74e018aaa7721b7980328fe01e349a

Bug fixes

  • Fixed issue that can not parse Thing Scope Object URI with KiiObject#objectWithURI:

v2.2.2 (17 Sep, 2015)

md5: a7d0e6ac934e7960abc9f29d0d49fa6d

Hotfixes

  • Fixed the issue that the app crashed when attempting to load user credentials while device was locked.

Improvements

  • Enable to save and restore user credentials anytime, including when the device is locked.

    The following conditions must be met to enable this feature:

    • The device must be unlocked once.
    • The app must be restarted.
  • The user credentials stored by the old SDK will be handled as follows after upgrading to v2.2.2:

    • You can restore The credentials with no problem when the device is unlocked.
    • The codeNonKeychainItemFound error will be returned if you try to resotre them when the device is locked.

v2.2.1 (10 Sep, 2015)

md5: eceb77fd6a5fc570e2f3bf9db8dca053

Improvements

  • Social integration, please confirm documentation for social integration
    • Enable to login/link with Social Network Providers Access token for Google and Renren.

v2.2.0 (3 Aug, 2015)

md5: 3a532ca18387e44ce1de527fef538c8f

New features

  • Integrate Analytics SDK.

Improvements

  • Push Message Parser improvement. (Thing related event/ getting Event source)

v2.1.31 (26 Jun, 2015)

md5: 0181372dfafe2003937415a8a2bee70b

New features

  • Listing Topics
  • Checking the existence of Topic
  • Add ability to get thingID from push KiiPushMessage.

v2.1.30 (26 May, 2015)

md5: e5ed9acbf0c2d8aa7f21d46491cb6d67

New features

  • Facebook integration using ACAccount

Improvements

  • Drop support for iOS 6. From this release, the minimum required iOS SDK is 7.1.

v2.1.29 (1 Apr, 2015)

md5: 852914190c194a947a37824a98773d9b

New features

  • Thing for Mobile apps.
  • Refresh Token.

Improvements

  • Expose newusercreated filed for native social integration.
  • Refresh KiiUser after social network integration.
  • Expose KiiTopic.name (read-only).

v2.1.28 (25 Mar, 2015)

md5: 069a8270a774c980eb47bc68d21eaf0c

This version is hotfix of v2.1.27

Bug fixes

  • Fixed problem of using graph API 1.0 when the Facebook application is installed on the device.

This fix should be applied until 30 April 2015.


v2.1.27 (6 Mar, 2015)

md5: 9f26da9440b14b810a7f567e864d357b

New features

  • Reset Password via SMS.

v2.1.26 (30 Jan, 2015)

md5: 3c715582203a865c8c6861e9ead05ad4

New features

  • Bucket encryption.

v2.1.25 (19 Dec, 2014)

md5: 878c29b85af559c68cbd63f96a4086dd

New features

  • API to check if the user is disabled.
  • API's to obtain linked social account information and check if a specified social network is linked.
  • Integrate QQ (http://imqq.com) with Kii Cloud. You can now signup/signin the users to your App with their QQ accounts.

Improvements

  • Upgraded to Facebook API v2.1 to follow their major update and deprecation of v1.X.

v2.1.24 (29 Oct, 2014)

md5: e9ad3a7146f92f21cbcc09e6e83cf3b1

New features

  • Add kii_new_user property that shows if a user is newly created or not in the dictionary can be obtained by KiiSocialConnect#getAccessTokenDictionaryForNetwork.
  • Accept short display name. (longer than or equal to 1 character)
  • Add support for iOS 8 categorized remote push notification.

Improvements

  • Minor fix on an error message.

v2.1.23 (1 Oct, 2014)

md5: 619173f5bc595d072154e5cae98f12b5

New features

  • Support Swift programming language. You can now leverage Kii Cloud SDK in iOS apps written in Swift.

Improvements

  • Change description property of KiiExperiment to experimentDescription to avoid ambiguity with NSObject protocol.

v2.1.22 (8 Sep, 2014)

md5: da260ba4197fbbc094b90cbaed714677

New features

  • Pseudo user. This feature enables KiiUser registration without identity (username, email, phone number) and password.
  • Access token expiration setting API for KiiUser authentication.

v2.1.21 (Aug 13, 2014)

md5: f135b159365f65d3313550bef5e3c547

Improvements

  • Preparation for iOS 8

    • Fix runtime problems on iOS 8.
  • Enable to get ID of KiiUser/KiiGroup and instantiate them from ID.


v2.1.20 (Jul 11, 2014)

md5: 3abda213791525ca9cb1a541a4c37cd0

New feature

  • Login with social network account by SocialNetworkConnector integration.
    • Now supports following providers.
      • Facebook
      • Twitter
      • LinkedIn
      • Yahoo
      • Google
      • Live
      • Dropbox
      • Box
      • Renren
      • Sina Weibo
  • Add RandomVariationSampler for AB testing.
    AB testing is now easily introduced without user sign-up.

Improvements

  • Following error details can be obtained from NSError.

    • HTTP status code.
    • errorCode defined in REST API.
    • error message.
  • Introduce new API for installing Push. Existing API has been deprecated.
    (Groundwork of iOS 8)


v2.1.19 (Jun 13, 2014)

md5: 1171271eb259f28795688faaf6d1f0b7

New features

  • Upload Object body with content-type for iOS7 background transfer.

docomo PhotoColle integration updates

  • Automatically refresh token by executing PhotoColle APIs.
  • Support docomo Developer support authentication API.
    • The "docomo cloud API developer portal" is now deprecated by NTT. You must get a new client ID, and client secret from docomo Developer support if you do not have ones yet.

Note: To use this feature, needs to update PhotoColleSDK to v1.1.0


v2.1.18 (May 22, 2014)

md5: 6c1ffdcd7c2fa6a54aee5558a1e0f2bd

New features

  • Counting objects in bucket
  • Site SG is available.

Improvements

  • Signature has been renamed to avoid conflicts.
    • KiiExperimentStatus enum
    • KiiMessageField enum
    • KiiRTransferStatus enum
  • KiiUser overrides isEqual.
  • Rid off warning that appears on submitting application to AppStore.
    "The app references non-public selectors in Payload/<AppName>.app/<AppName>:authenticationContext"

Bug fixes

  • KiiGroup member can not be removed from the group in some cases.

Other

Deprecate APIs

  • KiiFileBucket and KiiFile are deprecated. Use KiiBucket and KiiObject instead. #### Add API for internal use.
  • Instantiate KiiQuery from NSDictionary equivalent to raw JSON String.

v2.1.17 (Apr 11, 2014)

md5: e9c182c512cfc8705965b58f436520fe

New features

  • Upload/Download/Publish Object body.
    • Now you can attach arbitrary data to the object. (binary file, etc.)
  • Support iOS7 background push.
    • Now you can send "Push to User" message with content-available=1 payload to iOS application.

Improvements

  • Add Blocks argument API's in KiiSocialConnect.
  • Add new API to get the instance of KiiUploader with NSError object that describes the problem occurred during instantiation.

v2.1.16.1 (Apr 2, 2014)

md5: ed71754e0f57793f7a58c5ce169b75fc

Hotfixes

  • Rename all of FMDatabase class name to avoid name-space confliction.

v2.1.16 (Mar 28, 2014)

md5: 04ff45e30852408f5cb8dcd4d27be42a

New features

Bug fixes

  • AB Test sampling does not reflect defined distribution in some cases

Improvements

  • Rename VariationSampler#onCrank() to VariationSampler#chooseVariation().
  • Allow an anonymous user to upload/download files by ResumableTransfer interface.

Notes

From this release, SDK needs these libraries. Please add them to "Link binary with libraries" on Xcode.

  • Security.framework [New]
  • ImageIO.framework [New]
  • sqlite3.dylib [New]
  • MobileCoreServices.framework
  • Account.framework
  • Social.framework

v2.1.15 (Feb 14, 2014)

md5: 8961561de30f8fe3e1a25aef4be1cf4a

Bug fixes / Improvements

  • Pass reference of RTransfer instance on progress block.

It was copied for instance in the previous version

  • Improve AB test error handling

Enable AB test when no user logged in

  • Fix API documentation of Server code.

Able to execute when no user logged in.

  • Fix object partial update

SDK sent fields that have not been updated on partial update.


v2.1.14 (Jan 29, 2014)

md5: ffa69f9f76cb02a354ac8182d20093f9

New features

  • A/B Testing.
  • Create KiiObject with specified ID.

Improvements

  • Replace Twitter.framework with Social.framework. Note: Please add Social.framework instead of Twitter.framework in "Link binary with libraries" on Xcode.

Other

  • Fix KiiObject partial update logic.
  • Fix to add version information in KiiObject, which is instantiated by a query.

v2.1.13 (Jan 17, 2014)

md5: a6f11a1e792a76fdb6244924e1b6ac94

New features

  • Support 64 and 32-bit architecture in a single binary

Other

  • iOS 5 is no longer supported

v2.1.12 (Oct 01, 2013)

md5: 8d8634f370b4055b2f608aefa614ec60

New features

  • Login, link with Twitter Note: this version needs two libraries added to "Link binary with libraries" on Xcode.
    1. Account.framework
    2. Twitter.framework

v2.1.11 (Aug 23, 2013)

md5: 4826629de6eab95cc1d0f2178acb4570

New features

  • Server Code Execution
  • Getting group list by owner
    • - (void)ownerOfGroupsWithBlock:(KiiUserArrayBlock)block, - (NSArray )ownerOfGroupsSynchronous:(NSError *)error : List groups owned by the user.
  • Non server access version of KiiGroup#getOwner
    • - (KiiUser *)getCachedOwner : Does not access to server unlike getOwner in KiiGroup class.

Other

  • Fix bugs

v2.1.10 (July 26, 2013)

md5: 412cd4bb4c157e804fab6a376c154892

Improvements

  • Add validation feature to avoid using GCM reserved payload keys
  • Fix KiiQuery sample on appledoc.

Other

  • Fix bugs

v2.1.9 (July 17, 2013)

md5: 0ff9689d6216ba5353fd89dc7b311e0e

New features

  • Set/get Geo location of KiiObject.
  • Query objects with a given GeoBox.
  • Query objects with a given GeoDistance.

v2.1.8 (July 5, 2013)

md5: e0a616a5431cb22a125f0ff2980b38ee

New features

  • Resumable transfer synchronous API (Download and Upload)
  • Body attachment/deletion of JSON Object
  • Site CN is available

Other

  • Fix bugs

v2.1.7 (May 28, 2013)

md5: de67a2eb47704690f1df60f3a99b278e

New features

  • Resumable Transfer Asynchronous API (Download and Upload)
  • Push uninstallation function

Improvements

  • Fix KiiFile progress using NSData
  • Improve KiiUser password validation
  • Enable KiiTopic name validation
  • Fix behavior of KiiACLEntry
  • Some bug fix

v2.1.6 (March 26, 2013)

md5: 525cacfcbb7a85db732f23d574dbbd22

New features

  • Push subscription status check function

Improvements

  • Enable KiiUser property validation for displayName, country and phoneNumber
  • Fix bugs

v2.1.5 (March 4, 2013)

md5: 5fd7f939b9a7534e0cfd8571b00052cf

New features

  • KiiUser search function
  • Add array of KiiClause as parameter on KiiQuery

Improvements

  • Enable AppScope topic subscription
  • Enable FileBucket subscription
  • Enable ACL to KiiTopic
  • Fix bugs

v2.1.4

New features

  • Add authenticateWithLocalPhoneNumber methods
  • Add Basic Push notification
    • KiiPushInstallation
    • KiiPushSubscription
    • KiiPushMessage
  • Add Explicit Push
    • KiiTopic
    • KiiAPNSFields
    • KiiGCMFields

v2.1.3

Misc. changes

  • Convert into Automatic Reference Counting (ARC)
  • Fix Memory leaks