আমি content-available
একটি পুশ বিজ্ঞপ্তিতে পতাকা ব্যবহার করে একটি পটভূমি আনতে ট্রিগার করছি । আমি fetch
এবং remote-notification
UIBackgroundModes
সক্ষম আছে।
এখানে আমি আমার অ্যাপডেলিগেট.এম ব্যবহার করছি তার বাস্তবায়ন:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler
{
NSLog(@"Remote Notification Recieved");
UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.alertBody = @"Looks like i got a notification - fetch thingy";
[application presentLocalNotificationNow:notification];
completionHandler(UIBackgroundFetchResultNewData);
}
অ্যাপ্লিকেশনটি যখন পটভূমিতে চলছে তখন এটি দুর্দান্ত কাজ করে। (বিজ্ঞপ্তিটি পেয়েছে এবং উপরের কোডটি যেমন করা উচিত তেমন অ্যাপ্লিকেশনটি "দেখে মনে হচ্ছে আমি একটি বিজ্ঞপ্তি পেয়েছি" স্থানীয় সূচনাটি ট্রিগার করেছিল)।
তবে, যখন অ্যাপটি চলছে না এবং content-available
পতাকা সহ একটি ধাক্কা বিজ্ঞপ্তি পাওয়া যায় , অ্যাপটি চালু হয় না এবং didRecieveRemoteNotification
প্রতিনিধি পদ্ধতিটি কখনও কল করা হয় না।
মাল্টিটাস্কিংয়ের সাথে ডাব্লুডাব্লুডিসি ভিডিও নতুন কী (ডাব্লুডাব্লুডিসি 2013 থেকে # 204) এটি দেখায়:
এটিতে বলা হয় যে content-available
পতাকাটি সহ একটি ধাক্কা বিজ্ঞপ্তি পেলে অ্যাপ্লিকেশনটি "পটভূমিতে চালু করা হয়" ।
আমার অ্যাপটি কেন পটভূমিতে চালু হচ্ছে না?
সুতরাং আসল প্রশ্নটি হ'ল:
ব্যবহারকারী অ্যাপটি জোর করে ছেড়ে দেওয়ার পরে আইওএস কি পটভূমির কাজগুলি সম্পাদন করবে?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions