Skip to content

Commit f4b18dd

Browse files
committed
testbed updates
1 parent 6a0293a commit f4b18dd

File tree

5 files changed

+75
-23
lines changed

5 files changed

+75
-23
lines changed

Branch-TestBed/Branch-TestBed/AppDelegate.m

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ @implementation AppDelegate
2121
- (BOOL)application:(UIApplication *)application
2222
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
2323

24+
[self setBranchLogFile];
25+
2426
appDelegate = self;
2527

2628
/*
@@ -44,9 +46,14 @@ - (BOOL)application:(UIApplication *)application
4446
// Handle the log message and error here. For example, printing to the console:
4547
if (error) {
4648
NSLog(@"[BranchLog] Level: %lu, Message: %@, Error: %@", (unsigned long)logLevel, message, error.localizedDescription);
49+
//Add to file here
4750
} else {
4851
NSLog(@"[BranchLog] Level: %lu, Message: %@", (unsigned long)logLevel, message);
4952
}
53+
54+
NSString *logEntry = error ? [NSString stringWithFormat:@"Level: %lu, Message: %@, Error: %@", (unsigned long)logLevel, message, error.localizedDescription]
55+
: [NSString stringWithFormat:@"Level: %lu, Message: %@", (unsigned long)logLevel, message];
56+
APPLogHookFunction([NSDate date], logLevel, logEntry);
5057
}];
5158

5259

@@ -62,16 +69,16 @@ - (BOOL)application:(UIApplication *)application
6269
* Required: Initialize Branch, passing a deep link handler block:
6370
*/
6471

65-
[self setLogFile:@"OpenNInstall"];
72+
//[self setLogFile:@"OpenNInstall"];
6673

6774
[branch setIdentity:@"Bobby Branch"];
6875

69-
//[branch setConsumerProtectionAttributionLevel:BranchAttributionLevelReduced];
76+
//[[Branch getInstance] setConsumerProtectionAttributionLevel:BranchAttributionLevelReduced];
7077

7178
[branch initSessionWithLaunchOptions:launchOptions andRegisterDeepLinkHandlerUsingBranchUniversalObject:
7279
^ (BranchUniversalObject * _Nullable universalObject, BranchLinkProperties * _Nullable linkProperties, NSError * _Nullable error) {
7380

74-
[self setLogFile:nil];
81+
//[self setLogFile:nil];
7582
[self handleDeepLinkObject:universalObject linkProperties:linkProperties error:error];
7683
}];
7784

@@ -140,7 +147,7 @@ - (void) handleDeepLinkObject:(BranchUniversalObject*)object
140147
[storyboard instantiateViewControllerWithIdentifier:@"LogOutputViewController"];
141148
[navigationController pushViewController:logOutputViewController animated:YES];
142149
NSString *logOutput =
143-
[NSString stringWithFormat:@"Successfully Deeplinked:\n\n%@\nSession Details:\n\n%@",
150+
[NSString stringWithFormat:@"Successfully Deeplinked!\n\nCustom Metadata Deeplink Text: %@\n\nSession Details:\n\n%@",
144151
deeplinkText, [[[Branch getInstance] getLatestReferringParams] description]];
145152
logOutputViewController.logOutput = logOutput;
146153
}
@@ -181,6 +188,19 @@ - (BOOL)application:(UIApplication *)application
181188
return YES;
182189
}
183190

