Skip to content

ChatSecureCore.framework migration #374

Open
@chrisballinger

Description

@chrisballinger

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 by OTRAppDelegate 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions