Skip to content

Commit 16df732

Browse files
Merge pull request #1377 from QuickBlox/2.21.0
QuickBlox iOS SDK 2.21.0
2 parents 3caff84 + 441a074 commit 16df732

File tree

69 files changed

+430
-48
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+430
-48
lines changed

Framework/Quickblox.xcframework/Info.plist

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,38 +8,38 @@
88
<key>BinaryPath</key>
99
<string>Quickblox.framework/Quickblox</string>
1010
<key>LibraryIdentifier</key>
11-
<string>ios-arm64_x86_64-simulator</string>
11+
<string>ios-arm64</string>
1212
<key>LibraryPath</key>
1313
<string>Quickblox.framework</string>
1414
<key>SupportedArchitectures</key>
1515
<array>
1616
<string>arm64</string>
17-
<string>x86_64</string>
1817
</array>
1918
<key>SupportedPlatform</key>
2019
<string>ios</string>
21-
<key>SupportedPlatformVariant</key>
22-
<string>simulator</string>
2320
</dict>
2421
<dict>
2522
<key>BinaryPath</key>
26-
<string>Quickblox.framework/Quickblox</string>
23+
<string>Quickblox.framework/Versions/A/Quickblox</string>
2724
<key>LibraryIdentifier</key>
28-
<string>ios-arm64</string>
25+
<string>ios-arm64_x86_64-maccatalyst</string>
2926
<key>LibraryPath</key>
3027
<string>Quickblox.framework</string>
3128
<key>SupportedArchitectures</key>
3229
<array>
3330
<string>arm64</string>
31+
<string>x86_64</string>
3432
</array>
3533
<key>SupportedPlatform</key>
3634
<string>ios</string>
35+
<key>SupportedPlatformVariant</key>
36+
<string>maccatalyst</string>
3737
</dict>
3838
<dict>
3939
<key>BinaryPath</key>
40-
<string>Quickblox.framework/Versions/A/Quickblox</string>
40+
<string>Quickblox.framework/Quickblox</string>
4141
<key>LibraryIdentifier</key>
42-
<string>ios-arm64_x86_64-maccatalyst</string>
42+
<string>ios-arm64_x86_64-simulator</string>
4343
<key>LibraryPath</key>
4444
<string>Quickblox.framework</string>
4545
<key>SupportedArchitectures</key>
@@ -50,7 +50,7 @@
5050
<key>SupportedPlatform</key>
5151
<string>ios</string>
5252
<key>SupportedPlatformVariant</key>
53-
<string>maccatalyst</string>
53+
<string>simulator</string>
5454
</dict>
5555
</array>
5656
<key>CFBundlePackageType</key>

