Skip to content

Commit 450cf65

Browse files
committed
Adding Live Activity to Dev app for testing
1 parent 8193d85 commit 450cf65

File tree

10 files changed

+381
-71
lines changed

10 files changed

+381
-71
lines changed

iOS_SDK/OneSignalDevApp/OneSignalDevApp/Base.lproj/Main.storyboard

Lines changed: 95 additions & 54 deletions
Large diffs are not rendered by default.

iOS_SDK/OneSignalDevApp/OneSignalDevApp/Info.plist

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
33
<plist version="1.0">
44
<dict>
5+
<key>NSSupportsLiveActivities</key>
6+
<true/>
57
<key>ITSAppUsesNonExemptEncryption</key>
68
<false/>
79
<key>UIUserInterfaceStyle</key>

iOS_SDK/OneSignalDevApp/OneSignalDevApp/ViewController.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
@property (weak, nonatomic) IBOutlet UITextView *result;
6565
@property (weak, nonatomic) IBOutlet UITextField *tagKey;
6666
@property (weak, nonatomic) IBOutlet UITextField *tagValue;
67+
@property (weak, nonatomic) IBOutlet UITextField *activityId;
6768

6869
@end
6970

iOS_SDK/OneSignalDevApp/OneSignalDevApp/ViewController.m

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030

3131
#import "ViewController.h"
3232
#import "AppDelegate.h"
33+
#import "OneSignalExample-Swift.h"
3334

3435
@implementation ViewController
3536

@@ -201,4 +202,25 @@ - (IBAction)sendUniqueOutcomeEvent:(id)sender {
201202
[OneSignal.Session addUniqueOutcome:[_outcomeUniqueName text]];
202203
}
203204

205+
- (IBAction)startAndEnterLiveActivity:(id)sender {
206+
if (@available(iOS 13.0, *)) {
207+
NSString *activityId = [self.activityId text];
208+
// Will not make a live activity if activityId is empty
209+
if (activityId && activityId.length) {
210+
[LiveActivityController createActivityWithCompletionHandler:^(NSString * token) {
211+
if(token){
212+
[OneSignal enterLiveActivity:activityId withToken:token];
213+
}
214+
}];
215+
}
216+
} else {
217+
NSLog(@"Must use iOS 13 or later for swift concurrency which is required for [LiveActivityController createActivityWithCompletionHandler...");
218+
}
219+
}
220+
- (IBAction)exitLiveActivity:(id)sender {
221+
if (self.activityId.text && self.activityId.text.length) {
222+
[OneSignal exitLiveActivity:self.activityId.text];
223+
}
224+
}
225+
204226
@end

iOS_SDK/OneSignalDevApp/OneSignalExample.xcodeproj/project.pbxproj

Lines changed: 214 additions & 0 deletions
Large diffs are not rendered by default.
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+
}
20.1 KB
Loading

iOS_SDK/OneSignalDevApp/OneSignalWidgetExtension/OneSignalWidgetExtensionBundle.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import SwiftUI
1212
@main
1313
struct OneSignalWidgetExtensionBundle: WidgetBundle {
1414
var body: some Widget {
15-
OneSignalWidgetExtension()
1615
OneSignalWidgetExtensionLiveActivity()
1716
}
1817
}

iOS_SDK/OneSignalDevApp/OneSignalWidgetExtension/OneSignalWidgetExtensionLiveActivity.swift

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,31 @@ import ActivityKit
1010
import WidgetKit
1111
import SwiftUI
1212

13-
struct OneSignalWidgetExtensionAttributes: ActivityAttributes {
14-
public struct ContentState: Codable, Hashable {
15-
// Dynamic stateful properties about your activity go here!
16-
var value: Int
17-
}
18-
19-
// Fixed non-changing properties about your activity go here!
20-
var name: String
21-
}
2213

2314
struct OneSignalWidgetExtensionLiveActivity: Widget {
2415
var body: some WidgetConfiguration {
25-
ActivityConfiguration(for: OneSignalWidgetExtensionAttributes.self) { context in
26-
// Lock screen/banner UI goes here
16+
ActivityConfiguration(for: OneSignalWidgetAttributes.self) { context in
17+
// Lock screen/banner UI goes here\VStack(alignment: .leading) {
2718
VStack {
28-
Text("Hello")
19+
Spacer()
20+
Text(context.attributes.title).font(.headline)
21+
Spacer()
22+
HStack {
23+
Spacer()
24+
Label {
25+
Text(context.state.message)
26+
} icon: {
27+
Image("onesignaldemo")
28+
.resizable()
29+
.scaledToFit()
30+
.frame(width: 40.0, height: 40.0)
31+
}
32+
Spacer()
33+
}
34+
Spacer()
2935
}
30-
.activityBackgroundTint(Color.cyan)
31-
.activitySystemActionForegroundColor(Color.black)
32-
36+
.activitySystemActionForegroundColor(.black)
37+
.activityBackgroundTint(.white)
3338
} dynamicIsland: { context in
3439
DynamicIsland {
3540
// Expanded UI goes here. Compose the expanded UI through
Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
33
<plist version="1.0">
4-
<dict/>
4+
<dict>
5+
<key>com.apple.security.app-sandbox</key>
6+
<true/>
7+
<key>com.apple.security.network.client</key>
8+
<true/>
9+
</dict>
510
</plist>

0 commit comments

Comments
 (0)