# update_privacy_info.py **Repository Path**: xuvw/update_privacy_info.py ## Basic Information - **Project Name**: update_privacy_info.py - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-19 - **Last Updated**: 2024-06-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

 

Project API and Dependency Scanner

English Version

Description

This script scans a specified project directory for API usage and dependencies, updates or creates a PrivacyInfo.xcprivacy file, and generates a text report of the findings.

If you are using a non-UTF-8 environment, please download update_privacy_info_without_UTF8.py. Additionally, since the chardet Python package is used for encoding detection, you need to install it before use by following the instructions at: https://www.geeksforgeeks.org/how-to-install-python-chardet-on-macos/

Apple Resource

Usage

  1. Prerequisites: Ensure Python 3 is installed on your system.
  2. Running the script:
  3. Follow the prompts to choose whether to search for dependencies and whether to exclude any directories.

 

Input Prompts

  1. Do you want to search for API usage? (y/n): This search is aimed at finding cases where the NSPrivacyAccessedAPITypes interface defined by Apple is used.
    1. Do you want to exclude certain directories? (y/n): If 'y' is selected, you will be prompted:
      1. Please enter the directories to exclude (separate with spaces): List the directories here that do not need to be scanned, for example, the Pods directory may also contain the use of related APIs.
  2. Do you want to search if the package is in the list? (y/n): The purpose of this search is to verify whether the third-party packages listed by Apple that require a PrivateInfo document are used.
    1. Do you want to exclude certain directories? (y/n): If 'y' is selected, you will be prompted:
      1. Please enter the directories to exclude (separate with spaces): Mark the directories here that need to be excluded.
    2. Do you want to download the privacy_info file of the package? (y/n): Decide whether to download the PrivateInfo document of third-party packages for privacy information review.

 

Under the project:


 

 

中文版本

描述

此腳本掃描指定的項目目錄,是否有使用Apple 列出需要註記API和列出套件,更新或創建PrivacyInfo.xcprivacy文件,並生成搜索結果的文本報告。

如果你使用非 UTF-8 環境請下載update_privacy_info_without_UTF8.py,並且由於有用到chardet 這個 python 套件進行搜索編碼,
需要在使用前先加入 :https://www.geeksforgeeks.org/how-to-install-python-chardet-on-macos/

Apple Resource

使用方法

  1. **前提條件:**確保系統上安裝了Python 3。
  2. 運行腳本:
  3. 按提示操作選擇是否搜索套件以及是否排除任何目錄。

輸入提示

  1. 否要搜索API使用情況?(y/n):此項搜索旨在查找使用蘋果定義的NSPrivacyAccessedAPITypes接口的情況。
    1.  您是否要排除某些目錄?(y/n):若選擇'y',會提示:
      1. 請輸入要排除的目錄(用空格分隔):請在此處列出不需掃描的目錄,例如,Pods目錄下可能也包含了相關API的使用。
  2. 是否要搜索套件是否在列表中?(y/n):此項搜索目的是核查蘋果所列需提供PrivateInfo文件的第三方套件是否被使用。
    1. 您是否要排除某些目錄?(y/n):若選擇'y',將提示:
      1. 請輸入要排除的目錄(用空格分隔):在此處標明需排除的目錄。
    2. 是否要下載套件的privacy_info文件?(y/n):決定是否下載第三方套件的PrivateInfo文件,以便進行隱私信息審查。

產出資訊

 

位於專案底下會看到


套件Privacyinfo 來源

如果提供連結或 privateInfo 有不符合,再請告知修正

If the provided links or private information do not comply, please let us know for corrections.

