Skip to content

Releases: QuickBlox/quickblox-ios-sdk

2.14

02 Nov 15:52
Compare
Choose a tag to compare

New

  • Added QBDarwinNotificationCenter class

    NOTE

    A notification that enables the broadcast of information to registered observers between extensions with the same QuickBlox application id.

    The Darwin notification center is a system mechanism on iOS and OS X to send signals across process boundaries. It's useful to exchange information between two or more running processes such as an iPhone app notifying a WatchKit/Share/Siri.... Extension that new data has arrived.

    Is based on Darwin notification center.

    How to use:

    @interface YouExtensionClass ()
    @property (nonatomic, strong) id logoutObserver;
    @end
    
    @implementation YourExtensionClass
    
    - (void)registerToLogoutNotificaiton {
        __weak __typeof(self)weakSelf = self;
        self.logoutObserver = [[QBDarwinNotificationCenter defaultCenter]
                               addObserverForName:@"logout" usingBlock:^{
                                   [weakSelf completeSharing:nil];
                                   NSLog(@"Logout received");
                               }];
    }
    
    @end
    
    ...
    
    @implementation YourApplicationClass
    
    - (void)postLogoutNotificaion {
        [[QBDarwinNotificationCenter defaultCenter] postNotificationName:@"logout"];
    }
    
    @end
  • Added FOUNDATION_EXPORT NSNotificationName const kQBLogoutNotification; - Posted immediately after logout from QuickBlox and session destruction. Used only for Darwin notification center.

  • Added New method + [QBRequest registeredUsersFromAddressBookWithUdid:isCompact:successBlock:errorBlock:] to retrieve registered users from address book.

    Parameter Description
    udid User's device identifier. If specified - all operations will be in this context. Max length 64 symbols.
    compact if YES - server will return only id and phone fields of User. Otherwise - all User's fields will be returned.
    successBlock The block to be executed when registered users are retrieved.
    errorBlock The block to be executed when the request is failed.

    How to use:

    [QBRequest registeredUsersFromAddressBookWithUdid:@"your udid"
                                            isCompact:NO
                                         successBlock:^(NSArray<QBUUser *> *users) {
         NSLog(@"Registered users: %@", users);
     } errorBlock:^(QBResponse *response) {
         NSLog(@"Error: %@", response.error.error.localizedDescription)
     }];

2.13

25 Oct 15:40
Compare
Choose a tag to compare

Fixes

New

  • Added class properties in QBSettings

  • Added + [QBSettings settingsFromPlist] and + [QBSettings settingsFromPlistWithName:]

    This method should be used only for Continuous Integration (CI) because of security reasons

    Possible keys Type Required
    applicationID Number YES
    authorizationKey String YES
    authorizationSecret String YES
    accountKey String YES
    apiEndpoint String NO
    chatEndpoint String NO
    autoReconnectEnabled Bool NO
    carbonsEnabled Bool NO
    streamManagementSendMessageTimeout Integer NO
    reconnectTimerInterval Double NO
    keepAliveInterval Double NO
    chatEndpointPort Integer NO
  • Added exception for missed credentials

  • Added QBSettings.chatEndpoint class property

  • Added QBSettings.apiEndpoint class property

Deprecated

  • Deprecated + [QBSettings setApiEndpoint:chatEndpoint:forServiceZone:]
  • Deprecated + [QBSettings setServiceZone:]
  • Deprecated + [QBSettings currentServiceZone]

Sample projects updates

  • Swift 4 support
  • Latest Pod’s (QMServices 0.5.3, QMChatViewController 0.5.1 )

WebRTCv2.6.2

05 Oct 13:56
Compare
Choose a tag to compare
  • Fixed possible crashes when trying to close rtc session immediately after creating it.

