WordPress-iOS icon indicating copy to clipboard operation
WordPress-iOS copied to clipboard

Remove UIDeviceIdentifier dependency from WordPressKit

Open kean opened this issue 1 year ago • 2 comments

The dependency was used in a single line: UIDeviceHardware.platform(), so it wasn't worth requiring it in the framework. Instead, I added it directly to the app.

I tested the before/after on a physical device, and the value was unchanged, so no manual testing needed.

UIDeviceIdentifier was also a transient dependency, so I moved it to the Podfile to fix it for now. The only remaining place that uses it is Automattic-Tracks-iOS.

  - Automattic-Tracks-iOS (3.3.0):
    - Sentry (~> 8.0)
    - Sodium (>= 0.9.1)
    - UIDeviceIdentifier (~> 2.0)

Automattic-Tracks-iOS seems to support SPM, so WPKit should no longer block us from adding Automattic-Tracks-iOS as a Swift package.

Regression Notes

  1. Potential unintended areas of impact:

  2. What I did to test those areas of impact (or what existing automated tests I relied on)

  3. What automated tests I added (or what prevented me from doing so)

PR submission checklist:

  • [ ] I have completed the Regression Notes.
  • [ ] I have considered adding unit tests for my changes.
  • [ ] I have considered adding accessibility improvements for my changes.
  • [ ] I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

Testing checklist:

  • [ ] WordPress.com sites and self-hosted Jetpack sites.
  • [ ] Portrait and landscape orientations.
  • [ ] Light and dark modes.
  • [ ] Fonts: Larger, smaller and bold text.
  • [ ] High contrast.
  • [ ] VoiceOver.
  • [ ] Languages with large words or with letters/accents not frequently used in English.
  • [ ] Right-to-left languages. (Even if translation isn’t complete, formatting should still respect the right-to-left layout)
  • [ ] iPhone and iPad.
  • [ ] Multi-tasking: Split view and Slide over. (iPad)

kean avatar Jun 25 '24 14:06 kean

Jetpack Alpha📲 You can test the changes from this Pull Request in Jetpack Alpha by scanning the QR code below to install the corresponding build.
App NameJetpack Alpha Jetpack Alpha
ConfigurationRelease-Alpha
Build Numberpr23387-9d286f2
Version25.1
Bundle IDcom.jetpack.alpha
Commit9d286f288acdd7f01442d88ca04ae79e0fbb6d76
App Center Buildjetpack-installable-builds #9312
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

wpmobilebot avatar Jun 25 '24 14:06 wpmobilebot

WordPress Alpha📲 You can test the changes from this Pull Request in WordPress Alpha by scanning the QR code below to install the corresponding build.
App NameWordPress Alpha WordPress Alpha
ConfigurationRelease-Alpha
Build Numberpr23387-9d286f2
Version25.1
Bundle IDorg.wordpress.alpha
Commit9d286f288acdd7f01442d88ca04ae79e0fbb6d76
App Center BuildWPiOS - One-Offs #10265
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

wpmobilebot avatar Jun 25 '24 14:06 wpmobilebot

@jkmassel I rebased and re-implemented this PR. Instead of injecting platform from the app, I implemented this tiny extension inside the framework. It achieves the same result: the UIDeviceIdentifier framework is no longer linked dynamically and WordPressKit has fewer dependencies.

kean avatar Jul 05 '24 22:07 kean

1 Warning
:warning: Modules/Package.swift was changed without updating its corresponding Package.resolved. Please resolve the Swift packages in Xcode.

Generated by :no_entry_sign: Danger

dangermattic avatar Jul 05 '24 22:07 dangermattic