Skip to content

Commit b9a11d5

Browse files
authored
Merge pull request #1304 from BranchMetrics/SDK-2124-privacy-manifest
SDK-2124 privacy manifest
2 parents b0525ec + 6be2382 commit b9a11d5

File tree

6 files changed

+170
-12
lines changed

6 files changed

+170
-12
lines changed

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>

Package.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version:5.2
1+
// swift-tools-version:5.3
22
// The swift-tools-version declares the minimum version of Swift required to build this package.
33
import PackageDescription
44

@@ -13,10 +13,15 @@ let package = Package(
1313
name: "BranchSDK",
1414
targets: ["BranchSDK"]),
1515
],
16+
dependencies: [
17+
],
1618
targets: [
1719
.target(
1820
name: "BranchSDK",
1921
path: "BranchSDK",
22+
resources: [
23+
.copy("PrivacyInfo.xcprivacy"),
24+
],
2025
publicHeadersPath: "",
2126
linkerSettings: [
2227
.linkedFramework("CoreServices"),

0 commit comments

Comments
 (0)