iOS client for Grain grain.social
ios photography atproto
7
fork

Configure Feed

Select the types of activity you want to include in your feed.

Update justfile

+19 -10
+19 -10
justfile
··· 19 19 BUNDLE_ID={{bundle_id}} xcodegen generate 20 20 git config core.hooksPath .githooks 21 21 22 + # Worktree-local DerivedData path (avoids collisions with other worktrees) 23 + derived_data := justfile_directory() + "/.derivedData" 24 + 22 25 # Build for simulator (production API — matches Xcode Run) 23 26 build: 24 - set -o pipefail && xcodebuild build -scheme Grain -destination 'generic/platform=iOS Simulator' PRODUCT_BUNDLE_IDENTIFIER={{bundle_id}} {{sim_sign}} 2>&1 | xcbeautify 27 + set -o pipefail && xcodebuild build -scheme Grain -destination 'generic/platform=iOS Simulator' -derivedDataPath {{derived_data}} PRODUCT_BUNDLE_IDENTIFIER={{bundle_id}} {{sim_sign}} 2>&1 | xcbeautify 25 28 26 29 # Build for simulator (local/dev API — overrides default PRODUCTION_API flag) 27 30 build-local: 28 - set -o pipefail && xcodebuild build -scheme Grain -destination 'generic/platform=iOS Simulator' PRODUCT_BUNDLE_IDENTIFIER={{bundle_id}} SWIFT_ACTIVE_COMPILATION_CONDITIONS='DEBUG' {{sim_sign}} 2>&1 | xcbeautify 31 + set -o pipefail && xcodebuild build -scheme Grain -destination 'generic/platform=iOS Simulator' -derivedDataPath {{derived_data}} PRODUCT_BUNDLE_IDENTIFIER={{bundle_id}} SWIFT_ACTIVE_COMPILATION_CONDITIONS='DEBUG' {{sim_sign}} 2>&1 | xcbeautify 29 32 30 33 # Build + install + launch on simulator (local/dev API) 31 34 sim-local: build-local 32 35 #!/usr/bin/env bash 33 36 set -euo pipefail 34 - APP_PATH=$(find ~/Library/Developer/Xcode/DerivedData/Grain-*/Build/Products/Debug-iphonesimulator -name "Grain.app" -type d | head -1) 35 - xcrun simctl install booted "$APP_PATH" 36 - xcrun simctl launch booted {{bundle_id}} 37 + SIM=${SIM_UDID:-booted} 38 + xcrun simctl boot "$SIM" 2>/dev/null || true 39 + xcrun simctl bootstatus "$SIM" -b >/dev/null 40 + APP_PATH=$(find "{{derived_data}}/Build/Products/Debug-iphonesimulator" -name "${BUNDLE_NAME:-Grain}.app" -type d | head -1) 41 + xcrun simctl install "$SIM" "$APP_PATH" 42 + xcrun simctl launch "$SIM" {{bundle_id}} 37 43 echo "Installed and launched on simulator (local/dev API)" 38 44 39 45 # Build + install + launch on simulator (production API — grain.social; same as Xcode Run) 40 46 sim: 41 47 #!/usr/bin/env bash 42 48 set -euo pipefail 43 - set -o pipefail && xcodebuild build -scheme Grain -destination 'generic/platform=iOS Simulator' PRODUCT_BUNDLE_IDENTIFIER={{bundle_id}} {{sim_sign}} 2>&1 | xcbeautify 44 - APP_PATH=$(find ~/Library/Developer/Xcode/DerivedData/Grain-*/Build/Products/Debug-iphonesimulator -name "Grain.app" -type d | head -1) 45 - xcrun simctl install booted "$APP_PATH" 46 - xcrun simctl launch booted {{bundle_id}} 49 + SIM=${SIM_UDID:-booted} 50 + xcrun simctl boot "$SIM" 2>/dev/null || true 51 + xcrun simctl bootstatus "$SIM" -b >/dev/null 52 + set -o pipefail && xcodebuild build -scheme Grain -destination 'generic/platform=iOS Simulator' -derivedDataPath "{{derived_data}}" PRODUCT_BUNDLE_IDENTIFIER={{bundle_id}} {{sim_sign}} 2>&1 | xcbeautify 53 + APP_PATH=$(find "{{derived_data}}/Build/Products/Debug-iphonesimulator" -name "${BUNDLE_NAME:-Grain}.app" -type d | head -1) 54 + xcrun simctl install "$SIM" "$APP_PATH" 55 + xcrun simctl launch "$SIM" {{bundle_id}} 47 56 echo "Installed and launched on simulator (grain.social)" 48 57 49 58 # Run tests ··· 75 84 set -euo pipefail 76 85 echo "Building for device {{device_id}}..." 77 86 set -o pipefail && xcodebuild build -scheme Grain -destination 'platform=iOS,id={{device_id}}' PRODUCT_BUNDLE_IDENTIFIER={{bundle_id}} -allowProvisioningUpdates 2>&1 | xcbeautify 78 - APP_PATH=$(find ~/Library/Developer/Xcode/DerivedData/Grain-*/Build/Products/Debug-iphoneos -name "Grain.app" -type d | head -1) 87 + APP_PATH=$(find ~/Library/Developer/Xcode/DerivedData/Grain-*/Build/Products/Debug-iphoneos -name "${BUNDLE_NAME:-Grain}.app" -type d | head -1) 79 88 echo "Installing $APP_PATH..." 80 89 xcrun devicectl device install app --device {{device_id}} "$APP_PATH" 81 90 echo "Installed to device {{device_id}}!"