Skip to content

Commit

Permalink
feat: Add privacy manifest files (#924)
Browse files Browse the repository at this point in the history
  • Loading branch information
congminh1254 authored Apr 5, 2024
1 parent eb26f47 commit cbef168
Show file tree
Hide file tree
Showing 10 changed files with 57 additions and 11 deletions.
4 changes: 2 additions & 2 deletions BoxSDK.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ Pod::Spec.new do |spec|
spec.social_media_url = "https://twitter.com/box"
spec.ios.deployment_target = "11.0"
spec.source = { :git => "https://github.com/box/box-ios-sdk.git", :tag => "v"+spec.version.to_s }
spec.swift_versions = ["5.0", "5.1", "5.2", "5.3", "5.4", "5.5"]
spec.swift_versions = ["5"]
spec.requires_arc = true

spec.default_subspec = "Core"
spec.subspec "Core" do |ss|
ss.source_files = "Sources/**/*.swift" , "Sources/**/Environment.plist"
# spec.exclude_files = "Sources/Exclude"
ss.resource_bundle = {"BoxSDK" => "Sources/PrivacyInfo.xcprivacy"}
ss.framework = "Foundation"
end
end
4 changes: 4 additions & 0 deletions BoxSDK.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
05610A9927107079009F92CC /* SignRequestCreateParameters.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05610A9827107079009F92CC /* SignRequestCreateParameters.swift */; };
05610A9B271099A7009F92CC /* SignRequestPrefillTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05610A9A271099A7009F92CC /* SignRequestPrefillTag.swift */; };
05610A9D27109BFB009F92CC /* SignRequestSignerInput.swift in Sources */ = {isa = PBXBuildFile; fileRef = 05610A9C27109BFB009F92CC /* SignRequestSignerInput.swift */; };
056290D12BC03AB0008C2BEE /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 056290D02BC03AAF008C2BEE /* PrivacyInfo.xcprivacy */; };
056B628B2860C16F008E9418 /* SharedLinkDataSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 056B628A2860C16F008E9418 /* SharedLinkDataSpecs.swift */; };
0571FC6328F7FA07004846E4 /* WebhooksModuleIntegrationSpecs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0571FC6228F7FA07004846E4 /* WebhooksModuleIntegrationSpecs.swift */; };
0571FC6728F9491D004846E4 /* QuickSpec+Webhooks.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0571FC6628F9491D004846E4 /* QuickSpec+Webhooks.swift */; };
Expand Down Expand Up @@ -684,6 +685,7 @@
05610A9827107079009F92CC /* SignRequestCreateParameters.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignRequestCreateParameters.swift; sourceTree = "<group>"; };
05610A9A271099A7009F92CC /* SignRequestPrefillTag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignRequestPrefillTag.swift; sourceTree = "<group>"; };
05610A9C27109BFB009F92CC /* SignRequestSignerInput.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignRequestSignerInput.swift; sourceTree = "<group>"; };
056290D02BC03AAF008C2BEE /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
056B628A2860C16F008E9418 /* SharedLinkDataSpecs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharedLinkDataSpecs.swift; sourceTree = "<group>"; };
056FE12726EF6F6800098F00 /* Quick.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Quick.xcframework; path = Carthage/Build/Quick.xcframework; sourceTree = "<group>"; };
056FE12826EF6F6800098F00 /* OHHTTPStubs.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = OHHTTPStubs.xcframework; path = Carthage/Build/OHHTTPStubs.xcframework; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2080,6 +2082,7 @@
3549BB541DA38A4000C63030 /* Supporting Files */ = {
isa = PBXGroup;
children = (
056290D02BC03AAF008C2BEE /* PrivacyInfo.xcprivacy */,
3549BB181DA3890B00C63030 /* BoxSDK.h */,
3549BB171DA3890B00C63030 /* Info.plist */,
3549BB551DA38A5E00C63030 /* Info-tvOS.plist */,
Expand Down Expand Up @@ -2611,6 +2614,7 @@
B40558B025AD2ABF0068784E /* ZipDownload.json in Resources */,
B4882E7325EEFBC600EB57BA /* FolderLocks.json in Resources */,
8093D29822FA398500DB628E /* GetWebLink.json in Resources */,
056290D12BC03AB0008C2BEE /* PrivacyInfo.xcprivacy in Resources */,
B47486CA26013A30005F4475 /* CreateMetadataTemplate2.json in Resources */,
B4882E7025EEE12F00EB57BA /* FolderLock.json in Resources */,
8093D29A22FA399D00DB628E /* UpdateWebLink.json in Resources */,
Expand Down
8 changes: 5 additions & 3 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// swift-tools-version:5.0
// swift-tools-version:5.3
//
// BoxSDK.swift
// BoxSDK
Expand All @@ -25,12 +25,14 @@ let package = Package(
.target(
name: "BoxSDK",
dependencies: [],
path: "Sources"
path: "Sources",
resources: [.copy("PrivacyInfo.xcprivacy")]
),
.testTarget(
name: "BoxSDKTests",
dependencies: ["BoxSDK"],
path: "Tests"
)
]
],
swiftLanguageVersions: [.v5]
)
2 changes: 1 addition & 1 deletion Sources/BoxSDK+Async.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#endif
import Foundation

