# iOS용 네이티브 플러그인 호출

> Wrap native code in C# layer to only run code when using an iOS device.

앱은 실제 기기에 배포된 경우에만 iOS 네이티브 플러그인을 호출할 수 있습니다. 기기에서 앱이 실행 중일 때만 네이티브 메서드를 호출하도록 모든 네이티브 코드 메서드를 추가 C# 코드 레이어로 래핑합니다. 이 C# 파일을 프로젝트의 `Assets` 폴더에 저장합니다.

이 C# 레이어는 [플랫폼 조건부 컴파일](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/conditional-compilation/platform-dependent-compilation.md)을 사용하거나 [`Application.platform`](/engine/6000.0/script-reference/unity-engine/application/platform.md)을 확인할 수 있습니다. Unity 에디터에서 실행되는 코드의 경우 플레이스홀더 값을 반환합니다.

이러한 메서드의 간단한 구현 방법은 다음 섹션을 참조하십시오. 더 자세한 구현을 위해 아래 [Bonjour 브라우저 샘플](/engine/6000.0/manual/platform-specific/iphone/ios-developing/plugins-for-ios/ios-native-plugin-use/bonjour-sample.md)을 다운로드하십시오.

## 조건부 컴파일 사용##use-conditional-compilation

런타임 시점이 아닌 컴파일 시점에 평가되므로 플랫폼별 컴파일은 `Application.platform`보다 빠릅니다.

다음을 사용하여 조건부 컴파일을 구현합니다.

```lang-csharp
void MyMethod()
{
#if UNITY_IOS && !UNITY_EDITOR
    CallNativeMethodImplementation();
#else
    CallEditorMethodImplementation();
#endif
}
```

## Application.platform 확인##check-application.platform

다음을 사용하여 에디터에서 [`Application.platform`](/engine/6000.0/script-reference/unity-engine/application/platform.md)을 구현하고 플레이스홀더 값을 반환합니다.

```lang-csharp
void MyMethod()
 {
	if (Application.platform != RuntimePlatform.OSXEditor)
	{
		return _GetLookupStatus();
	}
	else
	{
		return "Done";
	}
}
```

## 추가 리소스##additional-resources

* [네이티브 코드에서 콜백](/engine/6000.0/manual/platform-specific/iphone/ios-developing/plugins-for-ios/ios-native-plugin-use/call-back.md)
* [Bonjour 브라우저 샘플](/engine/6000.0/manual/platform-specific/iphone/ios-developing/plugins-for-ios/ios-native-plugin-use/bonjour-sample.md)
