そのため、Appleが魔法の制限を解除し、Adobe Flash CS5(詳細:
flash-ripper.com )でiPhone / iPadアプリケーションを公式に作成できるようになったため、
チュートリアルがあなたの目に表示されます。
私たちは何をしますか:
シンプルなP2Pチャット
必要なもの:
1. Adobe Flash CS 5(adobe.comからダウンロード)
2. iPhone証明書(心配しないで、どこで入手できるかを教えます)
3.(オプション)ジェイルブレイクしたiPhone / iPad
それでは行きましょう...
iPhoneアプリケーションを作成する
Adobe Flash CS 5を開き、[新規作成]でiPhone OSを選択します。
出来上がり。 これで作成できます。
(原則として、すべてをスキップしてデプロイしてアプリケーションを作成できますが、それはあなた次第です)
コンポーネントをアプリケーションにドラッグします。
何と理由を説明します。
IDは、
Adobe Stratusによって割り当てられたIDです。 このIDにより、アプリケーションとのp2p接続を確立し、オーディオ/ビデオ/コマンドを直接送信できます。
リモートIDは、接続/接続する
IDです
残りは明確にする必要があります。
id shnikiを登録します。
Idの近くのTextInputでlocalIdTextを呼び出し、読み取り専用にします
リモートIDの近くのTextInputにremoteIdTextという名前を付けます
大きくて怖いTextAreaコールchatLog
接続ボタン-btnConnect
送信ボタン-btnSend
次に、フレームの小さなコード:
フラッシュをインポートします。 ネット NetConnection
フラッシュをインポートします。 イベント 。 MouseEvent ;
const SERVER_ADDRESS: String = "rtmfp://stratus.adobe.com/" ;
const DEVELOPER_KEY: String = "adobe stratusに登録すると、彼らはあなたにそれを提供します;-)" ;
var connection: NetConnection ;
var streamIn: NetStream ;
var streamOut: NetStream ;
var isInStreamInitialized: ブール値 。
enabled = false ;
connection = new NetConnection ( ) ;
接続。 addEventListener ( NetStatusEvent。NET_STATUS、connStatus ) ;
接続。 addEventListener ( AsyncErrorEvent。ASYNC_ERROR、asyncErr ) ;
接続。 接続 ( SERVER_ADDRESS + DEVELOPER_KEY ) ;
関数 connStatus (イベント:NetStatusEvent ) : void {
if ( event。info。code == "NetConnection.Connect.Success" ) {
localIdText。 テキスト =接続。 nearID ;
initOutStream ( ) ;
}
}
関数 asyncErr (イベント:AsyncErrorEvent ) : void {
トレース (イベント) ;
}
関数 initOutStream ( ) : void {
isInStreamInitialized = false ;
enabled = true ;
streamOut = new NetStream (接続、 NetStream。DIRECT_CONNECTIONS ) ;
streamOut。 addEventListener ( NetStatusEvent。NET_STATUS、streamStatus ) ;
streamOut。 パブリッシュ ( 「メディア」 ) ;
var streamOutClient: Object = new Object ( ) ;
streamOutClient。 onPeerConnect = function ( farStream: NetStream ) : ブール値 {
remoteIdText。 テキスト = farStream。 farID ;
initInStream ( farStream。farID ) ;
chatLog。 text = "[接続済み] \ n " + chatLog。 テキスト
trueを 返し ます 。
} ;
streamOut。 client = streamOutClient;
}
関数 initInStream ( farID: String ) : void {
if ( isInStreamInitialized ) return ;
streamIn = new NetStream ( connection、farID ) ;
streamIn。 addEventListener ( NetStatusEvent。NET_STATUS、streamStatus ) ;
streamIn。 play ( "media" ) ;
streamIn。 クライアント = this ;
isInStreamInitialized = true ;
}
関数 streamStatus (イベント:NetStatusEvent ) : void {
trace ( "streamStatus:" + event。info。code ) ;
}
function receiveMessage ( msg: String ) : void {
トレース ( "receiveMessage:" + msg )
chatLog。 text = "<<" + msg + " \ n " + chatLog。 テキスト
}
関数 sendMessage ( msg: String ) : void {
streamOut。 send ( "receiveMessage" 、msg ) ;
chatLog。 text = ">>" + msg + " \ n " + chatLog。 テキスト
}
btnSend。 addEventListener ( MouseEvent。CLICK、 function ( e :MouseEvent ) : void {
sendMessage ( messageText。text ) ;
messageText。 テキスト = "" ;
} ) ;
btnConnect。 addEventListener ( MouseEvent。CLICK、 function ( e :MouseEvent ) : void {
initInStream ( remoteIdText。text ) ;
} ) ;
説明しません。 誰も気にしない-コメントへようこそ。
コード自体のトピックとFlashベースのコンポーネントの使用について-はい、曲がっています、はい、大丈夫です-しかし、それは単なる実験です;-)
展開する
これで、アプリケーションは完了です。 Cmd + Enter(またはCtrl + Enter)...そして、スタンドアロンプレーヤーが表示されます。
しかし、それは退屈です:-(デバイスでアプリケーションを見たいです。感じてください。
始めましょう。 まず、ipaをビルドする必要があります。
IPAを公開
IPAを作成するには、iPhone証明書が必要です。
次の2つの方法で取得できます。
1.登録済みのApple Developerであり、100ドルを支払っていて、すでにマジックファイルを持っている
2.単にiPhoneアプリケーションを作成するか、Cydia用のアプリケーションを作成する
最初のケースでは、すべてがすでにそうです:) 2番目では
、ここから p12をダウンロード
します
次に、公開を設定します。 [ファイル]-> [公開設定]を開きます。 [Flash]タブに移動します。
プレーヤーの近く
:iPhone OS、設定ボタンを押します:
[展開]タブで、p12証明書へのパスを指定します
パスワード:1234
また、プロビジョニングプロファイルも示します。 結果は次のようになります。
それだけです ここで、[ファイル]-> [公開]を押して、悲しいことに待ちます...
フォルダc flaに、ipaがあります。 ウリヤ! 少し残った
iPhone / iPadでIPAを起動する
グレーキー+ジェイルブレイクデバイスを使用する場合の方法を説明します。
そしてこれを行うことは非常に簡単です:
1. ipaをダブルクリックします-iTunesが開き、ipaがアプリケーションに追加されます
2.デバイスとの同期-デバイス上のアプリケーション
実際にすべて!
実際のチャット:
iPad:
Mac:
(私が手をタイプした場合)
flaおよびipaを使用したアーカイブ:
http://batsuev.com/habr/p2p-chat.zip