套件名稱 來源
Abseil
https://github.com/abseil/abseil-cpp/blob/a41e0168bf2e4f071adc145e0ea8ccec767cd98f/PrivacyInfo.xcprivacy#L4
AFNetworking
No,Github:https://github.com/AFNetworking/AFNetworking
Alamofire
https://github.com/Alamofire/Alamofire/blob/master/Source/PrivacyInfo.xcprivacy
AppAuth
https://github.com/openid/AppAuth-iOS/blob/master/Sources/AppAuth/Resources/PrivacyInfo.xcprivacy
BoringSSL
No,Github:https://github.com/google/boringssl
openssl_grpc
No,Github:https://github.com/openssl/openssl/discussions/23262
Capacitor
https://github.com/ionic-team/capacitor/blob/main/ios/Capacitor/Capacitor/PrivacyInfo.xcprivacy
Charts
https://github.com/danielgindi/Charts/blob/master/Source/Charts/PrivacyInfo.xcprivacy
connectivity_plus
https://github.com/fluttercommunity/plus_plugins/blob/main/packages/connectivity_plus/connectivity_plus/darwin/PrivacyInfo.xcprivacy
Cordova
https://github.com/apache/cordova-ios/blob/master/CordovaLib/PrivacyInfo.xcprivacy
device_info_plus
https://github.com/fluttercommunity/plus_plugins/blob/9e187803d395bf1d8cbe74a0494ef28989451dde/packages/device_info_plus/device_info_plus/ios/PrivacyInfo.xcprivacy
DKImagePickerController
https://github.com/zhangao0086/DKImagePickerController/blob/develop/Sources/DKImagePickerController/Resource/Resources/PrivacyInfo.xcprivacy
DKPhotoGallery
No,Github:https://github.com/zhangao0086/DKPhotoGallery
FBAEMKit
https://github.com/facebook/facebook-ios-sdk/blob/98c573cc4e997fdc7c58113f84df56eed3a2dfd3/FBAEMKit/FBAEMKit/PrivacyInfo.xcprivacy#L4
FBLPromises
https://github.com/google/promises/blob/540318ecedd63d883069ae7f1ed811a2df00b6ac/Sources/FBLPromises/Resources/PrivacyInfo.xcprivacy#L4
FBSDKCoreKit
https://github.com/facebook/facebook-ios-sdk/blob/98c573cc4e997fdc7c58113f84df56eed3a2dfd3/FBSDKCoreKit/FBSDKCoreKit/PrivacyInfo.xcprivacy#L4
FBSDKCoreKit_Basics
https://github.com/facebook/facebook-ios-sdk/blob/main/FBSDKCoreKit_Basics/FBSDKCoreKit_Basics/PrivacyInfo.xcprivacy
FBSDKLoginKit
https://github.com/facebook/facebook-ios-sdk/blob/98c573cc4e997fdc7c58113f84df56eed3a2dfd3/FBSDKLoginKit/FBSDKLoginKit/PrivacyInfo.xcprivacy#L4
FBSDKShareKit
https://github.com/facebook/facebook-ios-sdk/blob/98c573cc4e997fdc7c58113f84df56eed3a2dfd3/FBSDKShareKit/FBSDKShareKit/PrivacyInfo.xcprivacy#L4
file_picker
No,Github:https://github.com/miguelpruivo/flutter_file_picker
FirebaseABTesting
https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseABTesting/Sources/Resources/PrivacyInfo.xcprivacy
FirebaseAuth
https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseAuth/Sources/Resources/PrivacyInfo.xcprivacy
FirebaseCore
https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseCore/Sources/Resources/PrivacyInfo.xcprivacy
FirebaseCoreDiagnostics
No,Github:
FirebaseCoreExtension
https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseCore/Extension/Resources/PrivacyInfo.xcprivacy
FirebaseCoreInternal
https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseCore/Internal/Sources/Resources/PrivacyInfo.xcprivacy
FirebaseCrashlytics
https://github.com/firebase/firebase-ios-sdk/blob/main/Crashlytics/Resources/PrivacyInfo.xcprivacy
FirebaseDynamicLinks
https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseDynamicLinks/Sources/Resources/PrivacyInfo.xcprivacy
FirebaseFirestore
https://github.com/firebase/firebase-ios-sdk/blob/main/Firestore/Swift/Source/Resources/PrivacyInfo.xcprivacy
FirebaseInstallations
https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseInstallations/Source/Library/Resources/PrivacyInfo.xcprivacy
FirebaseMessaging
https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseMessaging/Sources/Resources/PrivacyInfo.xcprivacy
FirebaseRemoteConfig
https://github.com/firebase/firebase-ios-sdk/blob/main/FirebaseRemoteConfig/Swift/Resources/PrivacyInfo.xcprivacy
Flutter
https://github.com/flutter/engine/blob/a565cea256c7bafeaa0c26c2f1b0d66a52692d02/shell/platform/darwin/ios/framework/PrivacyInfo.xcprivacy#L9-L12
flutter_inappwebview
https://github.com/flutter/packages/blob/main/packages/webview_flutter/webview_flutter_wkwebview/ios/Resources/PrivacyInfo.xcprivacy
flutter_local_notifications
https://github.com/MaikuB/flutter_local_notifications/blob/master/flutter_local_notifications/ios/Resources/PrivacyInfo.xcprivacy
fluttertoast
No,GitHub:https://github.com/ponnamkarthik/FlutterToast
FMDB
https://github.com/ccgus/fmdb/blob/master/privacy/PrivacyInfo.xcprivacy
geolocator_apple
https://github.com/Baseflow/flutter-geolocator/blob/main/geolocator_apple/ios/Resources/PrivacyInfo.xcprivacy
GoogleDataTransport
https://github.com/google/GoogleDataTransport/blob/main/GoogleDataTransport/Resources/PrivacyInfo.xcprivacy
GoogleSignIn
https://github.com/google/GoogleSignIn-iOS/blob/main/GoogleSignIn/Sources/Resources/PrivacyInfo.xcprivacy
GoogleToolboxForMac
https://github.com/google/google-toolbox-for-mac/blob/main/Resources/Base/PrivacyInfo.xcprivacy
GoogleUtilities
https://github.com/google/GoogleUtilities/blob/main/GoogleUtilities/Privacy/Resources/PrivacyInfo.xcprivacy
grpcpp
https://github.com/grpc/grpc/blob/master/src/objective-c/PrivacyInfo.xcprivacy
GTMAppAuth
https://github.com/google/GTMAppAuth/blob/master/GTMAppAuth/Sources/Resources/PrivacyInfo.xcprivacy
GTMSessionFetcher
"Core": "https://github.com/google/gtm-session-fetcher/blob/main/Sources/Core/Resources/PrivacyInfo.xcprivacy",
"Full": "https://github.com/google/gtm-session-fetcher/blob/main/Sources/Full/Resources/PrivacyInfo.xcprivacy",
"LoginView": "https://github.com/google/gtm-session-fetcher/blob/main/Sources/LogView/Resources/PrivacyInfo.xcprivacy"
hermes
No,GitHub:https://github.com/facebook/hermes
image_picker_ios
https://github.com/flutter/packages/blob/main/packages/image_picker/image_picker_ios/ios/Resources/PrivacyInfo.xcprivacy
IQKeyboardManager
https://github.com/hackiftekhar/IQKeyboardManager/blob/master/IQKeyboardManager/PrivacyInfo.xcprivacy
IQKeyboardManagerSwift
https://github.com/hackiftekhar/IQKeyboardManager/blob/master/IQKeyboardManagerSwift/PrivacyInfo.xcprivacy
Kingfisher
https://github.com/onevcat/Kingfisher/blob/master/Sources/PrivacyInfo.xcprivacy
leveldb
No,GitHub:https://github.com/google/leveldb
Lottie
https://github.com/airbnb/lottie-ios/blob/master/Sources/PrivacyInfo.xcprivacy
MBProgressHUD
https://github.com/jdg/MBProgressHUD/blob/master/PrivacyInfo.xcprivacy
nanopb
https://github.com/nanopb/nanopb/blob/master/spm_resources/PrivacyInfo.xcprivacy
OneSignal
https://github.com/OneSignal/OneSignal-iOS-SDK/blob/5ff232ea9392f63e87306752025a45eceb18fa5b/iOS_SDK/OneSignalSDK/Source/PrivacyInfo.xcprivacy#L4
OneSignalCore
No,GitHub: https://github.com/OneSignal/OneSignal-iOS-SDK/tree/5ff232ea9392f63e87306752025a45eceb18fa5b/iOS_SDK/OneSignalSDK/OneSignalCore
OneSignalExtension
https://github.com/OneSignal/OneSignal-iOS-SDK/blob/5ff232ea9392f63e87306752025a45eceb18fa5b/iOS_SDK/OneSignalSDK/OneSignalExtension/PrivacyInfo.xcprivacy#L4
OneSignalOutcomes
No,GitHub:https://github.com/OneSignal/OneSignal-iOS-SDK/tree/5ff232ea9392f63e87306752025a45eceb18fa5b/iOS_SDK/OneSignalSDK/OneSignalOutcomes
OpenSSL
No,GitHub:https://github.com/openssl/openssl
OrderedSet
No,GitHub:https://github.com/Weebly/OrderedSet
package_info
No,GitHub:https://github.com/flutter/plugins
package_info_plus
https://github.com/fluttercommunity/plus_plugins/blob/main/packages/package_info_plus/package_info_plus/ios/PrivacyInfo.xcprivacy
path_provider
https://github.com/flutter/packages/blob/main/packages/path_provider/path_provider_foundation/darwin/Resources/PrivacyInfo.xcprivacy
path_provider_ios
https://github.com/flutter/packages/blob/main/packages/path_provider/path_provider_foundation/darwin/Resources/PrivacyInfo.xcprivacy
Promises
https://github.com/google/promises/blob/master/Sources/Promises/Resources/PrivacyInfo.xcprivacy
Protobuf
https://github.com/protocolbuffers/protobuf/blob/main/PrivacyInfo.xcprivacy
Reachability
https://github.com/ashleymills/Reachability.swift/blob/master/Sources/PrivacyInfo.xcprivacy
RealmSwift
https://github.com/realm/realm-swift/blob/master/RealmSwift/PrivacyInfo.xcprivacy
RxCocoa
No,GitHub:https://github.com/ReactiveX/RxSwift/issues/2567
RxRelay
No,GitHub:https://github.com/ReactiveX/RxSwift/issues/2567
RxSwift
No,GitHub:https://github.com/ReactiveX/RxSwift/issues/2567
SDWebImage
https://github.com/SDWebImage/SDWebImage/blob/master/WebImage/PrivacyInfo.xcprivacy
share_plus
https://github.com/fluttercommunity/plus_plugins/blob/main/packages/share_plus/share_plus/ios/PrivacyInfo.xcprivacy
shared_preferences_ios
https://github.com/flutter/packages/blob/main/packages/shared_preferences/shared_preferences_foundation/darwin/Resources/PrivacyInfo.xcprivacy
SnapKit
https://github.com/SnapKit/SnapKit/blob/develop/Sources/PrivacyInfo.xcprivacy
sqflite
https://github.com/tekartik/sqflite/blob/master/sqflite/darwin/Resources/PrivacyInfo.xcprivacy
Starscream
https://github.com/daltoniam/Starscream/blob/master/Sources/PrivacyInfo.xcprivacy
SVProgressHUD
https://github.com/SVProgressHUD/SVProgressHUD/blob/master/SVProgressHUD/PrivacyInfo.xcprivacy
SwiftyGif
https://github.com/kirualex/SwiftyGif/blob/master/SwiftyGif/PrivacyInfo.xcprivacy
SwiftyJSON
https://github.com/Nathan-Molby/SwiftyJSON/blob/master/Source/SwiftyJSON/PrivacyInfo.xcprivacy
Toast
https://github.com/scalessec/Toast-Swift/blob/master/Toast/Resources/PrivacyInfo.xcprivacy
UnityFramework
No,GitHub:
url_launcher
https://github.com/flutter/packages/blob/main/packages/url_launcher/url_launcher_ios/ios/Resources/PrivacyInfo.xcprivacy
url_launcher_ios
https://github.com/flutter/packages/blob/main/packages/url_launcher/url_launcher_ios/ios/Resources/PrivacyInfo.xcprivacy
video_player_avfoundation
https://github.com/flutter/packages/blob/main/packages/video_player/video_player_avfoundation/darwin/Resources/PrivacyInfo.xcprivacy
wakelock
No,GitHub:https://github.com/creativecreatorormaybenot/wakelock
webview_flutter_wkwebview
https://github.com/flutter/packages/blob/main/packages/webview_flutter/webview_flutter_wkwebview/ios/Resources/PrivacyInfo.xcprivacy