emqx / CocoaMQTT

MQTT 5.0 client library for iOS and macOS written in Swift
https://www.emqx.com/en
Other
1.6k stars 420 forks source link

Enhancing CocoaMQTT for Compliance with Apple's Privacy Manifest Requirements #586

Closed HuseyinVural closed 4 months ago

HuseyinVural commented 5 months ago

Upgraded Starscream: I have updated the Starscream library to its latest version. This upgrade ensures better stability and compatibility with current iOS standards.

Declared UserDefault Usage: Recognizing that the use of UserDefaults necessitates proper declaration under Apple's guidelines, I have created a privacy manifest file. This file explicitly declares the usage of UserDefaults, aligning with privacy requirements.

Removed Deprecated Components: The deprecated MqttCocoaAsyncSocket has been removed from our project. Instead, I have integrated the most recent version from the main repository to ensure we are using the most secure and updated code.

Testing and Validation: All modifications have undergone thorough testing and I encountered no issues. This confirms that our updates not only meet the required privacy standards but also enhance the overall reliability and modernity of the library.

I believe these updates make our project compliant with Apple's privacy requirements and maintain its relevance in the fast-evolving tech landscape.

JaylinYu commented 4 months ago

gonna take yours, looks more solid.

nrbrook commented 4 months ago

Removed Deprecated Components: The deprecated MqttCocoaAsyncSocket has been removed from our project. Instead, I have integrated the most recent version from the main repository to ensure we are using the most secure and updated code.

MqttCocoaAsyncSocket is not deprecated, and switching to the older CocoaAsyncSocket caused a crash. Was this tested?

I have reverted this change in a PR: https://github.com/emqx/CocoaMQTT/pull/595