Releases: QuickBlox/quickblox-ios-sdk
2.14
New
-
Added
QBDarwinNotificationCenter
classNOTE
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
andphone
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
Fixes
- Fixed issue with no callback if chat wasn’t connected and we are trying to disconnect
- Fixed crash when pass count = 1 in retrieve dialogs/messages request
- Fixed GitHub issue 736. Thanks @srgrah
- Fixed GitHub issue 869. Thanks @nitinsindhubt
- Fixed GitHub issue 892. Thanks @RamandeepGosal
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
- Fixed possible crashes when trying to close rtc session immediately after creating it.
Conference module (Enterprise-only feature):
-
Added new
listOnlineParticipantsWithCompletionBlock
: method inQBRTCConferenceSession
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
- Address Book functionality documentation
- Removed Location API
- Removed Deprecated API (see previous changelogs)
2.11
2.9.3
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
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
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)
- 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 to
QBRTCAudioSession
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 whenAVAudioSession
starts an interruption event. - Added
audioSessionDidEndInterruption:shouldResumeSession:
delegate. Called whenAVAudioSession
ends an interruption event. - Added
QBRTCAudioTrackSinkInterface
protocol toQBRTCAudioTrack
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 toQBRTCVideoCapture
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 toQBRTCMediaStreamTrack
class. This means that bothQBRTCAudioTrack
andQBRTCVideoTrack
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
- 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 toQBRTCAudioTrack
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 inQBRTCMediaStreamConfiguration
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, usestartSession:
instead. - Removed
stopSession
deprecated method, usestopSession:
instead. - Removed
stopSessionAndTeardownOutputs:
deprecated method, usestopSession:
instead. - Removed
selectCameraPosition:
deprecated method, usesetPosition:
instead. - Removed
currentPosition
deprecated method, use position instead. - Deprecated
deinitializeRTC
method inQBRTCClient class
. From now onQBRTCCLient
managing deinitialization of webrtc on itself after initial initialization byinitializeRTC
method. Just remove usage of this method. - Removed old deprecated
QBRTCSoundRouter
class. UseQBRTCAudioSession
instead. - Removed old deprecated enums in
QBRTCConnectionState
enum. - Removed
QBRTCPixelFormat420v
andQBRTCPixelFormatBGRA
deprecated enums inQBRTCPixelFormat
enum. Those formats weren't implemented by SDK and were completely unsupported. - Removed
initWithPixelBuffer:
deprecated method inQBRTCVideoFrame
class. UseinitWithPixelBuffer:videoRotation:
instead.