読者です 読者をやめる 読者になる 読者になる

RetroWeb ~iPhoneとAndroidでハイブリッドゲームアプリ開発~

AIR for iOS+AndroidでSmartPhone Game ハイブリッドアプリ開発

最近作ったアプリ
100億本の抜け毛 100億匹のモナー DQ3闘技場アプリ モナーペット(進化)

ane競合時の謎エラー対策

Adobe AIR AIR for Android AIR for iOS ゲーム開発 同人ゲーム

自作aneを作って、AdobeのGameCenterのaneと合わせて使ったら、下記エラー;

ArgumentError: Error #3500: The extension context does not have a method with the name getAuthenticated.
	at flash.external::ExtensionContext/_call()
	at flash.external::ExtensionContext/call()
	at com.adobe.ane.gameCenter::GameCenterController/get authenticated()
	at Test3$/initGameCenter()[C:\Users\hisashi_vc\Adobe Flash Builder 4.7\Test3\src\Test3.as:41]
	at Test3()[C:\Users\hisashi_vc\Adobe Flash Builder 4.7\Test3\src\Test3.as:24]
[SWF] com.starbrain.devpush.HelloWorld3 - 2,995 バイト (圧縮後)
[SWF] Test3.swf - 2,321 バイト (圧縮後)

原因に心当たりなく謎。ネットではリリースビルドにすればError #3500消えるという情報を見かけましたが、どうもいろいろやってもダメぽ。最終的にextention.xml内の下記記述回りを一通りユニークな名前にしたら、なおりました。

<initializer>ExtInitializer</initializer>
<finalizer>ExtFinalizer</finalizer>

<initializer>ExtInitializerHisa</initializer>
<finalizer>ExtFinalizerHisa</finalizer>

ネイティブ側言語の記述も合わせて修正して、メソッド名や参照名全部ユニークにして、aneを再生成したらなおりました。