Firestore COUNT API by tom-andersen · Pull Request #1174 · firebase/firebase-cpp-sdk

@tom-andersen

github-actions[bot]

bot reviewed Dec 19, 2022

@chkuang-g @tom-andersen

@AlmostMatt @tom-andersen

…1167)

When macOS Sandbox mode is enabled, macOS requires that semaphores have a name that is prefixed by the App's Group Name. If the semaphore's name doesn't match this convention then its creation fails.

Unfortunately there's no official way for the SDK to query the app's group name at runtime, so we can't automatically mangle the semaphore names.

Instead I've updated the SDK to use an Info.plist property named FBAppGroupEntitlementName on macOS. If that property is present then the SDK will use it's value to prefix the semaphore names.

As an additional issue, the SDK attempted to detect semaphore creation errors by comparing the semaphore handle to nil. But in the case of macOS, a semaphore creation error returns SEM_FAILED which is 0xFFFFFFFFFFFFFFFF, not nil. And on Linux, sem_init returns -1. I've updated the corresponding platform implementations to detect the correct  values for these errors.

@sunmou99 @tom-andersen

@sunmou99 @tom-andersen

The GMA backend doesn't whitelist iOS devices running in CI which means number of ads that can be served to iOS in CI is restricted. This is true even when using the prescribed Demo Ad Unit Id.

This PR reduces the number of ads we load on iOS in an attempt to minimize the chance of encountering NoFillErrors and push our CI to green.

@tom-andersen

@tom-andersen

# Conflicts:
#	release_build_files/readme.md

@tom-andersen

@tom-andersen

@tom-andersen

@tom-andersen

@tom-andersen

@tom-andersen

@tom-andersen

dconeybe

@tom-andersen

@tom-andersen

dconeybe

@tom-andersen

@tom-andersen

dconeybe

dconeybe

@firebase firebase locked and limited conversation to collaborators

Mar 13, 2023