Цель C: Расширение службы уведомлений, получающее сбой на iPhone 6S или более новом устройстве, но работающее ниже iPhone 6 - PullRequest
1 голос
/ 11 марта 2019

Я создал расширение службы уведомлений iOS, и раньше оно работало должным образом на всех устройствах, даже на iPhone 6s и 6S +.Но неожиданно, с некоторого времени назад, теперь происходит сбой на iPhone 6S или более новом устройстве во всех версиях iOS, протестированных на iOS 11 и 12 одновременно.Можно сказать, что это сбой на iPhone, в которых доступно 3D Touch.и отладчик сообщает, что проблема в распределении памяти разрешена 12 МБ, и он выделяет более 12 МБ.Но одно и то же приложение отлично работает на iPhone 6S или более старом устройстве во всех версиях iOS, протестированных на iOS 11 и 12. Оба:

NotificationService.h

#import <UserNotifications/UserNotifications.h>

API_AVAILABLE(ios(10.0))
@interface NotificationService : UNNotificationServiceExtension <UNUserNotificationCenterDelegate>

@end

NotificationService.m

#import "NotificationService.h"

@interface NotificationService ()

@property (nonatomic, strong) void (^contentHandler)(UNNotificationContent *contentToDeliver);
@property (nonatomic, strong) UNMutableNotificationContent *bestAttemptContent;

@end

@implementation NotificationService

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {

    self.contentHandler = contentHandler;
    self.bestAttemptContent = [request.content mutableCopy];

NSLog(@"Here I want to modify my payload title but app crashes before \"didReceiveNotificationRequest\" called and allocing more than 12 MB memory on iPhone 6S or Newer Device");

}

- (void)serviceExtensionTimeWillExpire {
    //    [self.downloadTask cancel];
    NSLog(@"serviceExtensionTimeWillExpire");
    self.contentHandler(self.bestAttemptContent);
}

Кто-нибудь может дать мне знать, как решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...