有没有办法在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中解决这个问题吗?
Android Studio中的AVD管理器不显示我的设备,但"adb devices"确实显示了它.我错过了一些明显的东西吗?
自从我重新安装Eclipse(只是删除并再次下载)后,我无法在Samsung Galaxy i9001(使用CyanogenMod - Android 4.4.2)上调试我的应用程序.它在重新安装之前工作正常.
拔下/插入,取消选中/选中"Debug Enabled",adb kill-server/adb start-server,重启手机/电脑对我不起作用.在设备授权对话框上永远不会出现(但我记得在重新安装之前出现了对话框).我不知道如何强制显示此授权对话框..android目录中没有abd_key.pub文件.当我尝试读取cpu信息DDMS说:
[2014-04-15 12:47:06 - DDMS] device unauthorized. Please check the confirmation dialog on your device.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?是否可以手动生成密钥而无需确认对话框?
USB连接
无线连接
我刚刚升级到XCode 4.5 GM,发现你现在可以将"4"Retina'大小应用到故事板中的视图控制器.
现在,如果我想创建一个在iPhone 4和5上运行的应用程序,当然我必须构建每个窗口两次,但我还必须检测用户是否有一个3.5"或4"屏幕的iPhone,然后应用视图.
我该怎么办?
当我尝试构建和运行时,Xcode表示我的设备已被锁定.我看了看我的iPhone,它根本没有锁定......可能的错误?我该如何解决?
我有一个在iPhone和iPod Touch上运行的应用程序,它可以在Retina iPad上运行,但除此之外需要进行一次调整.我需要检测当前设备是否是iPad.我可以使用哪些代码来检测用户是否在我的iPad中使用iPad UIViewController
然后相应地更改了某些内容?
我正在制作一款利用iPhone的对等蓝牙功能的游戏(可能还有iPod touch第二代).但是,要阻止用户尝试在iPod 1st和iPhone 2G上播放多人游戏,我需要检查特定的设备型号.
[[UIDevice currentDevice] model]只会告诉我该设备是"iPhone"还是"iPod touch".有没有办法检查特定的设备型号,如:"iPhone 3GS","iPod touch第一代"或类似的东西.
编辑:
UIDevice有一个类别(我认为它是由Erica Sadun创建的,我不赞成它),它使用以下代码来获取特定的设备模型.你可以在这里找到整个类别以及其他有用的东西:https://github.com/erica/uidevice-extension
#include <sys/types.h>
#include <sys/sysctl.h>
@implementation UIDevice (Hardware)
/*
Platforms
iPhone1,1 -> iPhone 1G
iPhone1,2 -> iPhone 3G
iPod1,1 -> iPod touch 1G
iPod2,1 -> iPod touch 2G
*/
- (NSString *) platform
{
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
free(machine);
return platform;
}
Run Code Online (Sandbox Code Playgroud)
这项工作和使用它的应用程序最近已在AppStore中批准.
我正在使用Eclipse + ADT,我的物理设备(如下所列)在Android Device Chooser上不公开.我更新了Eclipse和所有Android软件包.我的手机运行的是Android OS 1.6,它对应于Eclipse Project中列出的目标版本.
此外,我决定尝试在真实设备上进行测试的原因是因为当我运行我的项目时,模拟器似乎不再正常工作.模拟器启动,但程序永远不会.有任何想法吗?
(使用windows 7/t-mobile mytouch 3g)
我使用SDK 2.2将HTC Comet连接到Eclipse.我做了一个调试版本 - 应用程序没有运行; 虽然它确实安装在设备上.在设备上,我在Comet屏幕上显示此消息框
等待调试器
应用程序HunyDew(进程com.airvine.hunydew)正在等待调试器附加.
[强制关闭]
而在Eclipse控制台中,我得到了这些消息
[2010-12-07 01:42:29 - hunydewprj] Android Launch!
[2010-12-07 01:42:29 - hunydewprj] adb is running normally.
[2010-12-07 01:42:29 - hunydewprj] Performing com.airvine.hunydew.HunyDewAAStartsHere activity launch
[2010-12-07 01:42:47 - hunydewprj] Application already deployed. No need to reinstall.
[2010-12-07 01:42:47 - hunydewprj] Starting activity com.airvine.hunydew.HunyDewAAStartsHere on device 308730C861BC
[2010-12-07 01:42:49 - hunydewprj] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.airvine.hunydew/.HunyDewAAStartsHere }
[2010-12-07 01:42:49 - hunydewprj] Attempting to connect debugger to 'com.airvine.hunydew' on port 8601
[2010-12-07 01:43:09 …
Run Code Online (Sandbox Code Playgroud) 我被要求创建一个实际的HTML页面/ JavaScript来模拟使用JavaScript代码检测移动设备(iPhone/iPad/Android).然后,这将使用户进入另一个屏幕,询问他们的电子邮件地址.