- Install
node-appdmg
. - Run with the bare minimum specs below.
{
"title" : "PRODUCT_NAME",
"window" :
{
"size" :
{
extension UIView { | |
/// Search ancestral view hierarchy for the given view type. | |
func searchViewAnchestorsFor<ViewType: UIView>( | |
_ onViewFound: (ViewType) -> Void | |
) { | |
if let matchingView = self.superview as? ViewType { | |
onViewFound(matchingView) | |
} else { | |
superview?.searchViewAnchestorsFor(onViewFound) |
extension UIView { | |
func printViewHierarchyInformation(_ level: Int = 0) { | |
printViewInformation(level) | |
self.subviews.forEach { $0.printViewHierarchyInformation(level + 1) } | |
} | |
func printViewInformation(_ level: Int) { | |
let leadingWhitespace = String(repeating: " ", count: level) | |
let className = "\(Self.self)" |
import SwiftUI | |
let hello = "Hello" | |
let world = "world!" | |
struct ContentView_standard: View | |
{ | |
for f in *; do convert -density 300 -units pixelsperinch "$f" "$f"; done |
node-appdmg
.{
"title" : "PRODUCT_NAME",
"window" :
{
"size" :
{
touch -t YYYYMMDDhhmm ~/Path/To/Image.jpg |
#!/bin/sh | |
# Zip CloudCode folders | |
zip -r scripts.zip event modules response | |
# Send to GameSparks | |
curl \ | |
--verbose \ | |
--header 'Content-Type: multipart/form-data' \ | |
--header 'Accept: application/json' \ |
Simple commits:
git replace --graft <TAIL_COMMIT_SHA> <TIP_COMMIT_SHA>
If tip is a merge commit:
git replace --graft <TAIL_COMMIT_SHA> <FIRST_PARENT_OF_TIP_MERGE_COMMIT_SHA> <SECOND_PARENT_OF_TIP_MERGE_COMMIT_SHA>
Then:
git log -1 --pretty=%B | cut -d ' - ' -f 1 |
git branch -m OLD_NAME NEW_NAME
git push origin :OLD_NAME NEW_NAME
git push --set-upstream origin NEW_NAME