Note, please replace "WWW/tools" with where ever you store your web tools.
$ mkdir ~/WWW/tools
$ cd ~/WWW/tools
$ git clone https://github.com/phacility/libphutil.git
$ git clone https://github.com/phacility/arcanist.git
| Available keys for -exportOptionsPlist: | |
| compileBitcode : Bool | |
| For non-App Store exports, should Xcode re-compile the app from bitcode? Defaults to YES. | |
| embedOnDemandResourcesAssetPacksInBundle : Bool | |
| For non-App Store exports, if the app uses On Demand Resources and this is YES, asset packs are embedded in the app bundle so that the app can be tested without a server to host asset packs. Defaults to YES unless onDemandResourcesAssetPacksBaseURL is specified. |
| var Promise = require('bluebird'); | |
| var promiseWhile = function(condition, action) { | |
| var resolver = Promise.defer(); | |
| var loop = function() { | |
| if (!condition()) return resolver.resolve(); | |
| return Promise.cast(action()) | |
| .then(loop) | |
| .catch(resolver.reject); |
| #import <objc/runtime.h> | |
| #import <UIKit/UIKit.h> | |
| @interface UIWebView (HackishAccessoryHiding) | |
| @property (nonatomic, assign) BOOL hackishlyHidesInputAccessoryView; | |
| @end | |
| @implementation UIWebView (HackishAccessoryHiding) | |
| static const char * const hackishFixClassName = "UIWebBrowserViewMinusAccessoryView"; |
| #ifndef DialogManager_h__ | |
| #define DialogManager_h__ | |
| #include <boost/noncopyable.hpp> | |
| #include <boost/function.hpp> | |
| #include "BrowserHost.h" | |
| typedef boost::function<void (const std::string&)> PathCallback; | |
| namespace FB { class PluginWindow; } |