Skip to content

Commit 2ef5da1

Browse files
committed
Merge branch 'master' into SDK-2045-add-EU-endpoint-helper-method
2 parents 7e612ff + dbb498f commit 2ef5da1

File tree

8 files changed

+269
-12
lines changed

8 files changed

+269
-12
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
name: Update Version History on ReadMe
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
update-changelog:
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- name: Format and publish release notes to version history doc
13+
id: update
14+
run: |
15+
# Get release name, body, and date from the release event
16+
release_name="${{ github.event.release.tag_name }}"
17+
release_body="${{ github.event.release.body }}"
18+
release_date=$(date -d "${{ github.event.release.published_at }}" +"%Y-%B-%d")
19+
20+
# Format release notes
21+
formatted_notes="## v$release_name\n\n**($release_date)**\n\n$release_body"
22+
23+
# Get existing version history page
24+
existing_content=$(curl --request GET \
25+
--url https://dash.readme.com/api/v1/docs/ios-version-history \
26+
--header 'accept: application/json' \
27+
--header "authorization: Basic ${{ secrets.readme_api_key_base64 }}" \
28+
| jq -r '.body')
29+
30+
# Prepend new release notes to existing content
31+
new_content=$(echo -e "$formatted_notes\n\n$existing_content")
32+
payload=$(jq -n --arg nc "$new_content" '{"body": $nc}')
33+
34+
# Update version history page with new release notes
35+
curl --request PUT \
36+
--url https://dash.readme.com/api/v1/docs/ios-version-history \
37+
--header 'accept: application/json' \
38+
--header "authorization: Basic ${{ secrets.readme_api_key_base64 }}" \
39+
--header 'content-type: application/json' \
40+
--data "$payload"
41+
42+
- name: Announce New Release in Slack
43+
uses: slackapi/[email protected]
44+
with:
45+
channel-id: "CDFGXRM9S"
46+
payload: |
47+
{
48+
"text": "New Release: Branch iOS SDK v${{ github.event.release.tag_name }}",
49+
"blocks": [
50+
{
51+
"type": "header",
52+
"text": {
53+
"type": "plain_text",
54+
"text": ":rocket: New Release: Branch iOS SDK v${{ github.event.release.tag_name }}",
55+
"emoji": true
56+
}
57+
},
58+
{
59+
"type": "divider"
60+
},
61+
{
62+
"type": "section",
63+
"text": {
64+
"type": "mrkdwn",
65+
"text": ":star: *What's New*"
66+
}
67+
},
68+
{
69+
"type": "section",
70+
"text": {
71+
"type": "mrkdwn",
72+
"text": ${{ toJSON(github.event.release.body) }}
73+
}
74+
},
75+
{
76+
"type": "divider"
77+
},
78+
{
79+
"type": "actions",
80+
"elements": [
81+
{
82+
"type": "button",
83+
"text": {
84+
"type": "plain_text",
85+
"text": ":git: GitHub Release",
86+
"emoji": true
87+
},
88+
"value": "github",
89+
"action_id": "github",
90+
"url": "${{ github.event.release.html_url }}"
91+
}
92+
]
93+
}
94+
]
95+
}
96+
env:
97+
SLACK_BOT_TOKEN: ${{ secrets.SLACK_SDK_BOT_TOKEN }}
98+

BranchSDK.podspec

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "BranchSDK"
3-
s.version = "2.2.1"
3+
s.version = "3.0.0"
44
s.summary = "Create an HTTP URL for any piece of content in your app"
55
s.description = <<-DESC
66
- Want the highest possible conversions on your sharing feature?
@@ -18,6 +18,7 @@ Use the Branch SDK (branch.io) to create and power the links that point back to
1818
s.ios.deployment_target = '12.0'
1919
s.tvos.deployment_target = '12.0'
2020

21+
s.resources = ["BranchSDK/*.{xcprivacy}"]
2122
s.ios.source_files = "BranchSDK/*.{h,m}"
2223

2324
s.tvos.source_files = "BranchSDK/*.{h,m}"

