AIRでLocalConnectionを使ってデータを受け取る場合には、
[AS]
var con:LocalConnection = new LocalConnection();
con.send(“接続名”, “メソッド名”, 引数…);
[/AS]
のようにすればいいのはわかるが、ここで”接続名”ではまってしまった。
一体、”接続名”は何になるのか・・・・・
いろいろ調べていたら、ここに書いてありました。
以下、抜粋
———–
Adobe AIR の application セキュリティサンドボックスで実行されているコンテンツ(AIR アプリケーションと共にインストールされたコンテンツ)では、スーパードメインの代わりに、ストリング app# に続いて AIR アプリケーションのアプリケーション ID(アプリケーション記述子ファイルで定義)が使用されます。例えば、アプリケーションの connectionName は、アプリケーション ID が com.example.air.MyApp の場合、connectionName は”app#com.example.air.MyApp:connectionName” に解決されます。
———-
つまり、アプリケーションIDをFooにした場合には、app#Foo:connectionNameになるというのです。
これで、上の”接続名”としてもうまくいきませんでした。
そこで、AIRとして実際に実行してdomainの値を見てみるととこれが違うのです。
[AS]
app#Foo.7D80D064F882A8B9EAC3293F93623397AC88D9C0.1
[/AS]
ってな感じで、表示されるではありませんか?
で、実際これをつかって
[AS]
app#Foo.7D80D064F882A8B9EAC3293F93623397AC88D9C0.1:connectionName
[/AS]
にしてみたら、うまくできました。
どうやら、これはpublish idのようです。
(publish id がわからない方は、この名称で調べてみてください。)
でも、さらにもう一つ問題が・・・・
これ、AIRとしてインストールすればこのIDが表示されるのですが、Flex BuilderでデバッグしているときにはこのIDが設定されないので、
結局デバッグができない・・・・
と思って調べてみたら、ちゃんと設定場所があるのですね。
アプリを右クリックして、プロパティから「実行/デバッグの設定」で、アプリの「編集」ボタンを押すと、
「パブリッシャーID」
として、登録する場処理がありました。
これを設定すれば、Flex Builderでのデバッグでも、きちんとできました。
いやー、結構はまりました。


