일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 어도비
- Microsoft
- Genome2D
- Flex
- 플렉스
- 아폴로케이션
- Silverlight
- 책
- framework
- stage3d
- 주식
- 워렌 버핏
- 도서
- Flash
- adobe
- 액션스크립트
- API
- 실버라이트
- 3.0
- 아폴로
- 물리엔진
- 마이크로소프트
- Papervision3D
- 플래시
- XAML
- Papervision
- 3D
- Air
- starling
- ActionScript
- Today
- Total
WonHada.com으로 이전
Adobe의 NetworkInfo ANE에 대한 올바른 사용법 본문
http://www.adobe.com/devnet/air/native-extensions-for-air/extensions/networkinfo.html
위 페이지의 NetworkInfo ANE 샘플을 이용해 보신 분 중에 iOS에서 작동을 안해서 포기하신 분들이 있으실 것 같습니다. 그래서 대부분 아래 URL의 ANE를 쓰실텐데요.
https://github.com/freshplanet/ANE-Network-Info
저의 경우는 freshplanet ANE가 다른 ANE와 충돌이 발생했습니다. 그래서 다시 Adobe의 ANE를 살펴봤습니다.
자세히 보다보니 import com.adobe.nativeExtensions.Networkinfo.NetworkInfo; 가 보입니다. 혹시 본인이 썼던 소스의 NetworkInfo 가 flash.net.NetworkInfo 라면 잘못 사용한 것입니다. 처음 URL의 소스를 다운받으시면 ANE가 들어 있으니 프로젝트에 포함시켜서 사용해 보세요. 잘 됩니다.
덤으로..hardwareAddress를 이용하면 MAC Address를 얻을 수 있는데요. 여러개가 나와서 뭘 써야할지 모르는 분들은 아래 코드로 실행을 해보세요.
var ntf:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces();
for each (var interfaceObj:NetworkInterface in ntf)
{
trace(interfaceObj.active + ", " + interfaceObj.name + ", " +interfaceObj.hardwareAddress + "\n");
}
그러면 하나만 active가 true일 것입니다. 그것의 이름은 'en0'일거고요. Objective-C 소스들을 보니 모두 'en0'의 값을 가져와서 쓰고 있었습니다. 그러니 'en0'이 고유한 MAC Address라고 생각하시면 될 것입니다.