29 |
30 | 
31 |
32 | FluxorExplorer allows developers of apps using Fluxor, to step through the actions dispatched and the corresponding state changes, to easily debug the data flow of their app.
33 |
34 | ## 🗣 Make your app talk
35 |
36 | The only thing you need to do, to make your app send out the dispatched actions and state changes, is to register the [FluxorExplorerInterceptor](https://github.com/FluxorOrg/FluxorExplorerInterceptor) in the store:
37 |
38 | ```swift
39 | let store = Store(initialState: AppState())
40 | #if DEBUG
41 | store.register(interceptor: FluxorExplorerInterceptor(displayName: UIDevice.current.name))
42 | #endif
43 | ```
44 |
45 | **Note:** It is recommended that the FluxorExplorerInterceptor is only registered in debug builds.
46 |
47 | ## 🔌 How does it connect?
48 |
49 | FluxorExplorer and FluxorExplorerInterceptor uses Apple's [MultipeerConnectivity](https://developer.apple.com/documentation/multipeerconnectivity) framework to connect and communicate.
50 |
51 | 1. When FluxorExplorer is launched, it instantiates a [`MCNearbyServiceBrowser`](https://developer.apple.com/documentation/multipeerconnectivity/mcnearbyservicebrowser) and starts browsing for peers.
52 | 2. When a FluxorExplorerInterceptor is instantiated a [`MCNearbyServiceAdvertiser`](https://developer.apple.com/documentation/multipeerconnectivity/mcnearbyserviceadvertiser) and starts advertising.
53 | 3. When FluxorExplorer discovers an advertising peer it automatically sends an invite to the peer
54 | 4. When the advertising FluxorExplorerInterceptor receives an invite, it automatically accepts it
55 |
56 | This means that as long as FluxorExplorer and the app using FluxorExplorerInterceptor is on the same network, they will automatically connect and send/receive data.
57 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-slate
2 | repository: FluxorOrg/FluxorExplorer
3 |
--------------------------------------------------------------------------------
/_layouts/default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |