GULAppEnvironmentUtil.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /*
  2. * Copyright 2017 Google
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #import <Foundation/Foundation.h>
  17. NS_ASSUME_NONNULL_BEGIN
  18. @interface GULAppEnvironmentUtil : NSObject
  19. /// Indicates whether the app is from Apple Store or not. Returns NO if the app is on simulator,
  20. /// development environment or sideloaded.
  21. + (BOOL)isFromAppStore;
  22. /// Indicates whether the app is a Testflight app. Returns YES if the app has sandbox receipt.
  23. /// Returns NO otherwise.
  24. + (BOOL)isAppStoreReceiptSandbox;
  25. /// Indicates whether the app is on simulator or not at runtime depending on the device
  26. /// architecture.
  27. + (BOOL)isSimulator;
  28. /// The current device model. Returns an empty string if device model cannot be retrieved.
  29. + (nullable NSString *)deviceModel;
  30. /// The current device model, with simulator-specific values. Returns an empty string if device
  31. /// model cannot be retrieved.
  32. + (nullable NSString *)deviceSimulatorModel;
  33. /// The current operating system version. Returns an empty string if the system version cannot be
  34. /// retrieved.
  35. + (NSString *)systemVersion;
  36. /// Indicates whether it is running inside an extension or an app.
  37. + (BOOL)isAppExtension;
  38. /// @return Returns @YES when is run on iOS version greater or equal to 7.0
  39. + (BOOL)isIOS7OrHigher DEPRECATED_MSG_ATTRIBUTE(
  40. "Always `YES` because only iOS 8 and higher supported. The method will be removed.");
  41. /// @return YES if Swift runtime detected in the app.
  42. + (BOOL)hasSwiftRuntime __deprecated;
  43. /// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst", and
  44. /// "visionos".
  45. + (NSString *)applePlatform;
  46. /// @return An Apple Device platform. Same possible values as `applePlatform`, with the addition of
  47. /// "ipados".
  48. + (NSString *)appleDevicePlatform;
  49. /// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc.
  50. + (NSString *)deploymentType;
  51. @end
  52. NS_ASSUME_NONNULL_END