xiaohongshu
xiaohongshu
match
Set up Match for iOS code signing certificate management
Full skill instructions
Set up Fastlane Match to manage iOS code signing certificates and provisioning profiles in a shared Git repository.
fastlane --version 2>/dev/null | grep "fastlane " | head -1 || echo "✗ Not installed - run: brew install fastlane"ls fastlane/Fastfile 2>/dev/null && echo "✓ Found" || echo "✗ Not found - run /setup-fastlane first"ls fastlane/Matchfile 2>/dev/null && echo "✓ Already configured" || echo "○ Not configured yet"git --version 2>/dev/null | head -1 || echo "✗ Git not installed"Match stores your iOS certificates and provisioning profiles in a private Git repository, encrypted with a passphrase. Benefits:
Create a private repository to store your encrypted certificates:
# GitHub CLI (recommended)
gh repo create certificates --private --clone
cd certificates && cd ..
# Or manually at github.com/new (select Private)
Repository naming conventions:
certificates or ios-certificatesfastlane-certs{company}-signingSecurity: This repo will contain encrypted certificates. Keep it private and limit access to team members who need to build the app.
Run match init to create your Matchfile:
fastlane match init
When prompted:
git[email protected]:yourorg/certificates.git)This creates fastlane/Matchfile:
git_url("[email protected]:yourorg/certificates.git")
storage_mode("git")
type("development") # Default type, can be overridden per-lane
# app_identifier(["com.yourcompany.app"]) # Optional: limit to specific apps
# username("[email protected]") # Optional: Apple ID
Generate certificates for each distribution type:
fastlane match development
fastlane match appstore
fastlane match adhoc
First run prompts:
Important: Save the passphrase in a password manager. You'll need it for CI/CD and new team members.
Update your lanes to use Match before building:
default_platform(:ios)
platform :ios do
desc "Sync all certificates"
lane :sync_signing do
match(type: "development")
match(type: "appstore")
end
desc "Build for TestFlight"
lane :beta do |options|
match(type: "appstore", readonly: true)
increment_build_number unless options[:skip_build_increment]
gym(scheme: "YourApp", export_method: "app-store")
pilot(skip_waiting_for_build_processing: true)
end
desc "Build for App Store"
lane :release do
match(type: "appstore", readonly: true)
increment_build_number
gym(scheme: "YourApp", export_method: "app-store")
deliver(submit_for_review: false, force: true)
end
end
Key pattern: Use readonly: true in build lanes to prevent accidental certificate regeneration.
New team members run:
# Clone and decrypt existing certificates (readonly)
fastlane match development --readonly
fastlane match appstore --readonly
They'll need:
Readonly mode ensures they can't accidentally revoke or regenerate certificates.
Set these environment variables in your CI/CD system:
# Required
MATCH_PASSWORD="your-match-passphrase"
MATCH_GIT_URL="[email protected]:yourorg/certificates.git"
# For App Store Connect (choose one method)
# Method 1: App-specific password
FASTLANE_USER="[email protected]"
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD="xxxx-xxxx-xxxx-xxxx"
# Method 2: API Key (recommended for CI)
APP_STORE_CONNECT_API_KEY_ID="ABC123"
APP_STORE_CONNECT_API_KEY_ISSUER_ID="xyz-xyz-xyz"
APP_STORE_CONNECT_API_KEY_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
- name: Install certificates
run: fastlane match appstore --readonly
env:
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_GIT_URL: ${{ secrets.MATCH_GIT_URL }}
Add to ci_scripts/ci_post_clone.sh:
# Install Fastlane and sync certificates
brew install fastlane
fastlane match appstore --readonly
Set MATCH_PASSWORD in Xcode Cloud environment variables.
Wrong passphrase. Verify MATCH_PASSWORD is correct.
Run fastlane match appstore (without --readonly) to generate profiles.
Someone revoked certs in Apple Developer portal. Regenerate:
fastlane match nuke development # Removes all development certs
fastlane match development # Regenerates
Specify team in Matchfile:
team_id("ABCD1234")
Register the app first:
fastlane produce create -a com.yourcompany.app -n "Your App Name"
# Setup
fastlane match init # Create Matchfile
fastlane match development # Generate dev certs
fastlane match appstore # Generate App Store certs
fastlane match adhoc # Generate Ad Hoc certs
# Team use (readonly - won't modify certs)
fastlane match development --readonly
fastlane match appstore --readonly
# Maintenance
fastlane match nuke development # Revoke all dev certs
fastlane match nuke distribution # Revoke all dist certs
fastlane match change_password # Change encryption passphrase
# Debugging
fastlane match development --verbose # Detailed output
match change_passwordfastlane/
└── Matchfile # Match configuration
# In your certificates repo:
certs/
├── development/ # Development certificates
└── distribution/ # App Store/Ad Hoc certificates
profiles/
├── development/ # Development provisioning profiles
├── appstore/ # App Store provisioning profiles
└── adhoc/ # Ad Hoc provisioning profiles
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience