ラッパー(swiftファイル)を用意する
WidgetKitHelper.swift
import WidgetKit
@available(iOS 14.0, *)
@objcMembers final class WidgetKitHelper: NSObject {
class func reloadAllWidgets(){
#if arch(arm64) || arch(i386) || arch(x86_64)
WidgetCenter.shared.reloadAllTimelines()
#endif
}
}
swiftコードをインポート
# import "プロダクトネーム-Swift.h"
プロダクトネームとは
- Projectナビゲーター (Xcodeの左側)のTargetsセクションからをアプリを選択
- Build Settingsタブをクリック
- "Product Name"で検索
これで使用できます
if (@available(iOS 14.0, *)) {
[WidgetKitHelper reloadAllWidgets];
}
バックグラウンド時に更新させる場合
- (void)applicationDidEnterBackground:(UIApplication *)application {
if (@available(iOS 14.0, *)) {
[WidgetKitHelper reloadAllWidgets];
}
}