191+
- (void)setBranchLogFile {
192+
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
193+
NSString *logFilePath = [documentsDirectory stringByAppendingPathComponent:@"branchlogs.txt"];
194+
195+
// If the log file already exists, remove it to start fresh
196+
if ([[NSFileManager defaultManager] fileExistsAtPath:logFilePath]) {
197+
[[NSFileManager defaultManager] removeItemAtPath:logFilePath error:nil];
198+
}
199+
200+
self.logFileName = logFilePath;
201+
}
202+
203+
184204
#pragma mark - Push Notifications (Optional)
185205
/*
186206
// Helper method
@@ -219,7 +239,8 @@ -(void)application:(UIApplication *)application
219239

220240
// hook Function for SDK - Its for taking control of Logging messages.
221241
void APPLogHookFunction(NSDate*_Nonnull timestamp, BranchLogLevel level, NSString*_Nullable message) {
222-
[appDelegate processLogMessage:message];
242+
NSString *formattedMessage = [NSString stringWithFormat:@"%@ [%lu] %@", timestamp, (unsigned long)level, message];
243+
[appDelegate processLogMessage:formattedMessage];
223244
}
224245

225246
// Writes message to log File.
@@ -240,7 +261,7 @@ - (void) processLogMessage:(NSString *)message {
240261
encoding:NSStringEncodingConversionAllowLossy
241262
error:nil];
242263
}
243-
NSLog(@"%@", message); // Log mmessages to console - remove if required.
264+
NSLog(@"%@", message); // Log messages to console - remove if required.
244265
}
245266
}
246267

Branch-TestBed/Branch-TestBed/LogOutputViewController.m

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,36 @@ @implementation LogOutputViewController
1717
- (void)viewDidLoad {
1818
[super viewDidLoad];
1919
self.logOutputTextView.text = _logOutput;
20+
21+
UIBarButtonItem *clearButton = [[UIBarButtonItem alloc] initWithTitle:@"Clear Logs"
22+
style:UIBarButtonItemStylePlain
23+
target:self
24+
action:@selector(clearLogs)];
25+
self.navigationItem.rightBarButtonItem = clearButton;
2026
}
2127

2228
- (void)didReceiveMemoryWarning {
2329
[super didReceiveMemoryWarning];
2430
// Dispose of any resources that can be recreated.
2531
}
2632

33+
- (void)clearLogs {
34+
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
35+
NSString *logFilePath = [documentsDirectory stringByAppendingPathComponent:@"branchlogs.txt"];
36+
37+
NSError *error = nil;
38+
[[NSFileManager defaultManager] removeItemAtPath:logFilePath error:&error];
39+
40+
if (error) {
41+
NSLog(@"Error clearing log file: %@", error.localizedDescription);
42+
} else {
43+
self.logOutputTextView.text = @"Logs cleared.";
44+
NSLog(@"Log file cleared successfully.");
45+
46+
[self.navigationController popViewControllerAnimated:YES];
47+
48+
}
49+
}
50+
51+
2752
@end

Branch-TestBed/Branch-TestBed/Main.storyboard

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="rgL-wI-yV3">
2+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES" initialViewController="rgL-wI-yV3">
33
<device id="retina4_7" orientation="portrait" appearance="dark"/>
44
<dependencies>
55
<deployment identifier="iOS"/>
6-
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
6+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/>
77
<capability name="System colors in document resources" minToolsVersion="11.0"/>
88
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
99
</dependencies>
@@ -535,7 +535,7 @@
535535
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
536536
<autoresizingMask key="autoresizingMask"/>
537537
<subviews>
538-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="L2t-YG-cpE">
538+
<button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="L2t-YG-cpE">
539539
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
540540
<inset key="titleEdgeInsets" minX="30" minY="0.0" maxX="0.0" maxY="0.0"/>
541541
<inset key="imageEdgeInsets" minX="20" minY="0.0" maxX="0.0" maxY="0.0"/>
@@ -562,7 +562,7 @@
562562
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
563563
<autoresizingMask key="autoresizingMask"/>
564564
<subviews>
565-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JRt-Kp-qAQ">
565+
<button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JRt-Kp-qAQ">
566566
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
567567
<inset key="titleEdgeInsets" minX="30" minY="0.0" maxX="0.0" maxY="0.0"/>
568568
<inset key="imageEdgeInsets" minX="20" minY="0.0" maxX="0.0" maxY="0.0"/>
@@ -589,7 +589,7 @@
589589
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
590590
<autoresizingMask key="autoresizingMask"/>
591591
<subviews>
592-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="467-af-xm1">
592+
<button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="467-af-xm1">
593593
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
594594
<inset key="titleEdgeInsets" minX="30" minY="0.0" maxX="0.0" maxY="0.0"/>
595595
<inset key="imageEdgeInsets" minX="20" minY="0.0" maxX="0.0" maxY="0.0"/>
@@ -616,7 +616,7 @@
616616
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
617617
<autoresizingMask key="autoresizingMask"/>
618618
<subviews>
619-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PnJ-Tp-Oq2">
619+
<button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PnJ-Tp-Oq2">
620620
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
621621
<inset key="titleEdgeInsets" minX="30" minY="0.0" maxX="0.0" maxY="0.0"/>
622622
<inset key="imageEdgeInsets" minX="20" minY="0.0" maxX="0.0" maxY="0.0"/>
@@ -647,7 +647,7 @@
647647
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
648648
<autoresizingMask key="autoresizingMask"/>
649649
<subviews>
650-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JXr-9x-vX0">
650+
<button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="JXr-9x-vX0">
651651
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
652652
<inset key="titleEdgeInsets" minX="30" minY="0.0" maxX="0.0" maxY="0.0"/>
653653
<inset key="imageEdgeInsets" minX="20" minY="0.0" maxX="0.0" maxY="0.0"/>
@@ -674,7 +674,7 @@
674674
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
675675
<autoresizingMask key="autoresizingMask"/>
676676
<subviews>
677-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jWK-QY-Hr2">
677+
<button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jWK-QY-Hr2">
678678
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
679679
<inset key="titleEdgeInsets" minX="30" minY="0.0" maxX="0.0" maxY="0.0"/>
680680
<inset key="imageEdgeInsets" minX="20" minY="0.0" maxX="0.0" maxY="0.0"/>
@@ -701,11 +701,11 @@
701701
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
702702
<autoresizingMask key="autoresizingMask"/>
703703
<subviews>
704-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="t8S-Z0-hG9">
704+
<button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="t8S-Z0-hG9">
705705
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
706706
<inset key="titleEdgeInsets" minX="30" minY="0.0" maxX="0.0" maxY="0.0"/>
707707
<inset key="imageEdgeInsets" minX="20" minY="0.0" maxX="0.0" maxY="0.0"/>
708-
<state key="normal" title="Load Logs for Last Command" image="doc.text" catalog="system">
708+
<state key="normal" title="Load Branch Logs" image="doc.text" catalog="system">
709709
<color key="titleColor" systemColor="linkColor"/>
710710
</state>
711711
<connections>
@@ -728,7 +728,7 @@
728728
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
729729
<autoresizingMask key="autoresizingMask"/>
730730
<subviews>
731-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7Rz-jF-ETn">
731+
<button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7Rz-jF-ETn">
732732
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
733733
<accessibility key="accessibilityConfiguration" identifier="tracking"/>
734734
<inset key="titleEdgeInsets" minX="30" minY="0.0" maxX="0.0" maxY="0.0"/>
@@ -756,7 +756,7 @@
756756
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
757757
<autoresizingMask key="autoresizingMask"/>
758758
<subviews>
759-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cLu-WM-Ib5">
759+
<button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="cLu-WM-Ib5">
760760
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
761761
<inset key="titleEdgeInsets" minX="30" minY="0.0" maxX="0.0" maxY="0.0"/>
762762
<inset key="imageEdgeInsets" minX="20" minY="0.0" maxX="0.0" maxY="0.0"/>
@@ -783,7 +783,7 @@
783783
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
784784
<autoresizingMask key="autoresizingMask"/>
785785
<subviews>
786-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UTG-yQ-PWO">
786+
<button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="UTG-yQ-PWO">
787787
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
788788
<accessibility key="accessibilityConfiguration" identifier="tracking"/>
789789
<inset key="titleEdgeInsets" minX="30" minY="0.0" maxX="0.0" maxY="0.0"/>
@@ -811,7 +811,7 @@
811811
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
812812
<autoresizingMask key="autoresizingMask"/>
813813
<subviews>
814-
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="oFC-oS-hU2">
814+
<button opaque="NO" contentMode="scaleToFill" ambiguous="YES" contentHorizontalAlignment="leading" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="oFC-oS-hU2">
815815
<rect key="frame" x="0.0" y="0.0" width="343" height="44"/>
816816
<accessibility key="accessibilityConfiguration" identifier="tracking"/>
817817
<inset key="titleEdgeInsets" minX="30" minY="0.0" maxX="0.0" maxY="0.0"/>

0 commit comments

Comments
 (0)