相关疑难解决方法(0)

如何确定当前的iPhone /设备型号?

有没有办法在Swift中获取设备型号名称(iPhone 4S,iPhone 5,iPhone 5S等)?

我知道有一个名为的属性,UIDevice.currentDevice().model但它只返回设备类型(iPod touch,iPhone,iPad,iPhone模拟器等).

我也知道可以使用这种方法在Objective-C中轻松完成:

#import <sys/utsname.h>

struct utsname systemInfo;
uname(&systemInfo);

NSString* deviceModel = [NSString stringWithCString:systemInfo.machine
                          encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)

但是我正在Swift中开发我的iPhone应用程序,所以有人可以用同样的方式帮助我在Swift中解决这个问题吗?

iphone device ios swift

358
推荐指数
16
解决办法
23万
查看次数

检测设备是否为iPhone X.

我的iOS应用程序使用自定义高度UINavigationBar导致新iPhone X上出现一些问题.

如果应用程序在iPhone X上运行,是否有人已经知道如何以编程方式(在Objective-C中)进行可靠检测?

编辑:

当然,检查屏幕的大小是可能的,但是,我想知道是否有一些"内置"方法,如TARGET_OS_IPHONE检测iOS ...

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    CGSize screenSize = [[UIScreen mainScreen] bounds].size;
    if (screenSize.height == 812)
        NSLog(@"iPhone X");
}
Run Code Online (Sandbox Code Playgroud)

编辑2:

我不认为,我的问题是链接问题的重复.当然,有一些方法可以"测量"当前设备的不同属性,并使用结果来决定使用哪个设备.然而,这不是我的问题的实际问题,因为我在第一次编辑时试图强调.

实际的问题是:"是否可以直接检测当前设备是否是iPhone X(例如,通过某些SDK功能)或者我是否必须使用间接测量"

到目前为止给出的答案,我认为答案是"不,没有直接的方法.测量是要走的路".

iphone objective-c ios iphone-x

248
推荐指数
16
解决办法
16万
查看次数

如何解决:iOS 13.0中不推荐使用“ keyWindow”

我正在将Core Data和Cloud Kit一起使用,因此必须在应用程序启动期间检查iCloud用户状态。如果出现问题,我想向用户发出一个对话框UIApplication.shared.keyWindow?.rootViewController?.present(...),直到现在我还是这样做。

在Xcode 11 beta 4中,现在有一条新的弃用消息,告诉我:

iOS 13.0中已弃用“ keyWindow”:不应将其用于支持多个场景的应用程序,因为它会返回所有已连接场景的关键窗口

我该如何显示对话框?

uikit uiwindow uiapplication uiscene

43
推荐指数
14
解决办法
8426
查看次数

如何检测设备(iphone)是否有物理主页按钮?

如何在Swift中检测当前设备(iPhone)是否有物理主页按钮或者没有,例如:iPhone X,iPhone Xs,iPhone Xs Max,iPhone Xr

iphone ios swift

3
推荐指数
1
解决办法
1927
查看次数

标签 统计

ios ×3

iphone ×3

swift ×2

device ×1

iphone-x ×1

objective-c ×1

uiapplication ×1

uikit ×1

uiscene ×1

uiwindow ×1