The goal of this CL is to separate Obj-C/Obj-C++ code from targets which have also C++ code (see https://bugs.chromium.org/p/webrtc/issues/detail?id=7743 for more information). To achieve this we have created 2 targets (audio_device_ios_objc and audio_device_generic) and audio_device will act as a proxy between these targets (this way we can avoid a circular dependency between audio_device_generic and audio_device_ios_objc). BUG=webrtc:7743 Review-Url: https://codereview.webrtc.org/2991343002 Cr-Commit-Position: refs/heads/master@{#19795}