Open
Description
Work is ongoing in the framework branch. ChatSecureCore.framework
should be split into sub-frameworks each concerned with a specific domain (e.g. network, database, encryption, UI, assets).
- Move all source code from ChatSecure app target to
ChatSecureCore.framework
target -
OTRClassCustomization
Protocol to provide alternative subclasses for commonly overridden views. Implemented byOTRAppDelegate
and whitelabel app delegate subclasses. - Identify old/legacy code that can be removed, and remove it.
- During sub-framework migration, identify and minimize the public API exported by each framework.
-
OTRAssets.framework
- separate framework for app resources to override brand-specific images and other resources -
OTRUserInterface.framework
- non platform specific UI code -
OTRUIKit.framework
- all iOS UIKit code goes here -
OTRAppKit.framework
- all Mac AppKit code -
OTRNetwork.framework
- XMPP, nearby/airshare -
OTRDatabase.framework
- data models, YapDatabase, etc -
OTRCrypto.framework
- OTR, Tor, Axolotl
Right now there are some missing image resources caused by the framework migration. Fixing this will require a special approach to ensure the resources are easily overridable from a different whitelabeled app target. Simply bundling the resources within ChatSecureCore.framework
will not work because you won't be able to override them.