@available(iOS 13.0, *)
@available(iOS 13.0, macOS 10.15, *)
public extension BoxSDK {

// MARK: - JWT Client
Expand Down
2 changes: 1 addition & 1 deletion Sources/Core/AsyncHelper.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import Foundation

/// Provides method for converting Callback based API into an async API
@available(iOS 13.0, *)
@available(iOS 13.0, macOS 10.15, *)
public enum AsyncHelper {

/// Converting a Callback based API into an async API.
Expand Down
2 changes: 1 addition & 1 deletion Sources/Core/BoxJSONDecoder.swift
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ enum BoxJSONDecoder {
}

#if compiler(>=5.9)
if #available(iOS 17.0, *) {
if #available(iOS 17.0, macOS 14.0, *) {
guard let url = URL(string: value, encodingInvalidCharacters: false) else {
throw BoxCodingError(message: .invalidValueFormat(key: key))
}
Expand Down
2 changes: 1 addition & 1 deletion Sources/Core/MimeTypeProvider.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ enum MimeTypeProvider {
return defaultMimeType
}

if #available(iOS 14, *) {
if #available(iOS 14, macOS 11.0, *) {
return UTType(filenameExtension: pathExtension)?.preferredMIMEType ?? defaultMimeType
}
else {
Expand Down
2 changes: 1 addition & 1 deletion Sources/Modules/FoldersModule+Async.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import Foundation

@available(iOS 13.0, *)
@available(iOS 13.0, macOS 10.15, *)
public extension FoldersModule {

/// Get information about a folder.
Expand Down
2 changes: 1 addition & 1 deletion Sources/Network/PagingIterator+Async.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import Foundation

/// Provides paged iterator access for a collection of BoxModel's
@available(iOS 13.0, *)
@available(iOS 13.0, macOS 10.15, *)
public extension PagingIterator {

/// Gets next page of elements from the iterator
Expand Down
40 changes: 40 additions & 0 deletions Sources/PrivacyInfo.xcprivacy
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyTracking</key>
<false/>
<key>NSPrivacyTrackingDomains</key>
<array/>
<key>NSPrivacyCollectedDataTypes</key>
<array>
<dict>
<key>NSPrivacyCollectedDataType</key>
<string>NSPrivacyCollectedDataTypeUserID</string>
<key>NSPrivacyCollectedDataTypeLinked</key>
<true/>
<key>NSPrivacyCollectedDataTypeTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypePurposes</key>
<array>
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
<string>NSPrivacyCollectedDataTypePurposeAnalytics</string>
</array>
</dict>
<dict>
<key>NSPrivacyCollectedDataType</key>
<string>NSPrivacyCollectedDataTypeOtherDiagnosticData</string>
<key>NSPrivacyCollectedDataTypeLinked</key>
<true/>
<key>NSPrivacyCollectedDataTypeTracking</key>
<false/>
<key>NSPrivacyCollectedDataTypePurposes</key>
<array>
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
</array>
</dict>
</array>
<key>NSPrivacyAccessedAPITypes</key>
<array/>
</dict>
</plist>

0 comments on commit cbef168

Please sign in to comment.