@@ -191,9 +191,25 @@ + (BOOL)setHealthKitPermission:(HealthKitPermissionStatus)permission forBundleId
191
191
}
192
192
else
193
193
{
194
+ NSMutableString * query;
195
+ NSMutableString * values;
196
+ NSMutableDictionary * baseParams;
197
+ if (osVersion.majorVersion > 16 || (osVersion.majorVersion == 16 && osVersion.minorVersion > 1 ))
198
+ {
199
+ query = @" source_id, object_type, status, request, mode, date_modified, modification_epoch, provenance, deleted_object_anchor, object_limit_anchor, object_limit_modified, sync_identity" .mutableCopy ;
200
+ values = @" :source_id, :object_type, :status, :request, :mode, :date_modified, :modification_epoch, :provenance, :deleted_object_anchor, :object_limit_anchor, :object_limit_modified, :sync_identity" .mutableCopy ;
201
+ baseParams = [@{@" source_id" : rowID, @" status" : permission == HealthKitPermissionStatusAllow ? @101 : @104 , @" request" : @203 , @" mode" : @0 , @" date_modified" : @(NSDate .date .timeIntervalSinceReferenceDate ), @" modification_epoch" : @1 , @" provenance" : @0 , @" deleted_object_anchor" : @0 , @" object_limit_anchor" : @0 , @" object_limit_modified" : NSNull .null , @" sync_identity" : @1 } mutableCopy];
202
+ }
203
+ else
204
+ {
205
+ query = @" source_id, object_type, status, request, mode, date_modified, modification_epoch, provenance, deleted_object_anchor, object_limit_anchor, object_limit_modified" .mutableCopy ;
206
+ values = @" :source_id, :object_type, :status, :request, :mode, :date_modified, :modification_epoch, :provenance, :deleted_object_anchor, :object_limit_anchor, :object_limit_modified" .mutableCopy ;
207
+ baseParams = [@{@" source_id" : rowID, @" status" : permission == HealthKitPermissionStatusAllow ? @101 : @104 , @" request" : @203 , @" mode" : @0 , @" date_modified" : @(NSDate .date .timeIntervalSinceReferenceDate ), @" modification_epoch" : @1 , @" provenance" : @0 , @" deleted_object_anchor" : @0 , @" object_limit_anchor" : @0 , @" object_limit_modified" : NSNull .null } mutableCopy];
208
+ }
194
209
for (int i = 0 ; i < 200 ; i++)
195
210
{
196
- if ([db executeUpdate: @" insert into authorization (source_id, object_type, status, request, mode, date_modified, modification_epoch, provenance, deleted_object_anchor, object_limit_anchor, object_limit_modified) VALUES (:source_id, :object_type, :status, :request, :mode, :date_modified, :modification_epoch, :provenance, :deleted_object_anchor, :object_limit_anchor, :object_limit_modified)" withParameterDictionary: @{@" source_id" : rowID, @" object_type" : @(i), @" status" : permission == HealthKitPermissionStatusAllow ? @101 : @104 , @" request" : @203 , @" mode" : @0 , @" date_modified" : @(NSDate .date .timeIntervalSinceReferenceDate ), @" modification_epoch" : @1 , @" provenance" : @0 , @" deleted_object_anchor" : @0 , @" object_limit_anchor" : @0 , @" object_limit_modified" : NSNull .null }] == NO )
211
+ baseParams[@" object_type" ] = @(i);
212
+ if ([db executeUpdate: [NSString stringWithFormat: @" insert into authorization (%@ ) VALUES (%@ )" , query, values] withParameterDictionary: baseParams] == NO )
197
213
{
198
214
logcontinue_query_error (db);
199
215
}
0 commit comments