Skip to content

Commit 5c21086

Browse files
authored
Merge pull request #86 from rollbar/iosim_compilation_issue
2 parents 0d04cbb + da9ab29 commit 5c21086

File tree

6 files changed

+89
-55
lines changed

6 files changed

+89
-55
lines changed

.vscode/settings.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{
2-
"dart.flutterSdkPath": "/Users/matux/fvm/versions/3.0.5",
32
// Remove .fvm files from search
43
"search.exclude": {
54
"**/.fvm": true

rollbar_flutter/example/ios/Podfile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
platform :ios, '11.0'
1+
platform :ios, '13.0'
22

33
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
44
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
@@ -27,6 +27,9 @@ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelpe
2727
flutter_ios_podfile_setup
2828

2929
target 'Runner' do
30+
use_frameworks!
31+
use_modular_headers!
32+
3033
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
3134
end
3235

rollbar_flutter/example/ios/Podfile.lock

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,18 @@ PODS:
33
- Flutter
44
- ReachabilitySwift
55
- Flutter (1.0.0)
6+
- PLCrashReporter (1.10.2)
67
- ReachabilitySwift (5.0.0)
7-
- Rollbar (1.12.14)
8-
- rollbar_flutter (0.0.1):
8+
- rollbar_flutter (1.2.0):
99
- Flutter
10-
- Rollbar (~> 1.12.14)
10+
- RollbarNotifier (~> 2.3.4)
11+
- RollbarPLCrashReporter (~> 2.3.4)
12+
- RollbarCommon (2.3.4)
13+
- RollbarNotifier (2.3.4):
14+
- RollbarCommon (~> 2.3.4)
15+
- RollbarPLCrashReporter (2.3.4):
16+
- PLCrashReporter (~> 1.10.1)
17+
- RollbarCommon (~> 2.3.4)
1118
- sqlite3 (3.39.3):
1219
- sqlite3/common (= 3.39.3)
1320
- sqlite3/common (3.39.3)
@@ -32,8 +39,11 @@ DEPENDENCIES:
3239

3340
SPEC REPOS:
3441
trunk:
42+
- PLCrashReporter
3543
- ReachabilitySwift
36-
- Rollbar
44+
- RollbarCommon
45+
- RollbarNotifier
46+
- RollbarPLCrashReporter
3747
- sqlite3
3848

3949
EXTERNAL SOURCES:
@@ -49,12 +59,15 @@ EXTERNAL SOURCES:
4959
SPEC CHECKSUMS:
5060
connectivity_plus: 413a8857dd5d9f1c399a39130850d02fe0feaf7e
5161
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
62+
PLCrashReporter: 2a08001f8e6a30abe405ee8f13d2753cfb5d682a
5263
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
53-
Rollbar: 58f315609433558a82af5a54d7888bb020bec561
54-
rollbar_flutter: b7542ba065cdece3cef1b316c748d24d129ead51
64+
rollbar_flutter: 9f339bf9f7dbc80265690846bd6b1cbb6e2e8c8b
65+
RollbarCommon: 9a8198f5141aba65441c63e76b2ec4bc1a05cd2f
66+
RollbarNotifier: 97b177c3493571f74cef5f793801c4a191f4d918
67+
RollbarPLCrashReporter: bf0e742bd2d799d4c79a83108e4e7bfd6107db87
5568
sqlite3: 50117e9e063a9ef2b865f7bdf2f2601e5d368e9a
5669
sqlite3_flutter_libs: c6ab7f23670a98fef45a137159452004bc552168
5770

58-
PODFILE CHECKSUM: f70cbe32e71f16c77469a29c52f47705f5041b7c
71+
PODFILE CHECKSUM: d2243213672c3c48aae53c36642ba411a6be7309
5972

6073
COCOAPODS: 1.11.3

rollbar_flutter/example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88

99
/* Begin PBXBuildFile section */
1010
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
11-
3621E63182A608FCC2F1AF6A /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1367B4919C8560FDCA797FA1 /* libPods-Runner.a */; };
1211
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
1312
978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; };
1413
97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; };
1514
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
1615
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
1716
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
17+
CA983656C878EC019B64828E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DFAF899D05FE95D1DEE08E52 /* Pods_Runner.framework */; };
1818
/* End PBXBuildFile section */
1919

2020
/* Begin PBXCopyFilesBuildPhase section */
@@ -31,7 +31,6 @@
3131
/* End PBXCopyFilesBuildPhase section */
3232

