Open mlch911 opened 5 months ago
Could you please provide the full command when executing the script?
Could you please provide the full command when executing the script?
bash privacy_manifest_analyser.sh ../heybox_ios3
Even if I use the full path, it still gets stuck.
I'm unable to reproduce the current issue, perhaps you could try debugging the script.
set -x
results=($(analyze_api_usage "$dir_path" "${excluded_dirs[@]}"))
set +x
I'm unable to reproduce the current issue, perhaps you could try debugging the script.
set -x results=($(analyze_api_usage "$dir_path" "${excluded_dirs[@]}")) set +x
I tried this and it felt like an endless loop that it couldn't stop.
Edited: Yes, it's a endless loop. It's always loop inside one local Pod folder.
Could you offer further details regarding this local Pod folder?
I'm unable to reproduce the current issue, perhaps you could try debugging the script.
set -x results=($(analyze_api_usage "$dir_path" "${excluded_dirs[@]}")) set +x
I tried this and it felt like an endless loop that it couldn't stop.
Edited: Yes, it's a endless loop. It's always loop inside one local Pod folder.
This seems to be an infinite loop possibly caused by symbolic links.
I've attempted to address it; feel free to give it a try.
I'm unable to reproduce the current issue, perhaps you could try debugging the script.
set -x results=($(analyze_api_usage "$dir_path" "${excluded_dirs[@]}")) set +x
I tried this and it felt like an endless loop that it couldn't stop. Edited: Yes, it's a endless loop. It's always loop inside one local Pod folder.
This seems to be an infinite loop possibly caused by symbolic links.
I've attempted to address it; feel free to give it a try.
I used the new script and it still gets stuck in the same place.
More information is needed before I can proceed. Could you provide the logs printed during debugging mode? Or perhaps you'd like to attempt fixing it yourself? Your contribution to the project is welcome!
@crasowas Thanks for taking the time to build this tool. I am experiencing the hanging issue.
Here is the code I'm running from my Flutter project directory
./privacy_manifest_analyser.sh -e ./build/ios/archive/Runner.xcarchive/Products/Applications/Runner.app/Frameworks . >log.txt
I've excluded the specific build directory as it's just a repeat of the package names in the ios directory
Here is the log.txt file `
==================== Analyzing Target Directory ====================
💡 Found privacy manifest file(s): 19 [0] ./ios/Pods/FirebaseDynamicLinks/FirebaseDynamicLinks/Sources/Resources/PrivacyInfo.xcprivacy [1] ./ios/Pods/FirebaseFirestoreInternal/Firestore/Source/Resources/PrivacyInfo.xcprivacy [2] ./ios/Pods/FirebaseCore/FirebaseCore/Sources/Resources/PrivacyInfo.xcprivacy [3] ./ios/Pods/PromisesObjC/Sources/FBLPromises/Resources/PrivacyInfo.xcprivacy [4] ./ios/Pods/GoogleDataTransport/GoogleDataTransport/Resources/PrivacyInfo.xcprivacy [5] ./ios/Pods/FirebaseAuth/FirebaseAuth/Sources/Resources/PrivacyInfo.xcprivacy [6] ./ios/Pods/gRPC-Core/src/objective-c/PrivacyInfo.xcprivacy [7] ./ios/Pods/FirebaseCoreExtension/FirebaseCore/Extension/Resources/PrivacyInfo.xcprivacy [8] ./ios/Pods/FirebaseFirestore/Firestore/Swift/Source/Resources/PrivacyInfo.xcprivacy [9] ./ios/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/Resources/PrivacyInfo.xcprivacy [10] ./ios/Pods/GTMSessionFetcher/Sources/Core/Resources/PrivacyInfo.xcprivacy [11] ./ios/Pods/FirebaseCoreInternal/FirebaseCore/Internal/Sources/Resources/PrivacyInfo.xcprivacy [12] ./ios/Pods/FirebaseMessaging/FirebaseMessaging/Sources/Resources/PrivacyInfo.xcprivacy [13] ./ios/Pods/BoringSSL-GRPC/src/PrivacyInfo.xcprivacy [14] ./ios/Pods/gRPC-C++/src/objective-c/PrivacyInfo.xcprivacy [15] ./ios/Pods/GoogleUtilities/GoogleUtilities/Privacy/Resources/PrivacyInfo.xcprivacy [16] ./ios/Pods/leveldb-library/Resources/PrivacyInfo.xcprivacy [17] ./ios/Pods/nanopb/spm_resources/PrivacyInfo.xcprivacy [18] ./ios/Pods/abseil/PrivacyInfo.xcprivacy `
I will help in any way I can - just let me know
@StevenSnary Please switch the analysis directory to the ios
directory within your Flutter project.
This will trim down unnecessary scans of directories and files, accelerating the analysis while enhancing accuracy.
I've moved the privacy_manifest_analyser.sh file to the ios directory and calling ./privacy_manifest_analyser.sh .
is working without hanging.
Thanks @crasowas
I've moved the privacy_manifest_analyser.sh file to the ios directory and calling
./privacy_manifest_analyser.sh .
is working without hanging.Thanks @crasowas
The Analysis is complete, took maybe 5-10mins to complete.
Based on the analysis I expect that my warnings from submitting to Apple is coming from the firebase_auth
and firebase_messaging
dependencies - does that make sense?
Here are the Analysis Results...
` ==================== Analysis completed! 💡: 19 ⚠️ : 51 🛠️ : 12 ✅: 16 🎯: 15 ====================
⚠️ 🛠️ https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api 🎯 https://developer.apple.com/support/third-party-SDK-requirements
🔔 If the directory you are analyzing is the app project directory, your app's privacy manifest may be affected by these analysis results: 4 [0] NSPrivacyAccessedAPICategoryFileTimestamp:.creationDate:./.symlinks/plugins/firebase_auth/ios/Classes/PigeonParser.m [1] NSPrivacyAccessedAPICategoryFileTimestamp:.creationDate:./.symlinks/plugins/firebase_auth/macos/Classes/PigeonParser.m [2] NSPrivacyAccessedAPICategoryUserDefaults:UserDefaults,NSUserDefaults:./.symlinks/plugins/firebase_messaging/ios/Classes/FLTFirebaseMessagingPlugin.m [3] NSPrivacyAccessedAPICategoryUserDefaults:UserDefaults,NSUserDefaults:./.symlinks/plugins/firebase_messaging/macos/Classes/FLTFirebaseMessagingPlugin.m `
@StevenSnary You're right, there may be better solutions in the future.
Non-dynamically linked libraries are fully copied into the executable file of the application bundle during compilation. Therefore, during the App Store review process, they are considered part of your app's code. This is why these analysis results could affect your app's privacy manifest.
Thanks again for taking the time to create this tool - with the results I was able to go to the referenced packages and see that they both have an outstanding issue to address the privacy manifest issue uncovered by your script.
Steve Snary
This message and any attachment are privileged, confidential and contain private information. The information contained herein is not to be forwarded or shared with others in any way without the express consent of the sender. If you are not the addressee named above any disclosure, reproduction, copying, distribution, or other dissemination or use of this communication is prohibited. If you have received this transmission in error, please notify the sender immediately and destroy this e-mail.
On Wed, Apr 17, 2024 at 11:12 PM crasowas @.***> wrote:
@StevenSnary https://github.com/StevenSnary You're right, there may be better solutions in the future.
Non-dynamically linked libraries are fully copied into the executable file of the application bundle during compilation. Therefore, during the App Store review process, they are considered part of your app's code. This is why these analysis results could affect your app's privacy manifest.
— Reply to this email directly, view it on GitHub https://github.com/crasowas/app_store_required_privacy_manifest_analyser/issues/11#issuecomment-2062914270, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACPESNPLROD5QC5EPFHNDHLY542YDAVCNFSM6AAAAABGGXS6F2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANRSHEYTIMRXGA . You are receiving this because you were mentioned.Message ID: <crasowas/app_store_required_privacy_manifest_analyser/issues/11/2062914270 @github.com>
When line 644 is executed, it gets stuck and cannot execute into
analyze_api_usage
method.It works after I change this
to the real path.
And I can
ehco "${excluded_dirs[@]}"
. But it will stock when using this var.