दिलचस्प पोस्ट
Rpy2 के लिए अजगर ऑब्जेक्ट को परिवर्तित करना कई विदेशी_कीज़ के साथ रेल मॉडल है वेब क्रॉलर्स जावास्क्रिप्ट को कैसे नियंत्रित करते हैं Windows पर किसी शेड्यूल किए गए कार्य के माध्यम से यूआरएल लोड करने की सिफारिश की गई विधि स्टैफ़फ्रेम कैसा है? एक्सेस प्रतिबंध: आवश्यक पुस्तकालय पर प्रतिबंध के कारण पहुंच योग्य नहीं है .. \ jre \ lib \ rt.jar वर्णमाला रेंज अजगर प्रमाणन अनुकूलन – लॉगिन Symfony2 संदेश बाइंड क्लास विंडो स्क्रॉल ईवेंट में टॉगल करें Java.lang.ClassNotFoundException त्रुटि: Google Map V2 में com.google.android.gms.maps.MapFragment मैं ClassNotFoundException को कैसे हल करूं? सी – निर्धारित करें कि कोई संख्या प्रधान है या नहीं क्लास पर __getitem__ को परिभाषित क्यों करता है अजगर में इसे चालू करता है? क्या मैं एकता के संकल्प () विधि के लिए कन्स्ट्रक्टर पैरामीटर पास कर सकता हूं? डी 3.जेएस में सरणी के लिए सीएसवी

रनटाइम पर यह बताने के लिए कि क्या कोई आईओएस ऐप टेस्टफ्लाइट बीटा इंस्टॉल के माध्यम से चल रहा है

क्या रनटाइम में पता लगाया जा सकता है कि एप स्टोर के माध्यम से टेस्टफ्लाइट बीटा (आईट्यून्स कनेक्ट के जरिए जमा) के माध्यम से कोई एप्लिकेशन इंस्टॉल किया गया है? आप एक एकल ऐप बंडल सबमिट कर सकते हैं और इसे दोनों के माध्यम से उपलब्ध कर सकते हैं। क्या कोई एपीआई है जो यह पता लगा सकता है कि किस तरह से इसे स्थापित किया गया था? या क्या रसीद में ऐसी जानकारी होती है जो इसे निर्धारित करने की अनुमति देती है?

Solutions Collecting From Web of "रनटाइम पर यह बताने के लिए कि क्या कोई आईओएस ऐप टेस्टफ्लाइट बीटा इंस्टॉल के माध्यम से चल रहा है"

टेस्टफ्लाइट बीटा के माध्यम से इंस्टॉल किए गए एप्लिकेशन के लिए रसीद फ़ाइल को StoreKit\sandboxReceipt नामित सामान्य StoreKit\receipt बनाम नाम दिया गया है। [NSBundle appStoreReceiptURL] का उपयोग करके आप यूआरएल के अंत में सैंडबॉक्स रीसिपिड देख सकते हैं।

 NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL]; NSString *receiptURLString = [receiptURL path]; BOOL isRunningTestFlightBeta = ([receiptURLString rangeOfString:@"sandboxReceipt"].location != NSNotFound); 

ध्यान दें कि sandboxReceipt रसीद फ़ाइल का नाम है जब स्थानीय रूप से चलाता है और सिम्युलेटर में रन बनाने के लिए

संयोजक के उत्तर के आधार पर मैंने निम्नलिखित SWIFT सहायक वर्ग का निर्माण किया। इस वर्ग के साथ आप यह तय कर सकते हैं कि यह डिबग, टेस्टफ़ाइट या ऐपस्टोर बिल्ड है।

 enum AppConfiguration { case Debug case TestFlight case AppStore } struct Config { // This is private because the use of 'appConfiguration' is preferred. private static let isTestFlight = NSBundle.mainBundle().appStoreReceiptURL?.lastPathComponent == "sandboxReceipt" // This can be used to add debug statements. static var isDebug: Bool { #if DEBUG return true #else return false #endif } static var appConfiguration: AppConfiguration { if isDebug { return .Debug } else if isTestFlight { return .TestFlight } else { return .AppStore } } } 

हम अलग-अलग ट्रैकिंग आईडी या प्रति माह कनेक्शन स्ट्रिंग की आपूर्ति के लिए इन विधियों का उपयोग करते हैं:

  func getURL(path: String) -> String { switch (Config.appConfiguration) { case .Debug: return host + "://" + debugBaseUrl + path default: return host + "://" + baseUrl + path } } 

या:

  static var trackingKey: String { switch (Config.appConfiguration) { case .Debug: return debugKey case .TestFlight: return testflightKey default: return appstoreKey } } 

05-02-2016 को अपडेट करें: यदि कोई पूर्वप्रसारक मैक्रो का उपयोग करने के लिए एक शर्त है तो # डीब्यूग कुछ स्विफ्ट कम्पाइलर कस्टम झंडे सेट करना है इस उत्तर में अधिक जानकारी: https://stackoverflow.com/a/24112024/639227

आधुनिक स्विफ्ट संस्करण, जो सिमुलेटर के लिए खाता है (स्वीकार किए जाते हैं उत्तर के आधार पर):

 private func isSimulatorOrTestFlight() -> Bool { guard let path = Bundle.main.appStoreReceiptURL?.path else { return false } return path.contains("CoreSimulator") || path.contains("sandboxReceipt") } 

यह भी काम करता है:

 if NSBundle.mainBundle().pathForResource("embedded", ofType: "mobileprovision") != nil { // TestFlight } else { // App Store (and Apple reviewers too) } 

पता लगा है कि एप्पल के टेस्टफ्लाइट से आईओएस ऐप डाउनलोड किया गया है या नहीं

एक ही तरीका है कि मैं इसे अपने प्रोजेक्ट्स के लिए उपयोग कर रहा हूं। ये कदम हैं

Xcode में, प्रोजेक्ट सेटिंग्स (प्रोजेक्ट, लक्ष्य नहीं) पर जाएं और सूची में "बीटा" कॉन्फ़िगरेशन जोड़ें:

यहां छवि विवरण दर्ज करें

फिर आपको नई योजना बनाने की आवश्यकता है जो "बीटा" कॉन्फ़िगरेशन में प्रोजेक्ट चलाएगा योजना बनाने के लिए यहां जाएं:

यहां छवि विवरण दर्ज करें

इस योजना को जो भी आप चाहते हैं उसे नाम दें आपको इस योजना के लिए सेटिंग्स को संपादित करना चाहिए। ऐसा करने के लिए, यहां टैप करें:

यहां छवि विवरण दर्ज करें

आर्काइव टैब चुनें जहां आप Build configuration चयन कर सकते हैं

यहां छवि विवरण दर्ज करें

फिर आपको मूल्य की $(CONFIGURATION) परियोजनाओं की जानकारी संपत्ति सूची जैसे एक कुंजी Config को जोड़ने की आवश्यकता है:

यहां छवि विवरण दर्ज करें

फिर इसके सिर्फ मामले में बीटा निर्माण के लिए कुछ विशेष करने के लिए आपको कोड की आवश्यकता होती है:

 let config = Bundle.main.object(forInfoDictionaryKey: "Config") as! String if config == "Debug" { // app running in debug configuration } else if config == "Release" { // app running in release configuration } else if config == "Beta" { // app running in beta configuration }