← Back to Skills Marketplace
ivangdavila

iOS

by Iván · GitHub ↗ · v1.0.0
darwin ✓ Security Clean
2321
Downloads
6
Stars
20
Active Installs
1
Versions
Install in OpenClaw
/install ios
Description
Build, test, and ship iOS apps with Swift, Xcode, and App Store best practices.
README (SKILL.md)

iOS Development Rules

Xcode & Build

  • Clean build folder (Cmd+Shift+K) fixes most "impossible" build errors — derived data gets corrupted regularly
  • Simulator reset (Device > Erase All Content and Settings) clears cached app state that survives reinstalls
  • Archive builds use Release config — bugs that only appear in production often stem from optimization differences
  • xcodebuild -showsdks lists available SDKs — useful when builds fail with "SDK not found"
  • Parallel builds can cause race conditions in script phases — add input/output file lists to enforce ordering

Code Signing

  • "No signing certificate" usually means certificate is expired or revoked — check in Keychain Access, not just Xcode
  • Provisioning profiles embed device UDIDs — new test device requires profile regeneration and reinstall
  • Automatic signing fails in CI — always use manual signing with exported credentials for builds
  • Distribution certificates are limited to 3 per account — don't create new ones, export and share the existing one
  • After renewing a certificate, update ALL provisioning profiles that used the old one

SwiftUI Patterns

  • @State for view-local data, @StateObject for owned ObservableObjects, @ObservedObject for passed-in objects — mixing them wrong causes crashes or lost state
  • List with id: \.self on non-Hashable types causes silent failures — always use explicit id parameter with stable identifiers
  • task modifier cancels automatically on view disappear — no manual cancellation needed, but check Task.isCancelled in loops
  • Previews crash silently with real network calls — use mock data or dependency injection for previews
  • @Environment values are nil in previews unless explicitly provided — wrap previews in container with environment set

App Store Rules

  • Apps must work offline or show clear offline state — silent failures cause rejection
  • Login must be skippable if app has non-account features — reviewers reject mandatory login for content browsing
  • "Sign in with Apple" is required if you offer any third-party social login — no exceptions
  • Privacy labels must match actual data collection — Apple verifies and rejects mismatches
  • In-app purchases must use StoreKit for digital goods — external payment links get rejected

Info.plist Requirements

  • ITSAppUsesNonExemptEncryption = NO avoids export compliance questions for most apps — add it to skip the daily annoyance
  • Camera/microphone/location usage descriptions are mandatory — missing them crashes the app on access attempt
  • LSApplicationQueriesSchemes must list URL schemes before canOpenURL works — iOS 9+ security requirement
  • UIRequiresFullScreen = YES on iPad opts out of multitasking — use only if your app truly can't support split view

Performance

  • Instruments > Time Profiler reveals actual bottlenecks — don't guess, measure
  • Images in Assets.xcassets get optimized automatically — loose files in bundle don't
  • @MainActor annotation ensures UI updates happen on main thread — missing it causes random crashes under load
  • Memory leaks often hide in closures — use [weak self] in escaping closures that reference self
  • List with thousands of items is fast, ForEach in ScrollView is not — List uses cell reuse, ScrollView loads everything

Debugging

  • po in LLDB prints object description, p prints raw value — use po for most debugging
  • Purple warnings in Console indicate main thread violations — fix these, they cause jank
  • -com.apple.CoreData.SQLDebug 1 in launch arguments shows all Core Data queries — essential for debugging fetch performance
  • Crash logs without symbols are useless — keep dSYM files for every release build
  • TestFlight crashes appear in Xcode Organizer — check there, not just in App Store Connect
Usage Guidance
This skill is an instruction-only collection of iOS best practices and appears coherent and low-risk. Notes for you: (1) The skill has no source or homepage listed — if provenance matters, prefer skills from known authors. (2) It can suggest running xcodebuild and other local tools; if you allow the agent to execute commands, be mindful it may run builds against your local workspace. (3) Do not provide or store code-signing certificates, keychain access, or App Store credentials unless you trust the skill/provider and understand how those secrets are used. (4) The skill only applies to macOS (darwin). If you need stricter controls, disable autonomous invocation for this skill or review any commands the agent proposes before allowing execution.
Capability Analysis
Type: OpenClaw Skill Name: ios Version: 1.0.0 The skill bundle is benign. The `SKILL.md` provides informational content and best practices for iOS development, without any instructions for the AI agent to perform malicious actions, exfiltrate data, or engage in prompt injection. The `_meta.json` and skill metadata are standard and align with the stated purpose, requiring the `xcodebuild` binary which is appropriate for an iOS development skill.
Capability Assessment
Purpose & Capability
Name/description (build/test/ship iOS apps) aligns with the declared requirement of xcodebuild and the darwin OS restriction. No unrelated binaries, env vars, or config paths are requested.
Instruction Scope
SKILL.md contains development guidance and occasional example commands (e.g., xcodebuild -showsdks). It does not instruct reading unrelated files, exfiltrating data, or accessing secrets. Guidance on signing references best practices but does not request or attempt to consume credentials.
Install Mechanism
No install spec and no code files — instruction-only skill. Nothing will be downloaded or written to disk by an installer.
Credentials
No environment variables, credentials, or config paths are declared or referenced. Mention of signing and exported credentials is contextual advice, not a requirement to provide secrets to the skill.
Persistence & Privilege
always is false and the skill does not request elevated or persistent privileges. Autonomous invocation is allowed (platform default) but not combined with broad access requests.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ios
  3. After installation, invoke the skill by name or use /ios
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release
Metadata
Slug ios
Version 1.0.0
License
All-time Installs 25
Active Installs 20
Total Versions 1
Frequently Asked Questions

What is iOS?

Build, test, and ship iOS apps with Swift, Xcode, and App Store best practices. It is an AI Agent Skill for Claude Code / OpenClaw, with 2321 downloads so far.

How do I install iOS?

Run "/install ios" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is iOS free?

Yes, iOS is completely free (open-source). You can download, install and use it at no cost.

Which platforms does iOS support?

iOS is cross-platform and runs anywhere OpenClaw / Claude Code is available (darwin).

Who created iOS?

It is built and maintained by Iván (@ivangdavila); the current version is v1.0.0.

💬 Comments