Socket Cluster is an iOS library that supports socket communication. This library provides PubSub functionality. When an iOS app moves to the background, it is recommended to disconnect the socket connection, as the system does not guarantee the connection will remain active. Therefore, attempts to reconnect should be made once the app becomes active again. Given the operating system’s environment, it is essential to handle cases where messages that were not received during reconnection attempts may be lost, or where the socket connection should not be disconnected in specific app states.
setBackgroundQueue
method supported by SocketCluster to avoid affecting the main thread.Tuist is a tool aimed at simplifying the management of Xcode projects by eliminating the complexity of project structure.
For situations where there are few iOS developers or when certain Objective-C libraries do not support SPM, the gitattribute
feature can help manage conflicts in Xcode project files.
As Tuist has evolved, there are now methods to handle Objective-C libraries that do not support SPM, which I reviewed. Last week, I worked on converting an existing toy project to Tuist. Notably, the code and Tuist commands for versions 3 and 4 differ significantly, so I will need to define the initial version settings clearly.
To implement an architecture pattern in the toy project, I studied the Clean Architecture concept.
I first read the Clean Code documentation and analyzed projects that applied Clean Architecture in iOS.
Clean Architecture separates layers based on roles, ensuring that each layer adheres to dependency patterns to minimize impact.
I reflected on various advantages and wrote a related article on my Tistory blog.