Conference module (Enterprise-only feature):

  • Added new listOnlineParticipantsWithCompletionBlock: method in QBRTCConferenceSession class. Use it to get all current participants IDs in the dialog.

  • Callbacks about joining and leaving occupants will now always be called when session created (this fixing the lack of callbacks when we want to subscribe to users feed, but don't want to post ours).

  • Fixed conference connection states (sometimes states would return wrong one).

2.12

20 Sep 10:30
Compare
Choose a tag to compare
  • Address Book functionality documentation
  • Removed Location API
  • Removed Deprecated API (see previous changelogs)

2.11

29 Aug 09:17
Compare
Choose a tag to compare

Added + [QBSettings chatEndpointPort]; - The port the xmpp server is running on (only enterprise). If you do not explicitly set the port, the default port will be used. If you set the port to zero, the default port will be used. The default port is 5223.

2.9.3

17 Apr 14:13
Compare
Choose a tag to compare

Heads up! As announced at Google I/O, Digits is being replaced with Firebase phone authentication. To continue authenticating users, you need to upgrade to Firebase by September 30, 2017. After this date, your users will be unable to authenticate their device if they try to sign in with Digits. In addition, app backends will not be able to verify existing user tokens using Digits’ /sdk/account endpoint. Please see our migration guide: https://docs.fabric.io/apple/digits/apple-migration.html

Added + [QBRequest:logInWithFirebaseProjectID:accessToken:successBlock:errorBlock:]
Deprecated + [QBRequest logInWithTwitterDigitsAuthHeaders:successBlock:errorBlock:]

v2.6.1 - Jun 27, 2017

27 Jun 15:25
Compare
Choose a tag to compare

Conference module (Enterprise-only feature):

  • Fixed issue with disappearing user in a room when the internet connection is slow.
  • Added ability to perform audio-only calls. Use new createSessionWithChatDialogID:conferenceType: method for this with desired conference type enum.
  • Fixed ability to subscribe to the user in session without being required to join the room (this introduces the ability to receive someone's media without sending own).

v2.6.0.1 - May 30, 2017

30 May 16:28
Compare
Choose a tag to compare

Fixed potential memory leak with for video calls when the recorder (introduced in 2.6) was not in use.

v2.6 - May 30, 2017 (DEPRECATED - use 2.6.0.1)

30 May 13:32
Compare
Choose a tag to compare
  • WebRTC r 18213
  • Added QBRTCRecorder class. This class represents WebRTC audio and video calls recorder. Check out this link for more information on how to use it.
  • Added new delegate methods toQBRTCAudioSession class.
  • Added audioSessionDidStartPlayOrRecord: delegate. Called when the audio device is notified to begin playback or recording.
  • Added audioSessionDidStopPlayOrRecord: delegate. Called when the audio device is notified to stop playback or recording.
  • Added audioSessionDidBeginInterruption: delegate. Called when AVAudioSession starts an interruption event.
  • Added audioSessionDidEndInterruption:shouldResumeSession: delegate. Called when AVAudioSession ends an interruption event.
  • Added QBRTCAudioTrackSinkInterface protocol to QBRTCAudioTrack class. Use this protocol to sink audio data for a specific remote audio track in real time. Check out this link for more information on how to use it.
  • Added adaptOutputFormatToWidth:height:fps: method to QBRTCVideoCapture class. This method allows you to adapt frames in your capture to any possible dimension you want. Note that this method adapts existing captured frame, not the camera format.
  • Added userID NSNumber property to QBRTCMediaStreamTrack class. This means that both QBRTCAudioTrack and QBRTCVideoTrack classes will now have a specific user ID bound to them. Property will be nil if track is local.
  • Removed old deprecated QBRTCFrameConverter class.

WebRTCv2.5 - Mar 20, 2017

20 Mar 12:33
Compare
Choose a tag to compare
  • WebRTC r 17226
  • Added Enterprise-only feature: WebRTC Conference calls. This feature allows to participate in video calls with up to 10 people. See https://quickblox.com/plans/.
  • Added volume property to QBRTCAudioTrack class. Use it to change volume for a specific remote audio track, which you can get in client for a specific user in call.
  • Added new audioLevelControlEnabled property in QBRTCMediaStreamConfiguration class. Determines whether webrtc audio level control is enabled. Rough example: slightly reducing audio volume for all tracks while you are talking (local audio track receiving sound). Default value is NO.
  • Removed old deprecated in 2.3 methods from QBRTCCameraCapture class.
  • Removed startSession deprecated method, use startSession: instead.
  • Removed stopSession deprecated method, use stopSession: instead.
  • Removed stopSessionAndTeardownOutputs: deprecated method, use stopSession: instead.
  • Removed selectCameraPosition: deprecated method, use setPosition: instead.
  • Removed currentPosition deprecated method, use position instead.
  • Deprecated deinitializeRTC method in QBRTCClient class. From now on QBRTCCLient managing deinitialization of webrtc on itself after initial initialization by initializeRTC method. Just remove usage of this method.
  • Removed old deprecated QBRTCSoundRouter class. Use QBRTCAudioSession instead.
  • Removed old deprecated enums inQBRTCConnectionState enum.
  • Removed QBRTCPixelFormat420v and QBRTCPixelFormatBGRA deprecated enums in QBRTCPixelFormat enum. Those formats weren't implemented by SDK and were completely unsupported.
  • Removed initWithPixelBuffer: deprecated method in QBRTCVideoFrame class. Use initWithPixelBuffer:videoRotation: instead.