Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(feat) Update AppShortcuts Plugin for Capacitor 7 Compatibility and Add Logger #371

Closed

Conversation

fabiomartino
Copy link

@fabiomartino fabiomartino commented Dec 26, 2024

This PR introduces several updates and improvements to the plugin, focusing on compatibility, maintainability, and additional functionality:

  1. iOS Plugin Structure Update:

    • Refactored the iOS plugin to be SPM (Swift Package Manager) compatible for modern dependency management. This change improves integration and simplifies dependency handling for projects using the plugin.
  2. Updated Dependencies:

    • Updated the plugin’s dependencies to their latest versions to ensure compatibility and leverage bug fixes and performance improvements.
  3. Capacitor 7 Compatibility:

    • Prepared the plugin for Capacitor 7, ensuring compatibility with its breaking changes and new features.
    • Note: The plugin continues to target Java 17 instead of Java 21 due to current project requirements and compatibility constraints.
  4. New iOS Logger:

    • Introduced a logging utility for the iOS platform to enhance debugging and traceability. Key areas, such as error handling (rejectCall), now use this logger for improved diagnostics.
  5. Added Privacy Manifest:

    • Integrated the PrivacyInfo.xcprivacy file for iOS, detailing the privacy impact of the plugin as required by Apple. This is in line with Apple’s privacy manifest guidelines for apps that use certain sensitive APIs.
    • For more information, refer to Apple’s documentation on Privacy Manifest Files.
  6. Bundling Resources with Swift Package:

    • Updated the plugin to bundle the PrivacyInfo.xcprivacy file with the Swift package using the correct structure, as described in Apple’s documentation on bundling resources with a Swift package.

Motivation and Context

This update modernizes the plugin, aligns it with the latest Capacitor ecosystem standards, and provides developers with improved tools for debugging. The SPM-compatible structure for iOS simplifies usage in projects with the latest Apple tooling. Additionally, the inclusion of the privacy manifest ensures the plugin complies with Apple's privacy policies.


How Has This Been Tested?

  • Verified the iOS plugin builds successfully and functions as expected with the updated structure.
  • Tested the plugin in a Capacitor 7 project to confirm compatibility and ensure no regressions.
  • Logged sample outputs on iOS to confirm the logger integration is working correctly.
  • Verified the correct inclusion and processing of the PrivacyInfo.xcprivacy file.

Types of Changes

  • Feature: Added a new logger for iOS.
  • Enhancement: Updated dependencies and plugin structure.
  • Enhancement: Integrated privacy manifest for iOS.

Checklist

  • My code follows the code style of this project.
  • All new and existing tests passed.

Issue Reference

Resolves #370

@robingenz
Copy link
Member

Thanks for your PR. We will update all plugins at once as soon as the first stable version of Capacitor 7 is available. We are still doing major updates ourselves, as these PRs have a lot of changes and are difficult to review. I am therefore closing your PR.

@robingenz robingenz closed this Dec 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat: Update Plugin for Capacitor 7 Compatibility and Add Logger
2 participants