実際のところ、あなたはそうすることができます!
Objective-Cを使用すると、メソッドを「スウィズル」してデフォルトの動作をオーバーライドし、必要に応じて元の実装を呼び出すことができます。これは、Objective-Cメソッドに対して、何度でも実行できます。
C関数に存在する動作をオーバーライドする場合は、プラットフォームをもう少し制御する必要があります。ジェイルブレイクを使用すると、Jay FreemanのCydiaSubstrateの全機能を使用して、Objective-CメソッドとC /C++関数の両方をフックまたはスウィズルできます。
MethodSwizzle
それ自体の使用はお勧めしませんが、次のURLには、スウィズリングについての適切な説明がありますhttp://cocoadev.com/wiki/MethodSwizzling。
ただし、実際には、代わりにCydiaSubstrateのMSHookMessageExとMSHookFunctionを使用する必要があります。特に、AppStoreに何も送信していないためです。
Bluetoothに関しては、この分野で広範な作業を行ってきました(iOS上のシステムアプリにバニラBluetooth OBEXサポートを提供するシステム全体の調整であるCelesteを開発しました)。BTstackのようなものを使用することを検討することをお勧めします。これは、HCIからRFCOMMレベルまでのBluetoothモジュールへのアクセスを提供し、おそらく必要になるSDPやペアリングなどをサポートします。また、メソッドのスウィズリングを必要としないという追加の利点もあります。これは、絶対に避けなければならないある種の悪魔的な儀式であると考える人もいます。