BranchSDK.xcodeproj/project.pbxproj

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,9 @@
315315
5F79042F28B5C93F003144CD /* NSMutableDictionary+Branch.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F2210352894A33E00C5B190 /* NSMutableDictionary+Branch.m */; };
316316
5F79043028B5C93F003144CD /* NSString+Branch.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F22102A2894A33E00C5B190 /* NSString+Branch.m */; };
317317
5F79043128B5C93F003144CD /* UIViewController+Branch.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F2210412894A33E00C5B190 /* UIViewController+Branch.m */; };
318+
5FC446652ACCB97000FF1C87 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 5FC446642ACCB96000FF1C87 /* PrivacyInfo.xcprivacy */; };
319+
5FC446662ACCB97100FF1C87 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 5FC446642ACCB96000FF1C87 /* PrivacyInfo.xcprivacy */; };
320+
5FC446672ACCB97200FF1C87 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 5FC446642ACCB96000FF1C87 /* PrivacyInfo.xcprivacy */; };
318321
5FF2AFE028E7C22400393216 /* BranchSDK.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FF2AFDF28E7C22100393216 /* BranchSDK.h */; settings = {ATTRIBUTES = (Public, ); }; };
319322
5FF2AFE128E7C22400393216 /* BranchSDK.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FF2AFDF28E7C22100393216 /* BranchSDK.h */; settings = {ATTRIBUTES = (Public, ); }; };
320323
5FF9DDFB28EE78A700D62DE1 /* BNCAppGroupsData.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F2210A32894A34000C5B190 /* BNCAppGroupsData.m */; };
@@ -479,9 +482,9 @@
479482
E7653F052A9E737700C7C040 /* BNCServerAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = E7653F042A9E737700C7C040 /* BNCServerAPI.m */; };
480483
E7653F062A9E737700C7C040 /* BNCServerAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = E7653F042A9E737700C7C040 /* BNCServerAPI.m */; };
481484
E7653F072A9E737700C7C040 /* BNCServerAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = E7653F042A9E737700C7C040 /* BNCServerAPI.m */; };
482-
E7653F092A9E73AA00C7C040 /* BNCServerAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = E7653F082A9E73AA00C7C040 /* BNCServerAPI.h */; settings = {ATTRIBUTES = (Public, ); }; };
483-
E7653F0A2A9E73AA00C7C040 /* BNCServerAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = E7653F082A9E73AA00C7C040 /* BNCServerAPI.h */; settings = {ATTRIBUTES = (Public, ); }; };
484-
E7653F0B2A9E73AA00C7C040 /* BNCServerAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = E7653F082A9E73AA00C7C040 /* BNCServerAPI.h */; settings = {ATTRIBUTES = (Public, ); }; };
485+
E7653F092A9E73AA00C7C040 /* BNCServerAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = E7653F082A9E73AA00C7C040 /* BNCServerAPI.h */; };
486+
E7653F0A2A9E73AA00C7C040 /* BNCServerAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = E7653F082A9E73AA00C7C040 /* BNCServerAPI.h */; };
487+
E7653F0B2A9E73AA00C7C040 /* BNCServerAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = E7653F082A9E73AA00C7C040 /* BNCServerAPI.h */; };
485488
/* End PBXBuildFile section */
486489

