我一直在玩QtQuick / QtCreator ios项目。我有兴趣看看我是否可以制作一个使用ios7中的BackgroundFetch的Qt项目。
我无法弄清楚如何在我的QtCreator项目中做到这一点,所以我将生成的Xcode项目加载到Xcode中,看看我是否可以弄清楚如何在那里做到。我仍然可以进入项目的功能并添加"背景模式"但是,我无法找到通常用于设置获取间隔等的AppDelegate类型。
有没有人知道如何为Qt ios项目做这件事?
答案 0 :(得分:0)
我最终为此创建了自己的解决方法: https://github.com/colede/qt-app-delegate
答案 1 :(得分:0)
在您的.pro中:
ios {
OBJECTIVE_SOURCES = ios/ios_app_delegate.mm
}
在ios / ios_app_delegate.mm中:
#import "UIKit/UIKit.h"
#import "UserNotifications/UserNotifications.h"
@interface QIOSApplicationDelegate
@end
@interface QIOSApplicationDelegate (WoboqApplicationDelegate)
@end
@implementation QIOSApplicationDelegate (WoboqApplicationDelegate)
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"launch!");
UNUserNotificationCenter* center = [UNUserNotificationCenter currentNotificationCenter];
[center requestAuthorizationWithOptions:UNAuthorizationOptionBadge
completionHandler:^(BOOL granted, NSError *error){
if(granted == YES) {
[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
};
}];
return YES;
}
- (void)application:(UIApplication *)application
performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler
{
}
@end