# ObjC.call

Call an exact Objective-C selector.

```js
ObjC.call(target, selector, ...args)
```

## Arguments

| Argument | Type | Meaning |
| --- | --- | --- |
| `target` | string \| proxy | Class name or object proxy from this client. |
| `selector` | string | Exact selector, including colons. |
| `args` | any | Arguments matching the fixed native signature. |

## Returns

Native scalars become JS primitives; objects/classes remain proxies; nil/void is null. Large integers use BigInt (or a decimal string if unavailable).

## Example

```js
const text = ObjC.call("NSString", "stringWithString:", "Hello");
console.log(text.toJS());
text.release();
```

## Notes

Start with [Objective-C step by step](/doc/objc). Also available on app = RemoteObjC.forApp(bundleId) as app.call(). No callbacks, non-null blocks, variadic calls, unions or arbitrary pointers. Use null for nil, not the string "nil".

[All JavaScript APIs](https://mcp.applesauceos.com/doc/api.md) · [Automation playbook](https://mcp.applesauceos.com/doc/ai.md)