487490
/* Begin PBXContainerItemProxy section */
@@ -677,6 +680,7 @@
677680
5F73EC0128EDEAC200608601 /* build_static_xcframework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = build_static_xcframework.sh; sourceTree = "<group>"; };
678681
5F73EC0228EDEAC200608601 /* build_xcframework_noidfa.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = build_xcframework_noidfa.sh; sourceTree = "<group>"; };
679682
5F79038C28B5765D003144CD /* BranchSDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = BranchSDK.framework; sourceTree = BUILT_PRODUCTS_DIR; };
683+
5FC446642ACCB96000FF1C87 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
680684
5FF2AFDC28E7BF8A00393216 /* build_xcframework.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = build_xcframework.sh; sourceTree = "<group>"; };
681685
5FF2AFDE28E7C22100393216 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = "<group>"; };
682686
5FF2AFDF28E7C22100393216 /* BranchSDK.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BranchSDK.h; sourceTree = "<group>"; };
@@ -969,6 +973,7 @@
969973
children = (
970974
5FF2AFDF28E7C22100393216 /* BranchSDK.h */,
971975
5FF2AFDE28E7C22100393216 /* module.modulemap */,
976+
5FC446642ACCB96000FF1C87 /* PrivacyInfo.xcprivacy */,
972977
);
973978
path = Framework;
974979
sourceTree = "<group>";
@@ -1401,6 +1406,7 @@
14011406
isa = PBXResourcesBuildPhase;
14021407
buildActionMask = 2147483647;
14031408
files = (
1409+
5FC446652ACCB97000FF1C87 /* PrivacyInfo.xcprivacy in Resources */,
14041410
);
14051411
runOnlyForDeploymentPostprocessing = 0;
14061412
};
@@ -1432,13 +1438,15 @@
14321438
isa = PBXResourcesBuildPhase;
14331439
buildActionMask = 2147483647;
14341440
files = (
1441+
5FC446662ACCB97100FF1C87 /* PrivacyInfo.xcprivacy in Resources */,
14351442
);
14361443
runOnlyForDeploymentPostprocessing = 0;
14371444
};
14381445
5F79038A28B5765D003144CD /* Resources */ = {
14391446
isa = PBXResourcesBuildPhase;
14401447
buildActionMask = 2147483647;
14411448
files = (
1449+
5FC446672ACCB97200FF1C87 /* PrivacyInfo.xcprivacy in Resources */,
14421450
);
14431451
runOnlyForDeploymentPostprocessing = 0;
14441452
};
@@ -1945,7 +1953,7 @@
19451953
"@executable_path/Frameworks",
19461954
"@loader_path/Frameworks",
19471955
);
1948-
MARKETING_VERSION = 2.2.1;
1956+
MARKETING_VERSION = 3.0.0;
19491957
PRODUCT_BUNDLE_IDENTIFIER = io.branch.BranchSDK;
19501958
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
19511959
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -1976,7 +1984,7 @@
19761984
"@executable_path/Frameworks",
19771985
"@loader_path/Frameworks",
19781986
);
1979-
MARKETING_VERSION = 2.2.1;
1987+
MARKETING_VERSION = 3.0.0;
19801988
PRODUCT_BUNDLE_IDENTIFIER = io.branch.BranchSDK;
19811989
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
19821990
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -2178,7 +2186,7 @@
21782186
"@loader_path/Frameworks",
21792187
);
21802188
MACH_O_TYPE = staticlib;
2181-
MARKETING_VERSION = 2.2.1;
2189+
MARKETING_VERSION = 3.0.0;
21822190
PRODUCT_BUNDLE_IDENTIFIER = io.branch.BranchSDK;
21832191
PRODUCT_MODULE_NAME = BranchSDK;
21842192
PRODUCT_NAME = BranchSDK;
@@ -2213,7 +2221,7 @@
22132221
"@loader_path/Frameworks",
22142222
);
22152223
MACH_O_TYPE = staticlib;
2216-
MARKETING_VERSION = 2.2.1;
2224+
MARKETING_VERSION = 3.0.0;
22172225
PRODUCT_BUNDLE_IDENTIFIER = io.branch.BranchSDK;
22182226
PRODUCT_MODULE_NAME = BranchSDK;
22192227
PRODUCT_NAME = BranchSDK;
@@ -2246,7 +2254,7 @@
22462254
"@executable_path/Frameworks",
22472255
"@loader_path/Frameworks",
22482256
);
2249-
MARKETING_VERSION = 2.2.1;
2257+
MARKETING_VERSION = 3.0.0;
22502258
PRODUCT_BUNDLE_IDENTIFIER = io.branch.BranchSDK;
22512259
PRODUCT_NAME = BranchSDK;
22522260
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -2277,7 +2285,7 @@
22772285
"@executable_path/Frameworks",
22782286
"@loader_path/Frameworks",
22792287
);
2280-
MARKETING_VERSION = 2.2.1;
2288+
MARKETING_VERSION = 3.0.0;
22812289
PRODUCT_BUNDLE_IDENTIFIER = io.branch.BranchSDK;
22822290
PRODUCT_NAME = BranchSDK;
22832291
PROVISIONING_PROFILE_SPECIFIER = "";

BranchSDK/BNCConfig.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
#include "BNCConfig.h"
1010

11-
NSString * const BNC_SDK_VERSION = @"2.2.1";
11+
NSString * const BNC_SDK_VERSION = @"3.0.0";
1212
NSString * const BNC_LINK_URL = @"https://bnc.lt";
1313
NSString * const BNC_CDN_URL = @"https://cdn.branch.io";
1414