Framework/Quickblox.xcframework/ios-arm64/Quickblox.framework/Headers/QBChatDialog.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,11 @@ typedef void(^QBOnlineUsersBlock)(NSMutableArray <NSNumber *> * _Nullable online
171171
- (id)init NS_UNAVAILABLE;
172172
+ (id)new NS_UNAVAILABLE;
173173

174+
/// Creates a dialog instance.
175+
/// @param type The type of the dialog. See `QBChatDialogType`.
176+
/// @return An instance of `QBChatDialog`.
177+
+ (instancetype)create:(QBChatDialogType)type;
178+
174179
/**
175180
Init with dialog ID and type.
176181

Framework/Quickblox.xcframework/ios-arm64/Quickblox.framework/Headers/QBChatMessage.h

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,20 @@ NS_ASSUME_NONNULL_BEGIN
5050
*/
5151
@property (nonatomic, assign, readonly) BOOL carbon;
5252

53-
/**
54-
* Message date sent.
55-
*/
53+
/// The date when the message was sent.
54+
///
55+
/// This property is automatically populated when calling the `dialog.send(message)` method.
56+
/// To use a custom value for this property, the `setDateSentEnforced:` method should be used.
5657
@property (nonatomic, strong, nullable) NSDate *dateSent;
5758

59+
/// Sets a custom sent date for the message.
60+
///
61+
/// @param dateSent A non-null date to set as the sent time for the message.
62+
///
63+
/// This method allows specifying a custom value for the sent date instead of the
64+
/// automatically populated date from the `dialog.send(message)` method.
65+
- (void)setDateSentEnforced:(NSDate *)dateSent;
66+
5867
/**
5968
Message custom parameters. Don't use 'body' & 'delay' as keys for parameters.
6069
*/

Framework/Quickblox.xcframework/ios-arm64/Quickblox.framework/Headers/QBCompletionTypes.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,16 @@ typedef void(^qb_response_unread_messages_block_t) (QBResponse *response, NSUInt
2929
typedef void(^qb_response_count_block_t) (QBResponse *response, NSUInteger count);
3030

3131
NS_ASSUME_NONNULL_END
32+
33+
/**Completion with response deleted dialogs ids, not found dialogs ids and wrong permissions dialogs ids. */
34+
typedef void(^qb_response_delete_dialog_completion_t)
35+
(NSArray<NSString *>* _Nullable deletedIds,
36+
NSArray<NSString *>* _Nullable notFoundIds,
37+
NSArray<NSString *> * _Nullable wrongPermissionsIds,
38+
NSError * _Nullable error);
39+
40+
/**Completion with response array of chat messages for page. */
41+
typedef void(^qb_response_messages_completion_t)
42+
(NSArray<QBChatMessage *>* _Nullable messages,
43+
QBResponsePage * _Nullable page,
44+
NSError * _Nullable error);

Framework/Quickblox.xcframework/ios-arm64/Quickblox.framework/Headers/QBRequest+QBAuth.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,9 @@ typedef void(^qb_response_user_block_t)(QBResponse *response, QBUUser *tUser);
5555
@return An instance of QBUUser for cancel operation mainly.
5656
*/
5757
+ (void)login:(NSString *)login
58-
password:(NSString *)password
59-
completion:(void (^) (QBUUser * _Nullable tUser, NSError * _Nullable error))completion;
58+
password:(NSString *)password
59+
completion:(void (^) (QBUUser * _Nullable tUser,
60+
NSError * _Nullable error))completion;
6061

6162
/**
6263
User LogIn with email

Framework/Quickblox.xcframework/ios-arm64/Quickblox.framework/Headers/QBRequest+QBChat.h

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,16 @@ NS_ASSUME_NONNULL_BEGIN
2727
extendedRequest:(nullable NSDictionary<NSString *, NSString *> *)extendedRequest
2828
successBlock:(nullable qb_response_dialogs_block_t)successBlock
2929
errorBlock:(nullable qb_response_block_t)errorBlock;
30+
31+
/// Creates a chat dialog.
32+
/// @param dialog The chat dialog instance to be created.
33+
/// @param completion A block called upon completion of the operation.
34+
/// - `tDialog`: The created chat dialog instance, or `nil` if an error occurred.
35+
/// - `error`: An error object describing the failure, or `nil` if the operation succeeded.
36+
+ (void)createDialog:(QBChatDialog *)dialog
37+
completion:(void (^)(QBChatDialog * _Nullable tDialog,
38+
NSError * _Nullable error))completion;
39+
3040
/**
3141
Create chat dialog
3242
@@ -53,6 +63,23 @@ NS_ASSUME_NONNULL_BEGIN
5363
successBlock:(nullable qb_response_dialog_block_t)successBlock
5464
errorBlock:(nullable qb_response_block_t)errorBlock;
5565

66+
/// Deletes dialogs with specified IDs.
67+
///
68+
/// @param dialogIDs A set of dialog IDs to delete.
69+
/// @param forAllUsers Specifies whether the dialog should be deleted for all users.
70+
/// Pass `YES` to delete for all users (current user must be the owner),
71+
/// or `NO` to delete only for the current user.
72+
/// @param completion A block called upon completion of the request, containing:
73+
/// - `deletedIds`: An array of dialog IDs successfully deleted.
74+
/// - `notFoundIds`: An array of dialog IDs that were not found.
75+
/// - `wrongPermissionsIds`: An array of dialog IDs for which the current user lacks the necessary permissions.
76+
/// - `error`: An error object if the request fails, or `nil` if it succeeds.
77+
///
78+
/// @discussion When passing `YES` to `forAllUsers`, the current user must be the owner of the dialog.
79+
/// If the user is not the owner, the request will fail.
80+
+ (void)deleteDialogsWithIDs:(NSSet<NSString *> *)dialogIDs
81+
forAllUsers:(BOOL)forAllUsers
82+
completion:(qb_response_delete_dialog_completion_t)completion;
5683
/**
5784
Delete dialogs
5885
@@ -70,6 +97,27 @@ NS_ASSUME_NONNULL_BEGIN
7097
successBlock:(nullable qb_response_delete_dialog_block_t)successBlock
7198
errorBlock:(nullable qb_response_block_t)errorBlock;
7299

100+
/// Retrieves chat messages for a specific dialog and page.
101+
///
102+
/// - Parameters:
103+
/// - dialogID: The unique identifier of the dialog.
104+
/// - extendedParameters: A dictionary of additional request parameters. Use the key `@"mark_as_read"` with value `@"0"`
105+
/// to prevent marking messages as read upon retrieval.
106+
/// - page: An optional instance of `QBResponsePage` specifying the pagination details.
107+
/// - completion: A completion block that returns an array of `QBChatMessage` objects for the specified page,
108+
/// the response page details, and an error object if the operation fails.
109+
///
110+
/// By default, all messages retrieved from the server are marked as read. To change this behavior,
111+
/// include the `@"mark_as_read"` parameter in the `extendedParameters` dictionary.
112+
///
113+
/// ```objective-c
114+
/// [extendedParameters setObject:@"0" forKey:@"mark_as_read"];
115+
/// ```
116+
+ (void)messagesWithDialogID:(NSString *)dialogID
117+
extendedRequest:(nullable NSDictionary<NSString *, NSString *> *) extendedParameters
118+
forPage:(nullable QBResponsePage *)page
119+
completion:(nullable qb_response_messages_completion_t)completion;
120+
73121
/**
74122
Retrieve chat messages within particular dialog for page.
75123

Framework/Quickblox.xcframework/ios-arm64/Quickblox.framework/Headers/Quickblox.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282

8383
NS_ASSUME_NONNULL_BEGIN
8484

85-
/// Framework version 2.20.0
85+
/// Framework version 2.21.0
8686
FOUNDATION_EXPORT NSString * const QuickbloxFrameworkVersion;
8787

8888
@interface Quickblox : NSObject
Binary file not shown.
Binary file not shown.
Binary file not shown.

Framework/Quickblox.xcframework/ios-arm64_x86_64-maccatalyst/Quickblox.framework/Versions/A/Headers/QBChatDialog.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,11 @@ typedef void(^QBOnlineUsersBlock)(NSMutableArray <NSNumber *> * _Nullable online
171171
- (id)init NS_UNAVAILABLE;
172172
+ (id)new NS_UNAVAILABLE;
173173

174+
/// Creates a dialog instance.
175+
/// @param type The type of the dialog. See `QBChatDialogType`.
176+
/// @return An instance of `QBChatDialog`.
177+
+ (instancetype)create:(QBChatDialogType)type;
178+
174179
/**
175180
Init with dialog ID and type.
176181

Framework/Quickblox.xcframework/ios-arm64_x86_64-maccatalyst/Quickblox.framework/Versions/A/Headers/QBChatMessage.h

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,20 @@ NS_ASSUME_NONNULL_BEGIN
5050
*/
5151
@property (nonatomic, assign, readonly) BOOL carbon;
5252

53-
/**
54-
* Message date sent.
55-
*/
53+
/// The date when the message was sent.
54+
///
55+
/// This property is automatically populated when calling the `dialog.send(message)` method.
56+
/// To use a custom value for this property, the `setDateSentEnforced:` method should be used.
5657
@property (nonatomic, strong, nullable) NSDate *dateSent;
5758

59+
/// Sets a custom sent date for the message.
60+
///
61+
/// @param dateSent A non-null date to set as the sent time for the message.
62+
///
63+
/// This method allows specifying a custom value for the sent date instead of the
64+
/// automatically populated date from the `dialog.send(message)` method.
65+
- (void)setDateSentEnforced:(NSDate *)dateSent;
66+
5867
/**
5968
Message custom parameters. Don't use 'body' & 'delay' as keys for parameters.
6069
*/

Framework/Quickblox.xcframework/ios-arm64_x86_64-maccatalyst/Quickblox.framework/Versions/A/Headers/QBCompletionTypes.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,16 @@ typedef void(^qb_response_unread_messages_block_t) (QBResponse *response, NSUInt
2929
typedef void(^qb_response_count_block_t) (QBResponse *response, NSUInteger count);
3030

3131
NS_ASSUME_NONNULL_END
32+
33+
/**Completion with response deleted dialogs ids, not found dialogs ids and wrong permissions dialogs ids. */
34+
typedef void(^qb_response_delete_dialog_completion_t)
35+
(NSArray<NSString *>* _Nullable deletedIds,
36+
NSArray<NSString *>* _Nullable notFoundIds,
37+
NSArray<NSString *> * _Nullable wrongPermissionsIds,
38+
NSError * _Nullable error);
39+
40+
/**Completion with response array of chat messages for page. */
41+
typedef void(^qb_response_messages_completion_t)
42+
(NSArray<QBChatMessage *>* _Nullable messages,
43+
QBResponsePage * _Nullable page,
44+
NSError * _Nullable error);

Framework/Quickblox.xcframework/ios-arm64_x86_64-maccatalyst/Quickblox.framework/Versions/A/Headers/QBRequest+QBAuth.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,9 @@ typedef void(^qb_response_user_block_t)(QBResponse *response, QBUUser *tUser);
5555
@return An instance of QBUUser for cancel operation mainly.
5656
*/
5757
+ (void)login:(NSString *)login
58-
password:(NSString *)password
59-
completion:(void (^) (QBUUser * _Nullable tUser, NSError * _Nullable error))completion;
58+
password:(NSString *)password
59+
completion:(void (^) (QBUUser * _Nullable tUser,
60+
NSError * _Nullable error))completion;
6061

6162
/**
6263
User LogIn with email

Framework/Quickblox.xcframework/ios-arm64_x86_64-maccatalyst/Quickblox.framework/Versions/A/Headers/QBRequest+QBChat.h

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,16 @@ NS_ASSUME_NONNULL_BEGIN
2727
extendedRequest:(nullable NSDictionary<NSString *, NSString *> *)extendedRequest
2828
successBlock:(nullable qb_response_dialogs_block_t)successBlock
2929
errorBlock:(nullable qb_response_block_t)errorBlock;
30+
31+
/// Creates a chat dialog.
32+
/// @param dialog The chat dialog instance to be created.
33+
/// @param completion A block called upon completion of the operation.
34+
/// - `tDialog`: The created chat dialog instance, or `nil` if an error occurred.
35+
/// - `error`: An error object describing the failure, or `nil` if the operation succeeded.
36+
+ (void)createDialog:(QBChatDialog *)dialog
37+
completion:(void (^)(QBChatDialog * _Nullable tDialog,
38+
NSError * _Nullable error))completion;
39+
3040
/**
3141
Create chat dialog
3242
@@ -53,6 +63,23 @@ NS_ASSUME_NONNULL_BEGIN
5363
successBlock:(nullable qb_response_dialog_block_t)successBlock
5464
errorBlock:(nullable qb_response_block_t)errorBlock;
5565

66+
/// Deletes dialogs with specified IDs.
67+
///
68+
/// @param dialogIDs A set of dialog IDs to delete.
69+
/// @param forAllUsers Specifies whether the dialog should be deleted for all users.
70+
/// Pass `YES` to delete for all users (current user must be the owner),
71+
/// or `NO` to delete only for the current user.
72+
/// @param completion A block called upon completion of the request, containing:
73+
/// - `deletedIds`: An array of dialog IDs successfully deleted.
74+
/// - `notFoundIds`: An array of dialog IDs that were not found.
75+
/// - `wrongPermissionsIds`: An array of dialog IDs for which the current user lacks the necessary permissions.
76+
/// - `error`: An error object if the request fails, or `nil` if it succeeds.
77+
///
78+
/// @discussion When passing `YES` to `forAllUsers`, the current user must be the owner of the dialog.
79+
/// If the user is not the owner, the request will fail.
80+
+ (void)deleteDialogsWithIDs:(NSSet<NSString *> *)dialogIDs
81+
forAllUsers:(BOOL)forAllUsers
82+
completion:(qb_response_delete_dialog_completion_t)completion;
5683
/**
5784
Delete dialogs
5885
@@ -70,6 +97,27 @@ NS_ASSUME_NONNULL_BEGIN
7097
successBlock:(nullable qb_response_delete_dialog_block_t)successBlock
7198
errorBlock:(nullable qb_response_block_t)errorBlock;
7299

100+
/// Retrieves chat messages for a specific dialog and page.
101+
///
102+
/// - Parameters:
103+
/// - dialogID: The unique identifier of the dialog.
104+
/// - extendedParameters: A dictionary of additional request parameters. Use the key `@"mark_as_read"` with value `@"0"`
105+
/// to prevent marking messages as read upon retrieval.
106+
/// - page: An optional instance of `QBResponsePage` specifying the pagination details.
107+
/// - completion: A completion block that returns an array of `QBChatMessage` objects for the specified page,
108+
/// the response page details, and an error object if the operation fails.
109+
///
110+
/// By default, all messages retrieved from the server are marked as read. To change this behavior,
111+
/// include the `@"mark_as_read"` parameter in the `extendedParameters` dictionary.
112+
///
113+
/// ```objective-c
114+
/// [extendedParameters setObject:@"0" forKey:@"mark_as_read"];
115+
/// ```
116+
+ (void)messagesWithDialogID:(NSString *)dialogID
117+
extendedRequest:(nullable NSDictionary<NSString *, NSString *> *) extendedParameters
118+
forPage:(nullable QBResponsePage *)page
119+
completion:(nullable qb_response_messages_completion_t)completion;
120+
73121
/**
74122
Retrieve chat messages within particular dialog for page.
75123

Framework/Quickblox.xcframework/ios-arm64_x86_64-maccatalyst/Quickblox.framework/Versions/A/Headers/Quickblox.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282

8383
NS_ASSUME_NONNULL_BEGIN
8484

85-
/// Framework version 2.20.0
85+
/// Framework version 2.21.0
8686
FOUNDATION_EXPORT NSString * const QuickbloxFrameworkVersion;
8787

8888
@interface Quickblox : NSObject

Framework/Quickblox.xcframework/ios-arm64_x86_64-maccatalyst/Quickblox.framework/Versions/A/Resources/Info.plist

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<plist version="1.0">
44
<dict>
55
<key>BuildMachineOSBuild</key>
6-
<string>23F79</string>
6+
<string>24B91</string>
77
<key>CFBundleDevelopmentRegion</key>
88
<string>en</string>
99
<key>CFBundleExecutable</key>
@@ -29,19 +29,19 @@
2929
<key>DTCompiler</key>
3030
<string>com.apple.compilers.llvm.clang.1_0</string>
3131
<key>DTPlatformBuild</key>
32-
<string>21F77</string>
32+
<string>24B75</string>
3333
<key>DTPlatformName</key>
3434
<string>macosx</string>
3535
<key>DTPlatformVersion</key>
36-
<string>14.5</string>
36+
<string>15.1</string>
3737
<key>DTSDKBuild</key>
38-
<string>23F73</string>
38+
<string>24B75</string>
3939
<key>DTSDKName</key>
40-
<string>macosx14.5</string>
40+
<string>macosx15.1</string>
4141
<key>DTXcode</key>
42-
<string>1540</string>
42+
<string>1610</string>
4343
<key>DTXcodeBuild</key>
44-
<string>15F31d</string>
44+
<string>16B40</string>
4545
<key>LSMinimumSystemVersion</key>
4646
<string>10.15</string>
4747
<key>UIDeviceFamily</key>

Framework/Quickblox.xcframework/ios-arm64_x86_64-simulator/Quickblox.framework/Headers/QBChatDialog.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,11 @@ typedef void(^QBOnlineUsersBlock)(NSMutableArray <NSNumber *> * _Nullable online
171171
- (id)init NS_UNAVAILABLE;
172172
+ (id)new NS_UNAVAILABLE;
173173

174+
/// Creates a dialog instance.
175+
/// @param type The type of the dialog. See `QBChatDialogType`.
176+
/// @return An instance of `QBChatDialog`.
177+
+ (instancetype)create:(QBChatDialogType)type;
178+
174179
/**
175180
Init with dialog ID and type.
176181

0 commit comments

Comments
 (0)