lpw
2024-04-15 8fa52d6d93a9c60f5a09b5fd1c80b3a9c35046d0
commit | author | age
a6c014 1 /*
L 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
17 #import <Foundation/Foundation.h>
18
454098 19 NS_ASSUME_NONNULL_BEGIN
L 20
a6c014 21 @interface GULAppEnvironmentUtil : NSObject
L 22
23 /// Indicates whether the app is from Apple Store or not. Returns NO if the app is on simulator,
24 /// development environment or sideloaded.
25 + (BOOL)isFromAppStore;
26
27 /// Indicates whether the app is a Testflight app. Returns YES if the app has sandbox receipt.
28 /// Returns NO otherwise.
29 + (BOOL)isAppStoreReceiptSandbox;
30
31 /// Indicates whether the app is on simulator or not at runtime depending on the device
32 /// architecture.
33 + (BOOL)isSimulator;
34
35 /// The current device model. Returns an empty string if device model cannot be retrieved.
454098 36 + (nullable NSString *)deviceModel;
a6c014 37
aca600 38 /// The current device model, with simulator-specific values. Returns an empty string if device
L 39 /// model cannot be retrieved.
40 + (nullable NSString *)deviceSimulatorModel;
41
a6c014 42 /// The current operating system version. Returns an empty string if the system version cannot be
L 43 /// retrieved.
44 + (NSString *)systemVersion;
45
46 /// Indicates whether it is running inside an extension or an app.
47 + (BOOL)isAppExtension;
48
49 /// @return Returns @YES when is run on iOS version greater or equal to 7.0
50 + (BOOL)isIOS7OrHigher DEPRECATED_MSG_ATTRIBUTE(
51     "Always `YES` because only iOS 8 and higher supported. The method will be removed.");
52
454098 53 /// @return YES if Swift runtime detected in the app.
df1e8e 54 + (BOOL)hasSwiftRuntime __deprecated;
454098 55
8fa52d 56 /// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst", and
L 57 /// "visionos".
454098 58 + (NSString *)applePlatform;
L 59
aca600 60 /// @return An Apple Device platform. Same possible values as `applePlatform`, with the addition of
L 61 /// "ipados".
62 + (NSString *)appleDevicePlatform;
63
454098 64 /// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc.
L 65 + (NSString *)deploymentType;
66
a6c014 67 @end
454098 68
L 69 NS_ASSUME_NONNULL_END