BranchSDK/PrivacyInfo.xcprivacy

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
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>NSPrivacyTracking</key>
6+
<true/>
7+
<key>NSPrivacyTrackingDomains</key>
8+
<array>
9+
<string>https://api-safetrack.branch.io</string>
10+
</array>
11+
<key>NSPrivacyCollectedDataTypes</key>
12+
<array>
13+
<dict>
14+
<key>NSPrivacyCollectedDataType</key>
15+
<string>NSPrivacyCollectedDataTypeDeviceID</string>
16+
<key>NSPrivacyCollectedDataTypeLinked</key>
17+
<true/>
18+
<key>NSPrivacyCollectedDataTypeTracking</key>
19+
<true/>
20+
<key>NSPrivacyCollectedDataTypePurposes</key>
21+
<array>
22+
<string>NSPrivacyCollectedDataTypePurposeThirdPartyAdvertising</string>
23+
<string>NSPrivacyCollectedDataTypePurposeDeveloperAdvertising</string>
24+
<string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
25+
</array>
26+
</dict>
27+
<dict>
28+
<key>NSPrivacyCollectedDataType</key>
29+
<string>NSPrivacyCollectedDataTypePerformanceData</string>
30+
<key>NSPrivacyCollectedDataTypeLinked</key>
31+
<false/>
32+
<key>NSPrivacyCollectedDataTypeTracking</key>
33+
<false/>
34+
<key>NSPrivacyCollectedDataTypePurposes</key>
35+
<array>
36+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
37+
</array>
38+
</dict>
39+
<dict>
40+
<key>NSPrivacyCollectedDataType</key>
41+
<string>NSPrivacyCollectedDataTypeOtherDataTypes</string>
42+
<key>NSPrivacyCollectedDataTypeLinked</key>
43+
<false/>
44+
<key>NSPrivacyCollectedDataTypeTracking</key>
45+
<false/>
46+
<key>NSPrivacyCollectedDataTypePurposes</key>
47+
<array>
48+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
49+
</array>
50+
</dict>
51+
</array>
52+
<key>NSPrivacyAccessedAPITypes</key>
53+
<array>
54+
<dict>
55+
<key>NSPrivacyAccessedAPIType</key>
56+
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
57+
<key>NSPrivacyAccessedAPITypeReasons</key>
58+
<array>
59+
<string>C617.1</string>
60+
</array>
61+
</dict>
62+
<dict>
63+
<key>NSPrivacyAccessedAPIType</key>
64+
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
65+
<key>NSPrivacyAccessedAPITypeReasons</key>
66+
<array>
67+
<string>CA92.1</string>
68+
</array>
69+
</dict>
70+
</array>
71+
</dict>
72+
</plist>

Framework/PrivacyInfo.xcprivacy

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
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>NSPrivacyTracking</key>
6+
<true/>
7+
<key>NSPrivacyTrackingDomains</key>
8+
<array>
9+
<string>https://api-safetrack.branch.io</string>
10+
</array>
11+
<key>NSPrivacyCollectedDataTypes</key>
12+
<array>
13+
<dict>
14+
<key>NSPrivacyCollectedDataType</key>
15+
<string>NSPrivacyCollectedDataTypeDeviceID</string>
16+
<key>NSPrivacyCollectedDataTypeLinked</key>
17+
<true/>
18+
<key>NSPrivacyCollectedDataTypeTracking</key>
19+
<true/>
20+
<key>NSPrivacyCollectedDataTypePurposes</key>
21+
<array>
22+
<string>NSPrivacyCollectedDataTypePurposeThirdPartyAdvertising</string>
23+
<string>NSPrivacyCollectedDataTypePurposeDeveloperAdvertising</string>
24+
<string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
25+
</array>
26+
</dict>
27+
<dict>
28+
<key>NSPrivacyCollectedDataType</key>
29+
<string>NSPrivacyCollectedDataTypePerformanceData</string>
30+
<key>NSPrivacyCollectedDataTypeLinked</key>
31+
<false/>
32+
<key>NSPrivacyCollectedDataTypeTracking</key>
33+
<false/>
34+
<key>NSPrivacyCollectedDataTypePurposes</key>
35+
<array>
36+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
37+
</array>
38+
</dict>
39+
<dict>
40+
<key>NSPrivacyCollectedDataType</key>
41+
<string>NSPrivacyCollectedDataTypeOtherDataTypes</string>
42+
<key>NSPrivacyCollectedDataTypeLinked</key>
43+
<false/>
44+
<key>NSPrivacyCollectedDataTypeTracking</key>
45+
<false/>
46+
<key>NSPrivacyCollectedDataTypePurposes</key>
47+
<array>
48+
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
49+
</array>
50+
</dict>
51+
</array>
52+
<key>NSPrivacyAccessedAPITypes</key>
53+
<array>
54+
<dict>
55+
<key>NSPrivacyAccessedAPIType</key>
56+
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
57+
<key>NSPrivacyAccessedAPITypeReasons</key>
58+
<array>
59+
<string>C617.1</string>
60+
</array>
61+
</dict>
62+
<dict>
63+
<key>NSPrivacyAccessedAPIType</key>
64+
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
65+
<key>NSPrivacyAccessedAPITypeReasons</key>
66+
<array>
67+
<string>CA92.1</string>
68+
</array>
69+
</dict>
70+
</array>
71+
</dict>
72+
</plist>

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
source 'https://rubygems.org'
22

33
gem 'cocoapods', '~> 1.9'
4+
gem 'activesupport', '~> 7.0', '<= 7.0.8'
45
gem 'fastlane', '~> 2.69'
56
gem 'pattern_patch', '~> 0.5'
67
gem 'slather'

0 commit comments

Comments
 (0)