This is what we did to setup a few dashboards at platanus
- Raspberry Pi
- Dashing Service
- Wifi stick (optional)
| @implementation PSPDFTableViewCell // UITableViewCell subclass | |
| /** | |
| On iOS 10, constraints involving a UITableViewCell’s contentView’s layoutMarginsGuide are removed for some | |
| reason before the cell appears, which breaks the layout. This layout guide is a working alternative. | |
| */ | |
| - (UILayoutGuide *)pspdf_layoutMarginsGuide { | |
| if (@available(iOS 11.0, *)) { | |
| return self.contentView.layoutMarginsGuide; | |
| } |
This is what we did to setup a few dashboards at platanus
| exec > /tmp/${PROJECT_NAME}_archive.log 2>&1 | |
| UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal | |
| if [ "true" == ${ALREADYINVOKED:-false} ] | |
| then | |
| echo "RECURSION: Detected, stopping" | |
| else | |
| export ALREADYINVOKED="true" |
| @interface MySingleton : NSObject | |
| // ... | |
| + (instancetype) sharedInstance; | |
| + (instancetype) alloc __attribute__((unavailable("alloc not available, call sharedInstance instead"))); | |
| - (instancetype) init __attribute__((unavailable("init not available, call sharedInstance instead"))); | |
| + (instancetype) new __attribute__((unavailable("new not available, call sharedInstance instead"))); |
| #!/bin/bash | |
| ############################################################################################################## | |
| ### 1. Name your profiles with the convention of ProjectName_TargetName_ConfigurationName.mobileprovision ### | |
| ### 2. Create a directory called CodeSign in your project directory ### | |
| ### 3. Move all your project's provisioning profiles into the CodeSign directory ### | |
| ### ### | |
| ### Running this script will update your project file to point to the correct UUIDs of each corresponding ### | |
| ### profile in your CodeSign directory. ### | |
| ############################################################################################################## |

curl -L -o ~/.clang-format https://gist.github.com/dev4dev/78d0508304558e969b2a/raw/9bab5aefe2e29f4b7b6a5560642618e1e78b397c/.clang-format.yml
5. In Xcode select menu Edit -> Clang Format -> File to use rules from downloaded .clang-format.ylm file
| // Android app | |
| private void setupParse(Context context) { | |
| Parse.initialize(this, <PARSE_APP_ID>, <PARSE_CLIENT_KEY>); | |
| ParseInstallation.getCurrentInstallation().put("uniqueId", getWifiMacAddress(context)); | |
| ParseInstallation.getCurrentInstallation().saveInBackground(); | |
| } | |
| private String getWifiMacAddress(Context context) { | |
| WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); | |
| if (wifiManager != null && wifiManager.getConnectionInfo() != null) { |
| # | |
| # Original version by Grant Parnell is offline (http://digitaldj.net/2011/07/21/trim-enabler-for-lion/) | |
| # Update July 2014: no longer offline, see https://digitaldj.net/blog/2011/11/17/trim-enabler-for-os-x-lion-mountain-lion-mavericks/ | |
| # | |
| # Looks for "Apple" string in HD kext, changes it to a wildcard match for anything | |
| # | |
| # Alternative to http://www.groths.org/trim-enabler-3-0-released/ | |
| # Method behind this madness described: http://forums.macrumors.com/showthread.php?t=1409151&page=4 | |
| # See discussion in comments here: https://www.macupdate.com/app/mac/39654/lion-tweaks | |
| # And here: http://forums.macrumors.com/showthread.php?t=1410459 |
THIS IS A WORK IN PROGRESS USING THE YOSEMITE BETA - DO NOT RELY ON IT!
Install OSX on a fresh drive. I recommend using Disk Utility to repartition the entire drive as 1 partition, as this clears any hidden volumes.
Once the initial install is complete, the OSX Setup Assistant will create your first adminstrator account.
| UISearchBar *searchBar = [[UISearchBar alloc] init]; | |
| self.navigationItem.titleView = searchBar; | |
| UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"cancel", @"Cancel") | |
| style:UIBarButtonSystemItemCancel | |
| target:self | |
| action:@selector(cancelButtonClicked)]; | |
| self.navigationItem.rightBarButtonItem = cancelButton; |