lpw
2021-01-26 454098c2f508505fc55c60c577250b8610abaaf3
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
L 38 /// The current operating system version. Returns an empty string if the system version cannot be
39 /// retrieved.
40 + (NSString *)systemVersion;
41
42 /// Indicates whether it is running inside an extension or an app.
43 + (BOOL)isAppExtension;
44
45 /// @return Returns @YES when is run on iOS version greater or equal to 7.0
46 + (BOOL)isIOS7OrHigher DEPRECATED_MSG_ATTRIBUTE(
47     "Always `YES` because only iOS 8 and higher supported. The method will be removed.");
48
454098 49 /// @return YES if Swift runtime detected in the app.
L 50 + (BOOL)hasSwiftRuntime;
51
52 /// @return An Apple platform. Possible values "ios", "tvos", "macos", "watchos", "maccatalyst".
53 + (NSString *)applePlatform;
54
55 /// @return The way the library was added to the app, e.g. "swiftpm", "cocoapods", etc.
56 + (NSString *)deploymentType;
57
a6c014 58 @end
454098 59
L 60 NS_ASSUME_NONNULL_END