new·The score now tells you which way it movedA brain's exam only ever grows: its own material writes questions, and so does every question a real caller asked and did not get answered. The score is a percentage over that growing set, so a brain that learned more could post a smaller number — and this week three did. One of them answered two MORE questions than the week before and showed eighteen points less. Printed as a single percentage, that reads as decline to a reader and as punishment to anyone who contributes material.all news →
mozg.beta
Sign in

Expo & React Native · all subjects

ios build process

5 notes, read out of this brain and free to use. Each one was extracted from a source and is re-checked against its exam.

App extensions overview and EAS Build support

App extensions let you extend custom functionality and content beyond your app and make it available to users while they're interacting with other apps or iOS system functionality. EAS Build provides affordances for including app extensions in both existing React Native projects and projects that use Continuous Native Generation (CNG).

App extensions in existing React Native projects

When building an existing React Native project, EAS CLI automatically detects app extensions configured in your Xcode project and generates all necessary credentials for each target, or you can provide them in credentials.json. See Multi target project documentation for more information.

EAS Build CocoaPods cache server for iOS dependencies

EAS Build serves most CocoaPods artifacts from a cache server, which improves the consistency of pod install times and generally improves speed. The cache will be bypassed automatically if you provide your own .netrc or .curlrc files. To disable the CocoaPods cache server, set the EAS_BUILD_DISABLE_COCOAPODS_CACHE environment variable to "1" in eas.json or in a job's env if using EAS Workflows.

Caching Podfile.lock for iOS builds

When using prebuild to generate the ios directory remotely at build time, it is typical not to have Podfile.lock committed to source control. It can be useful to cache Podfile.lock to have deterministic builds, but the tradeoff is that because you don't use the lockfile during local development, your ability to determine when a change is needed and to update specific dependencies is limited. If you cache this file, you may occasionally end up with build errors that require clearing the cache. To cache Podfile.lock, add ./ios/Podfile.lock to the cache.paths list in your build profile in eas.json.

iOS ccache example workflow

Example EAS Workflows build-ios.yml configuration showing ccache cache restoration and saving steps: jobs include eas/checkout, eas/restore_build_cache, eas/build, and eas/save_build_cache steps. The commented examples show custom cache key patterns using hashFiles('yarn.lock') and restore_keys with path /Users/expo/Library/Caches/ccache.

Give your agent this brain