|
|
@@ -1,5 +1,5 @@
|
|
|
# FLEX
|
|
|
-[](http://cocoapods.org/?q=FLEX)
|
|
|
+[](https://cocoapods.org/?q=FLEX)
|
|
|
[](https://github.com/Flipboard/FLEX/blob/master/LICENSE)
|
|
|
[]()
|
|
|
[](https://twitter.com/ryanolsonk)
|
|
|
@@ -8,7 +8,7 @@
|
|
|
|
|
|
FLEX (Flipboard Explorer) is a set of in-app debugging and exploration tools for iOS development. When presented, FLEX shows a toolbar that lives in a window above your application. From this toolbar, you can view and modify nearly every piece of state in your running application.
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
## Give Yourself Debugging Superpowers
|
|
|
@@ -32,7 +32,7 @@ Unlike many other debugging tools, FLEX runs entirely inside your app, so you do
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
-In the iOS simulator, you can use keyboard shortcuts to activate FLEX. `f` will toggle the FLEX toolbar. Hit the `?` key for a full list of shortcuts. You can also show FLEX programatically:
|
|
|
+In the iOS simulator, you can use keyboard shortcuts to activate FLEX. `f` will toggle the FLEX toolbar. Hit the `?` key for a full list of shortcuts. You can also show FLEX programmatically:
|
|
|
|
|
|
Short version:
|
|
|
|
|
|
@@ -71,30 +71,30 @@ More complete version:
|
|
|
### Modify Views
|
|
|
Once a view is selected, you can tap on the info bar below the toolbar to present more details about the view. From there, you can modify properties and call methods.
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
### Network History
|
|
|
When enabled, network debugging allows you to view all requests made using NSURLConnection or NSURLSession. Settings allow you to adjust what kind of response bodies get cached and the maximum size limit of the response cache. You can choose to have network debugging enabled automatically on app launch. This setting is persisted across launches.
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
### All Objects on the Heap
|
|
|
FLEX queries malloc for all the live allocated memory blocks and searches for ones that look like objects. You can see everything from here.
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
### Simulator Keyboard Shortcuts
|
|
|
-Default keyboard shortcuts allow you to activate the FLEX tools, scroll with the arrow keys, and close modals using the escape key. You can also add custom keyboard shortcuts via `-[FLEXMananger registerSimulatorShortcutWithKey:modifiers:action:description]`
|
|
|
+Default keyboard shortcuts allow you to activate the FLEX tools, scroll with the arrow keys, and close modals using the escape key. You can also add custom keyboard shortcuts via `-[FLEXManager registerSimulatorShortcutWithKey:modifiers:action:description]`
|
|
|
|
|
|

|
|
|
|
|
|
### File Browser
|
|
|
View the file system within your app's sandbox. FLEX shows file sizes, image previews, and pretty prints `.json` and `.plist` files. You can copy text and image files to the pasteboard if you want to inspect them outside of your app.
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
### SQLite Browser
|
|
|
-SQLite database files (with either `.db` or `.sqlite` extensions), or [Realm](http://realm.io) database files can be explored using FLEX. The database browser lets you view all tables, and individual tables can be sorted by tapping column headers.
|
|
|
+SQLite database files (with either `.db` or `.sqlite` extensions), or [Realm](https://realm.io) database files can be explored using FLEX. The database browser lets you view all tables, and individual tables can be sorted by tapping column headers.
|
|
|
|
|
|

|
|
|
|
|
|
@@ -106,17 +106,17 @@ Using a combination of the command, control, and shift keys, you can simulate di
|
|
|
### System Library Exploration
|
|
|
Go digging for all things public and private. To learn more about a class, you can create an instance of it and explore its default state.
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
### NSUserDefaults Editing
|
|
|
FLEX allows you to edit defaults that are any combination of strings, numbers, arrays, and dictionaries. The input is parsed as `JSON`. If other kinds of objects are set for a defaults key (i.e. `NSDate`), you can view them but not edit them.
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
### Learning from Other Apps
|
|
|
The code injection is left as an exercise for the reader. :innocent:
|
|
|
|
|
|
- 
|
|
|
+ 
|
|
|
|
|
|
|
|
|
## Installation
|
|
|
@@ -176,11 +176,11 @@ If you are using Carthage, only including the `FLEX.framework` in debug builds i
|
|
|
|
|
|
In Xcode, navigate to the "Build Settings" tab of your project. Click the plus and select `Add User-Defined Setting`.
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
Name the setting `EXCLUDED_SOURCE_FILE_NAMES`. For your `Release` configuration, set the value to `FLEX*`. This will exclude all files with the prefix FLEX from compilation. Leave the value blank for your `Debug` configuration.
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
## Additional Notes
|
|
|
|