GULAppEnvironmentUtil.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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 operating system version. Returns an empty string if the system version cannot be
  31. /// retrieved.
  32. + (NSString *)systemVersion;
  33. /// Indicates whether it is running inside an extension or an app.
  34. + (BOOL)isAppExtension;
  35. /// @return Returns @YES when is run on iOS version greater or equal to 7.0
  36. + (BOOL)isIOS7OrHigher DEPRECATED_MSG_ATTRIBUTE(
  37. "Always `YES` because only iOS 8 and higher supported. The method will be removed.");
  38. /// @return YES if Swift runtime detected in the app.
  39. + (BOOL)hasSwiftRuntime __deprecated;
  40. /// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst".
  41. + (NSString *)applePlatform;
  42. /// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc.
  43. + (NSString *)deploymentType;
  44. @end
  45. NS_ASSUME_NONNULL_END