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.

build: thread BUNDLE_ID env var through all xcodebuild and simctl launch calls

+7 -7
+7 -7
justfile
··· 21 21 22 22 # Build for simulator (production API — matches Xcode Run) 23 23 build: 24 - set -o pipefail && xcodebuild build -scheme Grain -destination 'generic/platform=iOS Simulator' {{sim_sign}} 2>&1 | xcbeautify 24 + set -o pipefail && xcodebuild build -scheme Grain -destination 'generic/platform=iOS Simulator' PRODUCT_BUNDLE_IDENTIFIER={{bundle_id}} {{sim_sign}} 2>&1 | xcbeautify 25 25 26 26 # Build for simulator (local/dev API — overrides default PRODUCTION_API flag) 27 27 build-local: 28 - set -o pipefail && xcodebuild build -scheme Grain -destination 'generic/platform=iOS Simulator' SWIFT_ACTIVE_COMPILATION_CONDITIONS='DEBUG' {{sim_sign}} 2>&1 | xcbeautify 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 29 29 30 30 # Build + install + launch on simulator (local/dev API) 31 31 sim-local: build-local ··· 33 33 set -euo pipefail 34 34 APP_PATH=$(find ~/Library/Developer/Xcode/DerivedData/Grain-*/Build/Products/Debug-iphonesimulator -name "Grain.app" -type d | head -1) 35 35 xcrun simctl install booted "$APP_PATH" 36 - xcrun simctl launch booted social.grain.grain 36 + xcrun simctl launch booted {{bundle_id}} 37 37 echo "Installed and launched on simulator (local/dev API)" 38 38 39 39 # Build + install + launch on simulator (production API — grain.social; same as Xcode Run) 40 40 sim: 41 41 #!/usr/bin/env bash 42 42 set -euo pipefail 43 - set -o pipefail && xcodebuild build -scheme Grain -destination 'generic/platform=iOS Simulator' {{sim_sign}} 2>&1 | xcbeautify 43 + set -o pipefail && xcodebuild build -scheme Grain -destination 'generic/platform=iOS Simulator' PRODUCT_BUNDLE_IDENTIFIER={{bundle_id}} {{sim_sign}} 2>&1 | xcbeautify 44 44 APP_PATH=$(find ~/Library/Developer/Xcode/DerivedData/Grain-*/Build/Products/Debug-iphonesimulator -name "Grain.app" -type d | head -1) 45 45 xcrun simctl install booted "$APP_PATH" 46 - xcrun simctl launch booted social.grain.grain 46 + xcrun simctl launch booted {{bundle_id}} 47 47 echo "Installed and launched on simulator (grain.social)" 48 48 49 49 # Run tests 50 50 test: 51 - set -o pipefail && xcodebuild test -scheme Grain -destination 'platform=iOS Simulator,name=iPhone 17 Pro Max' 2>&1 | xcbeautify 51 + set -o pipefail && xcodebuild test -scheme Grain -destination 'platform=iOS Simulator,name=iPhone 17 Pro Max' PRODUCT_BUNDLE_IDENTIFIER={{bundle_id}} 2>&1 | xcbeautify 52 52 53 53 # Check formatting (list unformatted files) 54 54 format: ··· 74 74 #!/usr/bin/env bash 75 75 set -euo pipefail 76 76 echo "Building for device {{device_id}}..." 77 - set -o pipefail && xcodebuild build -scheme Grain -destination 'platform=iOS,id={{device_id}}' -allowProvisioningUpdates 2>&1 | xcbeautify 77 + set -o pipefail && xcodebuild build -scheme Grain -destination 'platform=iOS,id={{device_id}}' PRODUCT_BUNDLE_IDENTIFIER={{bundle_id}} -allowProvisioningUpdates 2>&1 | xcbeautify 78 78 APP_PATH=$(find ~/Library/Developer/Xcode/DerivedData/Grain-*/Build/Products/Debug-iphoneos -name "Grain.app" -type d | head -1) 79 79 echo "Installing $APP_PATH..." 80 80 xcrun devicectl device install app --device {{device_id}} "$APP_PATH"