Skip to content

Commit e9d63f8

Browse files
authored
Support submission URL (#31)
* Update dependencies * Fix typos * Refactor API to allow submission URLs * Update README.md * Bump version * Fix project settings for Xcode 11 * Disable retrieving info about Bluetooth. Accessing Bluetooth on iOS 13 requires NSBluetoothAlwaysUsageDescription key to be provided
1 parent cc40cbc commit e9d63f8

21 files changed

+404
-366
lines changed

.travis.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ language: swift
22
os: osx
33
osx_image: xcode10.2
44
before_install:
5-
- bundle install
5+
- gem install bundler:2.0.2
6+
- bundler install
7+
- bundle update
68
- bundle exec pod repo update
79
- bundle exec pod update
810
script:

Backtrace.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
Pod::Spec.new do |s|
1010

1111
s.name = "Backtrace"
12-
s.version = "1.5.1"
12+
s.version = "1.5.2"
1313
s.summary = "Backtrace's integration with iOS, macOS and tvOS"
1414
s.description = "Reliable crash and hang reporting for iOS, macOS and tvOS."
1515
s.homepage = "https://backtrace.io/"

Backtrace.xcodeproj/project.pbxproj

Lines changed: 203 additions & 207 deletions
Large diffs are not rendered by default.

Backtrace.xcodeproj/xcshareddata/xcschemes/Backtrace-iOS.xcscheme

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,38 @@
2020
ReferencedContainer = "container:Backtrace.xcodeproj">
2121
</BuildableReference>
2222
</BuildActionEntry>
23+
<BuildActionEntry
24+
buildForTesting = "YES"
25+
buildForRunning = "YES"
26+
buildForProfiling = "YES"
27+
buildForArchiving = "YES"
28+
buildForAnalyzing = "YES">
29+
<BuildableReference
30+
BuildableIdentifier = "primary"
31+
BlueprintIdentifier = "F2C2FA5821BBD26300934744"
32+
BuildableName = "Backtrace-iOSTests.xctest"
33+
BlueprintName = "Backtrace-iOSTests"
34+
ReferencedContainer = "container:Backtrace.xcodeproj">
35+
</BuildableReference>
36+
</BuildActionEntry>
2337
</BuildActionEntries>
2438
</BuildAction>
2539
<TestAction
2640
buildConfiguration = "Debug"
2741
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2842
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
43+
shouldUseLaunchSchemeArgsEnv = "YES"
2944
codeCoverageEnabled = "YES"
30-
onlyGenerateCoverageForSpecifiedTargets = "YES"
31-
shouldUseLaunchSchemeArgsEnv = "YES">
45+
onlyGenerateCoverageForSpecifiedTargets = "YES">
46+
<MacroExpansion>
47+
<BuildableReference
48+
BuildableIdentifier = "primary"
49+
BlueprintIdentifier = "F2C2FA4F21BBD26300934744"
50+
BuildableName = "Backtrace.framework"
51+
BlueprintName = "Backtrace-iOS"
52+
ReferencedContainer = "container:Backtrace.xcodeproj">
53+
</BuildableReference>
54+
</MacroExpansion>
3255
<CodeCoverageTargets>
3356
<BuildableReference
3457
BuildableIdentifier = "primary"
@@ -50,17 +73,6 @@
5073
</BuildableReference>
5174
</TestableReference>
5275
</Testables>
53-
<MacroExpansion>
54-
<BuildableReference
55-
BuildableIdentifier = "primary"
56-
BlueprintIdentifier = "F2C2FA4F21BBD26300934744"
57-
BuildableName = "Backtrace.framework"
58-
BlueprintName = "Backtrace-iOS"
59-
ReferencedContainer = "container:Backtrace.xcodeproj">
60-
</BuildableReference>
61-
</MacroExpansion>
62-
<AdditionalOptions>
63-
</AdditionalOptions>
6476
</TestAction>
6577
<LaunchAction
6678
buildConfiguration = "Debug"
@@ -81,8 +93,6 @@
8193
ReferencedContainer = "container:Backtrace.xcodeproj">
8294
</BuildableReference>
8395
</MacroExpansion>
84-
<AdditionalOptions>
85-
</AdditionalOptions>
8696
</LaunchAction>
8797
<ProfileAction
8898
buildConfiguration = "Release"

Backtrace.xcodeproj/xcshareddata/xcschemes/Example-iOS.xcscheme

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
2828
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
2929
shouldUseLaunchSchemeArgsEnv = "YES">
30-
<Testables>
31-
</Testables>
3230
<MacroExpansion>
3331
<BuildableReference
3432
BuildableIdentifier = "primary"
@@ -38,8 +36,18 @@
3836
ReferencedContainer = "container:Backtrace.xcodeproj">
3937
</BuildableReference>
4038
</MacroExpansion>
41-
<AdditionalOptions>
42-
</AdditionalOptions>
39+
<Testables>
40+
<TestableReference
41+
skipped = "NO">
42+
<BuildableReference
43+
BuildableIdentifier = "primary"
44+
BlueprintIdentifier = "F2C2FA5821BBD26300934744"
45+
BuildableName = "Backtrace-iOSTests.xctest"
46+
BlueprintName = "Backtrace-iOSTests"
47+
ReferencedContainer = "container:Backtrace.xcodeproj">
48+
</BuildableReference>
49+
</TestableReference>
50+
</Testables>
4351
</TestAction>
4452
<LaunchAction
4553
buildConfiguration = "Debug"
@@ -61,8 +69,6 @@
6169
ReferencedContainer = "container:Backtrace.xcodeproj">
6270
</BuildableReference>
6371
</BuildableProductRunnable>
64-
<AdditionalOptions>
65-
</AdditionalOptions>
6672
</LaunchAction>
6773
<ProfileAction
6874
buildConfiguration = "Release"

Gemfile.lock

Lines changed: 43 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,52 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4-
CFPropertyList (3.0.0)
4+
CFPropertyList (3.0.2)
55
activesupport (4.2.11.1)
66
i18n (~> 0.7)
77
minitest (~> 5.1)
88
thread_safe (~> 0.3, >= 0.3.4)
99
tzinfo (~> 1.1)
10-
addressable (2.6.0)
11-
public_suffix (>= 2.0.2, < 4.0)
10+
addressable (2.7.0)
11+
public_suffix (>= 2.0.2, < 5.0)
12+
algoliasearch (1.27.1)
13+
httpclient (~> 2.8, >= 2.8.3)
14+
json (>= 1.5.1)
1215
atomos (0.1.3)
13-
babosa (1.0.2)
14-
claide (1.0.2)
15-
cocoapods (1.7.1)
16+
babosa (1.0.3)
17+
claide (1.0.3)
18+
cocoapods (1.8.4)
1619
activesupport (>= 4.0.2, < 5)
1720
claide (>= 1.0.2, < 2.0)
18-
cocoapods-core (= 1.7.1)
21+
cocoapods-core (= 1.8.4)
1922
cocoapods-deintegrate (>= 1.0.3, < 2.0)
2023
cocoapods-downloader (>= 1.2.2, < 2.0)
2124
cocoapods-plugins (>= 1.0.0, < 2.0)
2225
cocoapods-search (>= 1.0.0, < 2.0)
2326
cocoapods-stats (>= 1.0.0, < 2.0)
24-
cocoapods-trunk (>= 1.3.1, < 2.0)
27+
cocoapods-trunk (>= 1.4.0, < 2.0)
2528
cocoapods-try (>= 1.1.0, < 2.0)
2629
colored2 (~> 3.1)
2730
escape (~> 0.0.4)
28-
fourflusher (>= 2.2.0, < 3.0)
31+
fourflusher (>= 2.3.0, < 3.0)
2932
gh_inspector (~> 1.0)
3033
molinillo (~> 0.6.6)
3134
nap (~> 1.0)
3235
ruby-macho (~> 1.4)
33-
xcodeproj (>= 1.8.2, < 2.0)
34-
cocoapods-core (1.7.1)
36+
xcodeproj (>= 1.11.1, < 2.0)
37+
cocoapods-core (1.8.4)
3538
activesupport (>= 4.0.2, < 6)
39+
algoliasearch (~> 1.0)
40+
concurrent-ruby (~> 1.1)
3641
fuzzy_match (~> 2.0.4)
3742
nap (~> 1.0)
3843
cocoapods-deintegrate (1.0.4)
39-
cocoapods-downloader (1.2.2)
44+
cocoapods-downloader (1.3.0)
4045
cocoapods-plugins (1.0.0)
4146
nap
4247
cocoapods-search (1.0.0)
4348
cocoapods-stats (1.1.0)
44-
cocoapods-trunk (1.3.1)
49+
cocoapods-trunk (1.4.1)
4550
nap (>= 0.8, < 2.0)
4651
netrc (~> 0.11)
4752
cocoapods-try (1.1.0)
@@ -53,21 +58,21 @@ GEM
5358
declarative (0.0.10)
5459
declarative-option (0.1.0)
5560
digest-crc (0.4.1)
56-
domain_name (0.5.20180417)
61+
domain_name (0.5.20190701)
5762
unf (>= 0.0.5, < 1.0.0)
58-
dotenv (2.7.2)
63+
dotenv (2.7.5)
5964
emoji_regex (1.0.1)
6065
escape (0.0.4)
61-
excon (0.64.0)
62-
faraday (0.15.4)
66+
excon (0.70.0)
67+
faraday (0.17.1)
6368
multipart-post (>= 1.2, < 3)
6469
faraday-cookie_jar (0.0.6)
6570
faraday (>= 0.7.4)
6671
http-cookie (~> 1.0.0)
6772
faraday_middleware (0.13.1)
6873
faraday (>= 0.7.4, < 1.0)
69-
fastimage (2.1.5)
70-
fastlane (2.125.2)
74+
fastimage (2.1.7)
75+
fastlane (2.137.0)
7176
CFPropertyList (>= 2.3, < 4.0.0)
7277
addressable (>= 2.3, < 3.0.0)
7378
babosa (>= 1.0.2, < 2.0.0)
@@ -77,22 +82,22 @@ GEM
7782
dotenv (>= 2.1.1, < 3.0.0)
7883
emoji_regex (>= 0.1, < 2.0)
7984
excon (>= 0.45.0, < 1.0.0)
80-
faraday (~> 0.9)
85+
faraday (~> 0.17)
8186
faraday-cookie_jar (~> 0.0.6)
82-
faraday_middleware (~> 0.9)
87+
faraday_middleware (~> 0.13.1)
8388
fastimage (>= 2.1.0, < 3.0.0)
8489
gh_inspector (>= 1.1.2, < 2.0.0)
8590
google-api-client (>= 0.21.2, < 0.24.0)
8691
google-cloud-storage (>= 1.15.0, < 2.0.0)
8792
highline (>= 1.7.2, < 2.0.0)
8893
json (< 3.0.0)
8994
jwt (~> 2.1.0)
90-
mini_magick (~> 4.5.1)
95+
mini_magick (>= 4.9.4, < 5.0.0)
9196
multi_xml (~> 0.5)
9297
multipart-post (~> 2.0.0)
9398
plist (>= 3.1.0, < 4.0.0)
9499
public_suffix (~> 2.0.0)
95-
rubyzip (>= 1.2.2, < 2.0.0)
100+
rubyzip (>= 1.3.0, < 2.0.0)
96101
security (= 0.1.3)
97102
simctl (~> 1.6.3)
98103
slack-notifier (>= 2.0.0, < 3.0.0)
@@ -104,7 +109,7 @@ GEM
104109
xcodeproj (>= 1.8.1, < 2.0.0)
105110
xcpretty (~> 0.3.0)
106111
xcpretty-travis-formatter (>= 0.0.3)
107-
fourflusher (2.3.0)
112+
fourflusher (2.3.1)
108113
fuzzy_match (2.0.4)
109114
gh_inspector (1.1.3)
110115
google-api-client (0.23.9)
@@ -115,9 +120,9 @@ GEM
115120
representable (~> 3.0)
116121
retriable (>= 2.0, < 4.0)
117122
signet (~> 0.9)
118-
google-cloud-core (1.3.0)
123+
google-cloud-core (1.4.1)
119124
google-cloud-env (~> 1.0)
120-
google-cloud-env (1.1.0)
125+
google-cloud-env (1.3.0)
121126
faraday (~> 0.11)
122127
google-cloud-storage (1.16.0)
123128
digest-crc (~> 0.4)
@@ -139,14 +144,14 @@ GEM
139144
concurrent-ruby (~> 1.0)
140145
json (2.2.0)
141146
jwt (2.1.0)
142-
memoist (0.16.0)
143-
mime-types (3.2.2)
147+
memoist (0.16.2)
148+
mime-types (3.3)
144149
mime-types-data (~> 3.2015)
145-
mime-types-data (3.2019.0331)
146-
mini_magick (4.5.1)
147-
minitest (5.11.3)
150+
mime-types-data (3.2019.1009)
151+
mini_magick (4.9.5)
152+
minitest (5.13.0)
148153
molinillo (0.6.6)
149-
multi_json (1.13.1)
154+
multi_json (1.14.1)
150155
multi_xml (0.6.0)
151156
multipart-post (2.0.0)
152157
nanaimo (0.2.6)
@@ -163,14 +168,14 @@ GEM
163168
retriable (3.1.2)
164169
rouge (2.0.7)
165170
ruby-macho (1.4.0)
166-
rubyzip (1.2.3)
171+
rubyzip (1.3.0)
167172
security (0.1.3)
168-
signet (0.11.0)
173+
signet (0.12.0)
169174
addressable (~> 2.3)
170175
faraday (~> 0.9)
171176
jwt (>= 1.5, < 3.0)
172177
multi_json (~> 1.10)
173-
simctl (1.6.5)
178+
simctl (1.6.6)
174179
CFPropertyList
175180
naturally
176181
slack-notifier (2.3.2)
@@ -180,7 +185,7 @@ GEM
180185
thread_safe (0.3.6)
181186
tty-cursor (0.7.0)
182187
tty-screen (0.7.0)
183-
tty-spinner (0.9.1)
188+
tty-spinner (0.9.2)
184189
tty-cursor (~> 0.7)
185190
tzinfo (1.2.5)
186191
thread_safe (~> 0.1)
@@ -190,7 +195,7 @@ GEM
190195
unf_ext (0.0.7.6)
191196
unicode-display_width (1.6.0)
192197
word_wrap (1.0.0)
193-
xcodeproj (1.9.0)
198+
xcodeproj (1.13.0)
194199
CFPropertyList (>= 2.3.3, < 4.0)
195200
atomos (~> 0.1.3)
196201
claide (>= 1.0.2, < 2.0)
@@ -209,4 +214,4 @@ DEPENDENCIES
209214
fastlane
210215

211216
BUNDLED WITH
212-
2.0.1
217+
2.0.2

Podfile.lock

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
PODS:
2-
- Backtrace-PLCrashReporter (1.5.0)
3-
- Nimble (8.0.2)
4-
- Quick (2.1.0)
2+
- Backtrace-PLCrashReporter (1.5.1)
3+
- Nimble (8.0.4)
4+
- Quick (2.2.0)
55

66
DEPENDENCIES:
77
- Backtrace-PLCrashReporter
88
- Nimble
99
- Quick
1010

1111
SPEC REPOS:
12-
https://github.com/cocoapods/specs.git:
12+
trunk:
1313
- Backtrace-PLCrashReporter
1414
- Nimble
1515
- Quick
1616

1717
SPEC CHECKSUMS:
18-
Backtrace-PLCrashReporter: e1eb51401ddf0ac73e2170b825aa4e7af39b3667
19-
Nimble: 622629381bda1dd5678162f21f1368cec7cbba60
20-
Quick: 4be43f6634acfa727dd106bdf3929ce125ffa79d
18+
Backtrace-PLCrashReporter: 93fc66f7abb44e47b18a1087cfc6c46dab945a45
19+
Nimble: 18d5360282923225d62b09d781f63abc1a0111fc
20+
Quick: 7fb19e13be07b5dfb3b90d4f9824c855a11af40e
2121

2222
PODFILE CHECKSUM: fa673e87046575b15e3be6e19a67ac2cd4614fb0
2323

24-
COCOAPODS: 1.7.1
24+
COCOAPODS: 1.8.4

README.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,28 @@ Initializing Backtrace client requires registration to Backtrace services. You c
132132
133133
- Swift
134134
```swift
135-
BacktraceClient.shared = try? BacktraceClient(credentials: BacktraceCredentials)
135+
let backtraceCredentials = BacktraceCredentials(endpoint: URL(string: "https://backtrace.io")!, token: "token")
136+
BacktraceClient.shared = try? BacktraceClient(credentials: backtraceCredentials)
137+
```
138+
139+
- Objective-C
140+
```objective-c
141+
BacktraceCredentials *backtraceCredentials = [[BacktraceCredentials alloc]
142+
initWithEndpoint: [NSURL URLWithString: @"https://backtrace.io"]
143+
token: @"token"];
144+
BacktraceClient.shared = [[BacktraceClient alloc] initWithCredentials: backtraceCredentials error: error];
136145
```
146+
147+
Additionally, the `BacktraceCredentials` object can be initialized using provided URL containing `universe` and `token`:
148+
149+
- Swift
150+
```swift
151+
let backtraceCredentials = BacktraceCredentials(submissionUrl: URL(string: "https://submit.backtrace.io/{universe}/{token}/plcrash")!)
152+
```
153+
137154
- Objective-C
138155
```objective-c
139-
BacktraceClient.shared = [[BacktraceClient alloc] initWithCredentials: BacktraceCredentials error: error];
156+
BacktraceCredentials *backtraceCredentials = [[BacktraceCredentials alloc] initWithSubmissionUrl: [NSURL URLWithString: @"https://submit.backtrace.io/{universe}/{token}/plcrash"]];
140157
```
141158
142159
## Configure Backtrace client <a name="documentation-client-configuration"></a>

0 commit comments

Comments
 (0)