Skip to content

Commit a1e66bc

Browse files
committed
Push to Start Live Activities
1 parent 6c88254 commit a1e66bc

File tree

19 files changed

+700
-48
lines changed

19 files changed

+700
-48
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"colors" : [
3+
{
4+
"idiom" : "universal"
5+
}
6+
],
7+
"info" : {
8+
"author" : "xcode",
9+
"version" : 1
10+
}
11+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"images" : [
3+
{
4+
"idiom" : "universal",
5+
"platform" : "ios",
6+
"size" : "1024x1024"
7+
}
8+
],
9+
"info" : {
10+
"author" : "xcode",
11+
"version" : 1
12+
}
13+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"info" : {
3+
"author" : "xcode",
4+
"version" : 1
5+
}
6+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"colors" : [
3+
{
4+
"idiom" : "universal"
5+
}
6+
],
7+
"info" : {
8+
"author" : "xcode",
9+
"version" : 1
10+
}
11+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"images" : [
3+
{
4+
"idiom" : "universal",
5+
"scale" : "1x"
6+
},
7+
{
8+
"idiom" : "universal",
9+
"scale" : "2x"
10+
},
11+
{
12+
"filename" : "onesignal-logo.png",
13+
"idiom" : "universal",
14+
"scale" : "3x"
15+
}
16+
],
17+
"info" : {
18+
"author" : "xcode",
19+
"version" : 1
20+
}
21+
}
Loading
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
//
2+
// ExampleWidgetBundle.swift
3+
// ExampleWidget
4+
//
5+
// Created by Brian Smith on 4/30/24.
6+
// Copyright © 2024 The Chromium Authors. All rights reserved.
7+
//
8+
9+
import WidgetKit
10+
import SwiftUI
11+
12+
@main
13+
struct ExampleWidgetBundle: WidgetBundle {
14+
var body: some Widget {
15+
ExampleWidgetLiveActivity()
16+
}
17+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
//
2+
// ExampleWidgetLiveActivity.swift
3+
// ExampleWidget
4+
//
5+
// Created by Brian Smith on 4/30/24.
6+
// Copyright © 2024 The Chromium Authors. All rights reserved.
7+
//
8+
9+
import ActivityKit
10+
import WidgetKit
11+
import SwiftUI
12+
import OneSignalLiveActivities
13+
14+
struct ExampleWidgetLiveActivity: Widget {
15+
var body: some WidgetConfiguration {
16+
ActivityConfiguration(for: DefaultLiveActivityAttributes.self) { context in
17+
// Lock screen/banner UI goes here\VStack(alignment: .leading) {
18+
VStack {
19+
Spacer()
20+
Text("FLUTTER: " + (context.attributes.data["title"]?.asString() ?? "")).font(.headline)
21+
Spacer()
22+
HStack {
23+
Spacer()
24+
Label {
25+
Text(context.state.data["message"]?.asDict()?["en"]?.asString() ?? "")
26+
} icon: {
27+
Image("onesignaldemo")
28+
.resizable()
29+
.scaledToFit()
30+
.frame(width: 40.0, height: 40.0)
31+
}
32+
Spacer()
33+
}
34+
Text("INT: " + String(context.state.data["intValue"]?.asInt() ?? 0))
35+
Text("DBL: " + String(context.state.data["doubleValue"]?.asDouble() ?? 0.0))
36+
Text("BOL: " + String(context.state.data["boolValue"]?.asBool() ?? false))
37+
Spacer()
38+
}
39+
.activitySystemActionForegroundColor(.black)
40+
.activityBackgroundTint(.white)
41+
} dynamicIsland: { _ in
42+
DynamicIsland {
43+
// Expanded UI goes here. Compose the expanded UI through
44+
// various regions, like leading/trailing/center/bottom
45+
DynamicIslandExpandedRegion(.leading) {
46+
Text("Leading")
47+
}
48+
DynamicIslandExpandedRegion(.trailing) {
49+
Text("Trailing")
50+
}
51+
DynamicIslandExpandedRegion(.bottom) {
52+
Text("Bottom")
53+
// more content
54+
}
55+
} compactLeading: {
56+
Text("L")
57+
} compactTrailing: {
58+
Text("T")
59+
} minimal: {
60+
Text("Min")
61+
}
62+
.widgetURL(URL(string: "http://www.apple.com"))
63+
.keylineTint(Color.red)
64+
}
65+
}
66+
}

example/ios/ExampleWidget/Info.plist

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>NSExtension</key>
6+
<dict>
7+
<key>NSExtensionPointIdentifier</key>
8+
<string>com.apple.widgetkit-extension</string>
9+
</dict>
10+
</dict>
11+
</plist>

example/ios/Flutter/AppFrameworkInfo.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@
2121
<key>CFBundleVersion</key>
2222
<string>1.0</string>
2323
<key>MinimumOSVersion</key>
24-
<string>11.0</string>
24+
<string>12.0</string>
2525
</dict>
2626
</plist>

example/ios/Flutter/Flutter.podspec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
2-
# NOTE: This podspec is NOT to be published. It is only used as a local source!
3-
# This is a generated file; do not edit or check into version control.
2+
# This podspec is NOT to be published. It is only used as a local source!
3+
# This is a generated file; do not edit or check into version control.
44
#
55

66
Pod::Spec.new do |s|
@@ -11,7 +11,7 @@ Pod::Spec.new do |s|
1111
s.license = { :type => 'BSD' }
1212
s.author = { 'Flutter Dev Team' => '[email protected]' }
1313
s.source = { :git => 'https://github.com/flutter/engine', :tag => s.version.to_s }
14-
s.ios.deployment_target = '11.0'
14+
s.ios.deployment_target = '12.0'
1515
# Framework linking is handled by Flutter tooling, not CocoaPods.
1616
# Add a placeholder to satisfy `s.dependency 'Flutter'` plugin podspecs.
1717
s.vendored_frameworks = 'path/to/nothing'

example/ios/Podfile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Uncomment this line to define a global platform for your project
2-
platform :ios, '11.0'
2+
platform :ios, '12.0'
33

44
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
55
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
@@ -29,10 +29,16 @@ flutter_ios_podfile_setup
2929

3030
target 'Runner' do
3131
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
32+
33+
pod 'OneSignalXCFramework', :path => '~/Development/OneSignal/onesignal-ios-sdk'
3234
end
3335

3436
target 'OneSignalNotificationServiceExtension' do
35-
pod 'OneSignalXCFramework', '>= 5.0.2', '< 6.0.0'
37+
pod 'OneSignalXCFramework', :path => '~/Development/OneSignal/onesignal-ios-sdk'
38+
end
39+
40+
target 'ExampleWidgetExtension' do
41+
pod 'OneSignalXCFramework', :path => '~/Development/OneSignal/onesignal-ios-sdk'
3642
end
3743

3844
post_install do |installer|

example/ios/Podfile.lock

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,50 @@
11
PODS:
22
- Flutter (1.0.0)
3-
- onesignal_flutter (5.0.0):
3+
- onesignal_flutter (5.1.5):
44
- Flutter
5-
- OneSignalXCFramework (= 5.0.1)
6-
- OneSignalXCFramework (5.0.1):
7-
- OneSignalXCFramework/OneSignalComplete (= 5.0.1)
8-
- OneSignalXCFramework/OneSignal (5.0.1):
5+
- OneSignalXCFramework (= 5.1.5)
6+
- OneSignalXCFramework (5.1.5):
7+
- OneSignalXCFramework/OneSignalComplete (= 5.1.5)
8+
- OneSignalXCFramework/OneSignal (5.1.5):
99
- OneSignalXCFramework/OneSignalCore
1010
- OneSignalXCFramework/OneSignalExtension
11+
- OneSignalXCFramework/OneSignalLiveActivities
1112
- OneSignalXCFramework/OneSignalNotifications
1213
- OneSignalXCFramework/OneSignalOSCore
1314
- OneSignalXCFramework/OneSignalOutcomes
1415
- OneSignalXCFramework/OneSignalUser
15-
- OneSignalXCFramework/OneSignalComplete (5.0.1):
16+
- OneSignalXCFramework/OneSignalComplete (5.1.5):
1617
- OneSignalXCFramework/OneSignal
1718
- OneSignalXCFramework/OneSignalInAppMessages
1819
- OneSignalXCFramework/OneSignalLocation
19-
- OneSignalXCFramework/OneSignalCore (5.0.1)
20-
- OneSignalXCFramework/OneSignalExtension (5.0.1):
20+
- OneSignalXCFramework/OneSignalCore (5.1.5)
21+
- OneSignalXCFramework/OneSignalExtension (5.1.5):
2122
- OneSignalXCFramework/OneSignalCore
2223
- OneSignalXCFramework/OneSignalOutcomes
23-
- OneSignalXCFramework/OneSignalInAppMessages (5.0.1):
24+
- OneSignalXCFramework/OneSignalInAppMessages (5.1.5):
2425
- OneSignalXCFramework/OneSignalCore
2526
- OneSignalXCFramework/OneSignalNotifications
2627
- OneSignalXCFramework/OneSignalOSCore
2728
- OneSignalXCFramework/OneSignalOutcomes
2829
- OneSignalXCFramework/OneSignalUser
29-
- OneSignalXCFramework/OneSignalLocation (5.0.1):
30+
- OneSignalXCFramework/OneSignalLiveActivities (5.1.5):
31+
- OneSignalXCFramework/OneSignalCore
32+
- OneSignalXCFramework/OneSignalOSCore
33+
- OneSignalXCFramework/OneSignalUser
34+
- OneSignalXCFramework/OneSignalLocation (5.1.5):
3035
- OneSignalXCFramework/OneSignalCore
3136
- OneSignalXCFramework/OneSignalNotifications
3237
- OneSignalXCFramework/OneSignalOSCore
3338
- OneSignalXCFramework/OneSignalUser
34-
- OneSignalXCFramework/OneSignalNotifications (5.0.1):
39+
- OneSignalXCFramework/OneSignalNotifications (5.1.5):
3540
- OneSignalXCFramework/OneSignalCore
3641
- OneSignalXCFramework/OneSignalExtension
3742
- OneSignalXCFramework/OneSignalOutcomes
38-
- OneSignalXCFramework/OneSignalOSCore (5.0.1):
43+
- OneSignalXCFramework/OneSignalOSCore (5.1.5):
3944
- OneSignalXCFramework/OneSignalCore
40-
- OneSignalXCFramework/OneSignalOutcomes (5.0.1):
45+
- OneSignalXCFramework/OneSignalOutcomes (5.1.5):
4146
- OneSignalXCFramework/OneSignalCore
42-
- OneSignalXCFramework/OneSignalUser (5.0.1):
47+
- OneSignalXCFramework/OneSignalUser (5.1.5):
4348
- OneSignalXCFramework/OneSignalCore
4449
- OneSignalXCFramework/OneSignalNotifications
4550
- OneSignalXCFramework/OneSignalOSCore
@@ -48,23 +53,21 @@ PODS:
4853
DEPENDENCIES:
4954
- Flutter (from `Flutter`)
5055
- onesignal_flutter (from `.symlinks/plugins/onesignal_flutter/ios`)
51-
- OneSignalXCFramework (< 6.0.0, >= 5.0.1)
52-
53-
SPEC REPOS:
54-
trunk:
55-
- OneSignalXCFramework
56+
- OneSignalXCFramework (from `~/Development/OneSignal/onesignal-ios-sdk`)
5657

5758
EXTERNAL SOURCES:
5859
Flutter:
5960
:path: Flutter
6061
onesignal_flutter:
6162
:path: ".symlinks/plugins/onesignal_flutter/ios"
63+
OneSignalXCFramework:
64+
:path: "~/Development/OneSignal/onesignal-ios-sdk"
6265

6366
SPEC CHECKSUMS:
64-
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
65-
onesignal_flutter: 33912d40612d20a6b34cd77e3d783f61843493fc
66-
OneSignalXCFramework: 8429bc2456554da1b09b17135621087152ad05a0
67+
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
68+
onesignal_flutter: cfda436375f94613766e5b17e1a4bf86ef701a7a
69+
OneSignalXCFramework: f30c480b2de63da9c2c0195415cda40635552f13
6770

68-
PODFILE CHECKSUM: 90d5364fb6d80b7d4d98fb125af13a6b8da34c0b
71+
PODFILE CHECKSUM: 17387f6b1d9ca4dd8a6766c6855b77d7e10a0bd6
6972

70-
COCOAPODS: 1.12.1
73+
COCOAPODS: 1.15.2

0 commit comments

Comments
 (0)