3333
/* Begin PBXFileReference section */
34-
1367B4919C8560FDCA797FA1 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
3534
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
3635
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
3736
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
@@ -49,14 +48,15 @@
4948
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
5049
BA51E93435F180AE31586B93 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
5150
D2D4739B5BCFB234777F8D4A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
51+
DFAF899D05FE95D1DEE08E52 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
5252
/* End PBXFileReference section */
5353

5454
/* Begin PBXFrameworksBuildPhase section */
5555
97C146EB1CF9000F007C117D /* Frameworks */ = {
5656
isa = PBXFrameworksBuildPhase;
5757
buildActionMask = 2147483647;
5858
files = (
59-
3621E63182A608FCC2F1AF6A /* libPods-Runner.a in Frameworks */,
59+
CA983656C878EC019B64828E /* Pods_Runner.framework in Frameworks */,
6060
);
6161
runOnlyForDeploymentPostprocessing = 0;
6262
};
@@ -130,7 +130,7 @@
130130
E00D0E774CBD7FE183FEDA79 /* Frameworks */ = {
131131
isa = PBXGroup;
132132
children = (
133-
1367B4919C8560FDCA797FA1 /* libPods-Runner.a */,
133+
DFAF899D05FE95D1DEE08E52 /* Pods_Runner.framework */,
134134
);
135135
name = Frameworks;
136136
sourceTree = "<group>";
@@ -149,6 +149,8 @@
149149
97C146EC1CF9000F007C117D /* Resources */,
150150
9705A1C41CF9048500538489 /* Embed Frameworks */,
151151
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
152+
C61E5DBB581C92D3DB00ADC9 /* [CP] Copy Pods Resources */,
153+
925AF82D935326C27F96F91B /* [CP] Embed Pods Frameworks */,
152154
);
153155
buildRules = (
154156
);
@@ -242,6 +244,23 @@
242244
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
243245
showEnvVarsInLog = 0;
244246
};
247+
925AF82D935326C27F96F91B /* [CP] Embed Pods Frameworks */ = {
248+
isa = PBXShellScriptBuildPhase;
249+
buildActionMask = 2147483647;
250+
files = (
251+
);
252+
inputFileListPaths = (
253+
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
254+
);
255+
name = "[CP] Embed Pods Frameworks";
256+
outputFileListPaths = (
257+
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
258+
);
259+
runOnlyForDeploymentPostprocessing = 0;
260+
shellPath = /bin/sh;
261+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
262+
showEnvVarsInLog = 0;
263+
};
245264
9740EEB61CF901F6004384FC /* Run Script */ = {
246265
isa = PBXShellScriptBuildPhase;
247266
buildActionMask = 2147483647;
@@ -256,6 +275,23 @@
256275
shellPath = /bin/sh;
257276
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
258277
};
278+
C61E5DBB581C92D3DB00ADC9 /* [CP] Copy Pods Resources */ = {
279+
isa = PBXShellScriptBuildPhase;
280+
buildActionMask = 2147483647;
281+
files = (
282+
);
283+
inputFileListPaths = (
284+
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
285+
);
286+
name = "[CP] Copy Pods Resources";
287+
outputFileListPaths = (
288+
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
289+
);
290+
runOnlyForDeploymentPostprocessing = 0;
291+
shellPath = /bin/sh;
292+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
293+
showEnvVarsInLog = 0;
294+
};
259295
/* End PBXShellScriptBuildPhase section */
260296

261297
/* Begin PBXSourcesBuildPhase section */
Lines changed: 17 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,36 @@
11
@import SystemConfiguration;
2+
@import RollbarNotifier;
3+
@import RollbarPLCrashReporter;
4+
25
#import "RollbarFlutterPlugin.h"
3-
#import <Rollbar/Rollbar.h>
46

57
@implementation RollbarFlutterPlugin
68

