2011-10-30 10 views
5

यह शायद एक लंबा शॉट है लेकिन पूछने के लिए कोई दिक्कत नहीं है ...
क्या आपको लगता है कि बिल्डिंग होस्ट का आईपी पता प्राप्त करना संभव है जब उद्देश्य-सी में आईओएस के लिए एक्सकोड के तहत निर्माण करना संभव हो?
यदि यह संभव था तो यह मेरे परीक्षण के लिए उपयोगी होगा।
उदाहरण के लिए:क्या उद्देश्य-सी में प्रीप्रोसेसर डेफिन से स्थानीय आईपी पता प्राप्त करना संभव है?

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

मैं कहाँ HOST_IP उम्मीद होती है कुछ इस तरह होना करने के लिए (यदि वहाँ ऐसा ही कुछ था), लेकिन निश्चित रूप स्वचालित रूप से निर्माण समय पर नियंत्रित की सही आईपी धारण करने के लिए:

#define HOST_IP @"172.76.77.5" 

उत्तर

3

कोई सुविधाजनक समाधान नहीं है, लेकिन यहां कुछ विकल्प विचार करने हैं।

  1. अपने #define में, टाइप करें आपके कंप्यूटर के होस्ट-नाम (यह एक लैन पर है) - http://mylaptop:5000/ या बस एक मुक्त डोमेन के लिए साइन अप @http://www.no-ip.com/

  2. अगर यह विशेष रूप से एक है करने के लिए आवश्यक है # मैक्रो को परिभाषित करें जिसमें आपका आईपी पता है, आप बस एक छोटी बैश स्क्रिप्ट लिख सकते हैं जो आपके .m/.cpp/.h फ़ाइल में परिभाषित आईपी अपडेट करता है या जो भी यह # परिभाषित करता है। तो आप स्क्रिप्ट को पूर्व-निर्माण चरण के रूप में जोड़ सकते हैं, या जब आप जानते हैं कि आईपी पता बदल गया है तो बस स्क्रिप्ट चलाएं। हालांकि मैं इसे थोड़ी हैकिश मानता हूं।

+0

अच्छा विचार - विकल्प # 2 अच्छा लगता है। – DouglasHeriot

+0

आपका नंबर 2 मेरा समाधान होगा। बिट हैकी, लेकिन पूरी तरह से बुरा नहीं है। – joerick

0

सुनिश्चित नहीं हैं कि इस काम करता है, लेकिन हो सकता है आप की तरह

static NSString *HOST_IP; 

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

कुछ की तरह है कि काम हो सकता है कुछ कर सकते हैं, लेकिन मुझे यकीन है कि क्या होता है जब आप कक्षा जारी नहीं कर रहा हूँ।

+0

क्षमा करें, यह काम नहीं करेगा। यदि डिवाइस चालू हो रहा है तो आपकी विधि आईपी पता बनाए रखेगी। हालांकि मैं बिल्ड सर्वर के आईपी पते के लिए पूछ रहा था (जो मेरा डीबग बैकएंड सर्वर भी है) – Ran

संबंधित मुद्दे