App Extension(Widget, Today)
App Extension - from iOS v8 - is a packaged bundle which uses different process than Containing App and can communicate with Host App. It has .appex file extension and is located in PlugIns folder. Something similar to CXTests[About]
Application packaged bundle
 
SpeedWidgetExtension.appex - Application Extension packaged bundle
 
- Share data - use App Group[About]
- Share code
- Target Membership- the simplest way or for pre iOS v8 which allows you to add files into every target. It increases a footprint of package because this file will be duplicated for every target
 
- Framework- module for grouping/reusing code
 - 
- Embedded frameworkaka- Dynamic framework- the most appropriate way to share common code base. Please note that for using- Embedded frameworkyou should embed it only in- Containing App(and don't add this framework in- App Extension. If you include framework and for- App Extensionit will have the same framework in- App Extensionbundle - framework will be duplicated). It is possible because of- @prath[About]
 - //App Extension
LD_RUNPATH_SEARCH_PATHS = @executable_path/../../Frameworks
//It means that App Extension can uses Dynamic framework from Containing app
 - 
- Static Framework- link the code to executable binary. You can link library only for- Containing App
 
 
[iOS extensions]
[iOS App Group]
[Vocabulary]