7-
+ (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar {
8-
FlutterMethodChannel* channel = [FlutterMethodChannel
9-
methodChannelWithName:@"com.rollbar.flutter"
10-
binaryMessenger:[registrar messenger]];
11-
RollbarFlutterPlugin* instance = [[RollbarFlutterPlugin alloc] init];
9+
+ (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar> *)registrar {
10+
FlutterMethodChannel *channel = [
11+
FlutterMethodChannel methodChannelWithName:@"com.rollbar.flutter"
12+
binaryMessenger:[registrar messenger]];
13+
RollbarFlutterPlugin *instance = [[RollbarFlutterPlugin alloc] init];
1214
[registrar addMethodCallDelegate:instance channel:channel];
1315
}
1416

1517
- (void)handleMethodCall:(FlutterMethodCall *)call
1618
result:(FlutterResult)result
1719
{
1820
if ([@"initialize" isEqualToString:call.method]) {
19-
NSDictionary* arguments = call.arguments;
20-
NSString* endpoint = (NSString*)arguments[@"endpoint"];
21-
NSString* accessToken = (NSString*)arguments[@"accessToken"];
22-
NSString* environment = (NSString*)arguments[@"environment"];
23-
NSString* codeVersion = (NSString*)arguments[@"codeVersion"];
24-
BOOL handleUncaughtErrors = ((NSNumber*)arguments[@"handleUncaughtErrors"]).boolValue;
25-
BOOL includePlatformLogs = ((NSNumber*)arguments[@"includePlatformLogs"]).boolValue;
21+
NSDictionary *arguments = call.arguments;
22+
RollbarConfig *config = [[RollbarConfig alloc] init];
23+
config.destination.accessToken = (NSString *)arguments[@"accessToken"];
24+
config.destination.environment = (NSString *)arguments[@"environment"];
25+
config.loggingOptions.codeVersion = (NSString *)arguments[@"codeVersion"];
2626

27-
[self initializeWithEndpoint:endpoint
28-
accessToken:accessToken
29-
environment:environment
30-
codeVersion:codeVersion
31-
handleUncaughtErrors:handleUncaughtErrors
32-
includePlatformLogs:includePlatformLogs];
27+
id<RollbarCrashCollector> collector = [[RollbarPLCrashCollector alloc] init];
28+
[Rollbar initWithConfiguration:config crashCollector:collector];
3329

3430
result(nil);
3531
} else if ([@"persistencePath" isEqualToString:call.method]) {
36-
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
32+
NSArray *paths = NSSearchPathForDirectoriesInDomains(
33+
NSDocumentDirectory, NSUserDomainMask, YES);
3734
result(paths.firstObject);
3835
} else if ([@"close" isEqualToString:call.method]) {
3936
// No closing necessary
@@ -43,21 +40,4 @@ - (void)handleMethodCall:(FlutterMethodCall *)call
4340
}
4441
}
4542

46-
- (void)initializeWithEndpoint:(NSString*)endpoint
47-
accessToken:(NSString*)accessToken
48-
environment:(NSString*)environment
49-
codeVersion:(NSString*)codeVersion
50-
handleUncaughtErrors:(BOOL)handleUncaughtErrors
51-
includePlatformLogs:(BOOL)includePlatformLogs
52-
{
53-
RollbarConfiguration* config = [RollbarConfiguration configuration];
54-
config.endpoint = endpoint;
55-
config.environment = environment;
56-
config.codeVersion = codeVersion;
57-
[Rollbar initWithAccessToken:accessToken
58-
configuration:config
59-
enableCrashReporter:handleUncaughtErrors];
60-
[Rollbar.currentConfiguration setCaptureLogAsTelemetryData:includePlatformLogs];
61-
}
62-
6343
@end

rollbar_flutter/ios/rollbar_flutter.podspec

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
#
55
Pod::Spec.new do |s|
66
s.name = 'rollbar_flutter'
7-
s.version = '0.0.1'
7+
s.version = '1.2.0'
88
s.summary = 'Connect your Flutter applications to Rollbar for error reporting.'
99
s.description = <<-DESC
10-
A new flutter plugin project.
10+
Connect your Flutter applications to Rollbar for error reporting.
1111
DESC
1212
s.homepage = 'http://example.com'
1313
s.license = { :file => '../LICENSE' }
@@ -16,9 +16,12 @@ A new flutter plugin project.
1616
s.source_files = 'Classes/**/*'
1717
s.public_header_files = 'Classes/**/*.h'
1818
s.dependency 'Flutter'
19-
s.dependency 'Rollbar', '~> 1.12.14'
20-
s.platform = :ios, '8.0'
19+
s.dependency 'RollbarNotifier', '~> 2.3.4'
20+
s.dependency 'RollbarPLCrashReporter', '~> 2.3.4'
21+
s.static_framework = true
22+
s.platform = :ios, '13.0'
2123

2224
# Flutter.framework does not contain a i386 slice.
23-
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
25+
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES',
26+
'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
2427
end

0 commit comments

Comments
 (0)