2011-10-30 13 views
5

これは長いショットですが、質問するのに傷つくことはありません。
Objective-CでiOS用にビルドするときにビルドホストのIPアドレスを取得することは可能でしょうか?
可能であれば、私のテストに役立つでしょう。 (そのようなことがあった場合)、私はこのようなものであることをHOST_IPを期待Objective-CのプリプロセッサDEFINEからローカルIPアドレスを取得できますか?

NSString* backendUrl = [NSString stringWithFormat:@"http://%@:5000/", HOST_IP]; 

、もちろん自動的に正しいIPを保持するために、ビルド時に制御:

#define HOST_IP @"172.76.77.5" 
例えば

答えて

3

便利な解決法はありませんが、考慮すべきいくつかのオプションがあります。あなたの#defineで

  1. (それはLAN上にある場合)、コンピュータのホスト名を入力します - http://mylaptop:5000/ あるいは単にそれが特異的にする必要ならhttp://www.no-ip.com/

  2. @無料のドメインにサインアップあなたのIPアドレスを含む#defineマクロを作成するには、.m/.cpp/.hファイル内に定義されたipを更新する小さなbashスクリプト、またはこの#defineを保持するものを書くだけです。 スクリプトをビルド前段階として追加するか、IPアドレスが変更されたことを知ったときにスクリプトを実行するだけです。私はちょっとハッキリしていると認めますが。

+0

良いアイデア - オプション#2は良いと思う。 – DouglasHeriot

+0

あなたの番号。 2私の解決策になります。ビットハッキーですが、全体的に悪くはありません。 – joerick

0

わからないこれは動作しますが、多分あなたはそれがうまくいくかもしれないような

static NSString *HOST_IP; 

-(id)init 
{ 
    if (self = [super init]) 
    { 
     HOST_IP = // Your code 
    } 
    return self; 
} 

何かのような何かを行うことができ、私はあなたがクラスを離したときに何が起こるかわからない場合。

+0

申し訳ありませんが、これは動作しません。あなたのメソッドは、それが実行されているデバイスの場合はIPアドレスを保持します。私はビルドサーバーのIPアドレスを要求していた(これは私のデバッグバックエンドサーバでもある) – Ran

関連する問題