Tag: iphone x

iOS 11.1.1 Cydia在iPhone X越狱上下载

如果您一直在等待iOS 11版本的新越狱,那么我们有一些让您满意的消息。 来自Keen Lab的iOS黑客Liang Chen在韩国首尔举行的2017 POC(社区力量)活动中展示了iOS 11.1.1越狱的演示。 实际上,对于Cydia下载迷来说,这将是一个好消息,因为他演示了在最新的iOS 11.1.1固件上运行的iPhone X越狱。 几天前,Apple发布了此次要更新,以修复类似于字母“ i”的自动更正错误。到现在,这位令人惊叹的韩国iOS黑客发现了固件漏洞,并使得iOS 11.1.1越狱成为可能。 梁晨演示的iPhone X越狱 我们必须知道,越狱目前正在由开发人员进行测试,但他已经获得了对该设备文件系统的root访问权限,以使其看起来更合理。 但是,该工具目前还没有名称,但是他会在不久的将来像Luca Todesco一样使用专有名称。 显然, iPhone X越狱工具是一种半捆绑式越狱工具,类似于Yalu和最新的Pangu越狱工具。 这意味着您需要在每次重新启动iPhone,iPad或iPod touch设备后重新安装Cydia下载。 iOS 11.1.1越狱发行日期 大多数Cydia粉丝都质疑iOS 11.1.1越狱是否对公众开放。 请原谅,因为我们目前没有太多解决方案的详细信息。 但是,由于研究目的而已将其演示,开发人员Liang Chen即使开发了完整版本,也不会向公众发布该工具。 但是,他已经证明可以下载iOS 11.1.1 Cydia。 因此,越狱社区热切地期待着Pangu团队提供的新选项来下载Cydia for iOS 11更新。 一旦发现固件中存在漏洞,他们将向全球Cydia用户提供该漏洞。

入门:iOS开发(Swift 4)

从无到有的开发指南 介绍 我们正在努力使本教程系列对您来说尽可能简单。 您将通过完整的源代码学习iOS开发的所有核心概念。 不要等待,让我们深入了解新的iOS世界。 仅需5个步骤即可开发您的第一个应用程序 步骤1:设定您的MAC机器 从Apple Developer Site下载Xcode9。 确保已安装macOS 10.12.6或更高版本。 下载Xcode后,解压缩.xip文件。 现在,摆在您面前的是iOS开发的第一步。 📱 以上帝的名义-最仁慈,双击打开Xcode。 步骤2:设置您的第一个应用| HelloUniverse 选择创建一个新的Xcode项目 选择“ 单视图应用程序” ,然后单击“ 下一步”。 提供您的第一个应用程序的名称,假设它是HelloUniverse 建议不要在产品名称中使用空格 现在选择无团队 添加组织名称,在这里使用队长 。 您可以在此处将您的名字用作组织。 添加组织标识符: com.captain.HelloUniverse (com.companyname.appname) 选择语言Swift 单击下一步,然后创建您的第一个应用程序。 在这里,您可以使用屏幕上的第一个应用程序 步骤3:执行应用程式 按Command⌘+ R运行应用程序 它将启动iOS模拟器并运行您的第一个应用 感到兴奋和快乐? 😃 这是您在iPhone X上运行的第一个应用程序-模拟器 如果您无法在iPhone X上运行您的应用程序,请不要担心。 只需单击Xco​​de的TopLeft一侧的模拟器区域即可更改模拟器 选择任何iOS设备模拟器,然后再次运行您的应用 步骤4:向Universe问好 现在我们在屏幕上看不到任何内容,让我们在屏幕上添加一些内容 通过单击打开Main.storyboard 故事板是一个文件,用于设计屏幕并布局所有组件,例如按钮,标签,列表,选项卡和导航栏等等。 现在您将看到空白视图,其中没有任何内容,请放心,我们将添加标签向Universe打个招呼。 单击视图的中心(屏幕上方带有箭头的视图)以将其聚焦 此视图是屏幕的主视图,您将看到的所有内容都将在此屏幕内 在屏幕的右下角,您将找到4个标签,选择第三个标签,即对象库 […]

为iOS应用程序打造反光工厂– Vincent Pradeilles –中

非常感谢 BenoîtCaron 引起了我的注意,并提出了我将在下面描述的技术的相当一部分。 iOS应用程序是复杂的软件。 如今,不太可能运行到聚合了一百多个视图控制器的应用程序中。 当您考虑到其中的某些可能只能通过特定的业务场景访问的事实时,通常会遇到这样的情况:在屏幕上显示特定的控制器非常困难。 这种情况可能会威胁到应用程序的质量,尤其是在要求开发人员检查每个屏幕(例如,确保它们在iPhone X上能正常工作)的时候。 一个非常方便的工具是调试视图,从中可以实例化任何控制器并将其显示在屏幕上。 那么我们如何实现这样的工具呢? 一个好的起点 第一步是弄清楚如何实例化任意控制器。 幸运的是,这将成为简单的部分,因为该功能已经通过Foundation的public func NSClassFromString(_ aClassName: String) -> Swift.AnyClass? 基本上,再加上一些代码,开发人员可以从其类的名称实例化一个对象。 所以现在我们只需要在我们的应用程序中列出所有视图控制器。 如果没有其他选择,我们可以将它们手动存储在.plist文件中,但是这种方法的缺点是每次创建,删除或重命名类时都需要手动更新,这很繁琐且极易出错。 利用Objective-C运行时 您可能没有意识到这一点,但是每个iOS应用程序都在轻量级运行时环境上运行。 关于此运行时,可以说很多话,如果您想详细了解它,请随时查看Apple提供的文档。 就本文而言,我将解释限于以下事实:iOS应用程序启动时,其所有与Objective-C兼容的类都在运行时加载,并且只要应用程序处于活动状态,它们就会一直存储在该位置。使此运行时成为从中检索所有视图控制器列表的绝佳来源。 我们如何在实践中实现这一目标? 首先,我们从导入与运行时交互的API开始: 处理更高级的用例 我们所取得的成就非常好,但是在大多数情况下,使其真正有用仍然很简单。 当您考虑它时,我们能够实例化视图控制器,但是我们无法为它提供任何类型的初始数据。 在一个现实世界的项目中,这个问题很可能会导致交易中断,因为许多视图控制器可能依赖于先前屏幕传递的一些初始数据。 那么我们如何改善呢? 首先,我们需要一种让控制器提供其用例列表并处理其中一个用例的方法。 为此,我们声明一个协议: 结论 自反编程是一个功能强大的工具,使用它的这个特定实例也不例外:只需几行代码,我们就可以组建一个易于包含在现有应用程序中的工厂,并允许其开发人员实例化任何从一个好的调试视图中查看控制器。 当确保旧版应用程序在iPhone X上流畅运行时,无疑会令人欢迎的工具是这样的工具,但是当您想要对该应用程序的一部分进行非回归测试时,它也很方便。令人讨厌的复杂。 如果您想在项目中使用以上代码,请随时在我的GitHub上使用。

构建iPhone X应用程序的4个专业提示

App Fixers为您现有的iOS应用程序提供布局支持。 请联系以了解更多信息。 iPhone X是十年来对iPhone设备的最大改变。 科技界忙得不可开交,现在有一款出色的新iPhone,但应用程序开发人员将在设计应用程序方面面临新的挑战。 如果您是想要开发运行平稳且一致的应用程序的应用程序开发人员,请查看这些提示! 我们将指导您并帮助您开发和交付与iPhone十周年纪念版完全兼容的应用程序。 在开始之前,请确保您已安装最新的Xcode 9和iOS 11 SDK。 您可以在Apple Developer网站上进行更新。 技巧1-显示和图形 苹果一直保持与iPhone 6,iPhone 7和iPhone 8之前的机型相似的显示屏宽度,但垂直方向上的宽度却有了大幅增加。 iPhone X配备了更高的显示屏,大约高出20%,为内容增加了更多空间。 而且,新版本具有@ 3x分辨率,这使所有开发人员都必须在其应用程序中提供高分辨率图像。 矢量,字形和其他平面美术作品的理想选择是使用与分辨率无关的PDF对其进行补充,而光栅化的美术作品则需要同时使用@ 2x和@ 3x版本。 技巧2-拥抱缺口 该设备具有圆角以及主屏幕访问指示器和传感器外壳。 在为新的iPhone单元进行设计时,应牢记这些因素,并且应确保由于这些新功能而避免布局被抹黑。 您需要确保iOS应用程序的背景延伸到屏幕边缘,并且可以垂直滚动的布局将一直占据到显示屏底部。 您还应该特别注意使内容在垂直和水平方向上与模型兼容的内容,以在纵向和横向方向上提供最佳质量的设计。 由于新的iPhone X具有额外的垂直空间,因此您需要注意状态栏的高度。 在设计时,请仔细考虑状态栏的位置。 要了解更多有关此内容的信息,请从http://app-fixers.com下载报告

iPhone尺寸等级

尺寸类别可让您对屏幕的宽度和高度进行分类,并根据这些组合设置条件。 例如,您可以确定化身在具有紧凑宽度的屏幕上为30 x 30 pt ,但在具有常规宽度的屏幕上为50 x 50 pt ,这仅仅是因为较大的屏幕上有更多的空白空间。 由于纵向和横向之间或iPhone和iPad之间的版式可能完全不同,因此尺寸类对于自定义版式超出常规的“自动版式”约束至关重要。 宽度和高度共有3种大小类别: Compact , Regular和Any 。 通过组合这些,您将同时影响多个设备。 例如, 紧凑型 (宽)x 常规型 (高)将以纵向模式定位所有iPhone,但不会影响横向或iPad。 有趣的是,即使屏幕的宽度很大, Compact x Compact也会影响风景中的iPhone(iPhone 6 +,7 +,8 +除外)。 因此,重要的是要熟悉不同的组合,如下图所示。 归功于: www.designcode.io

在Swift 4中构建计算器

使用NSExpression构建计算器。 Swift语言从不让我惊讶于它提供的所有功能。 我给自己做了一个构建简单计算器作为编码组件的任务。 我已经用Java构建了一个计算器,并且我想起了执行所有数学逻辑的“ if”和“ case”语句数量之多。 因此,我开始构建了自己的布局,如上面的屏幕所示。 我使用Snapkit布局视图。 这篇文章不会涵盖Snapkit,但您可以将其作为Snapkit的介绍来阅读 。 因此,我们将不使用“ if”或“ case”语句来执行所有计算。 您可能想知道怎么做? 我的意思是Swift将如何知道何时添加或减去或执行任何其他数学函数? 在Swift, NSExpression中进行数学运算时欢迎您的朋友! 谁和什么是NSExpression ? 用于比较谓词的表达式。 NSPredicate中的比较操作基于两个表达式,由NSExpression类的实例表示。 为常量值,键路径等创建表达式。 这就是Swift文档中的定义。 没有告诉我们太多。 可以很容易地看到NSExpression的运行状况 ,以便更好地了解其功能。 let mathExpression = NSExpression(format: “16 + 30”) let mathValue = mathExpression.expressionValueWithObject(nil, context: nil) as ? Int 是的,这就是进行数学😱👏🏾🎉所需的全部代码。 NSExpression的计算方式比简单的数学方程式还多。 此处的这篇帖子通过NSExpression及其可以为您提供的功能进一步深入。 因此,在上面的一个功能中,我能够为我的计算器执行所有必要的数学计算。 正是由于这样,我才建立了一个功能齐全的计算器。 最终计算器具有许多其他功能,例如用户操作的历史记录以及能够返回到先前操作的功能。 您可以在我的Github页面上查看完整的实现。 妈妈,没有情节提要! 作为一名自学成才的iOS开发人员,他通过使用以下方法观看Youtube教程和在线课程来学习大多数技能: medium.com

妈妈,没有情节提要!

作为一名自学成才的iOS开发人员,他通过观看Youtube教程和使用故事板的在线课程来学习大多数技能,这已成为第二自然。 一段时间以来,我什至都不知道在Xcode中使用情节提要还有其他选择。 我错了! 在学习Swift的过程中,我开始看到许多项目在其项目中使用了程序约束。 因此,我开始研究为什么人们甚至想使用自动布局DSL。 我的意思是情节提要能够正常工作,但我没有看到任何瑕疵(这就是我的想法)。 基本上,这就是我为什么会放弃情节提要的原因。 协作-故事板无法与源代码控制一起很好地工作。 想要与朋友一起工作时,故事板不是您的朋友。 情节提要很慢-请从开始使用2011 Macbook Air开发的人员那里获取。 我已经习惯了看到彩虹旋转。 🍭 代码大师竞赛—代码将永远是卓越的。 编写,读取和调试更加容易。 这就是我们将要建立的。 它是iPhone X Apple最新和最出色的锁定屏幕的模型。 没有情节提要,也没有笔尖与代码。 那里有许多自动布局的DSL库。 在本教程中,我将使用SnapKit,您可以找到自己喜欢或感觉更自然的风格。 删除Main.storyboard文件。 是的,删除! 在执行此操作时,最好也删除ViewController.swift 。 ( 不要删除launchscreen.storyboard ) 在您的项目中为我们项目中的某些组织创建以下组结构。 将AppDelegate.swift , LaunchScreen.storyboard和Info.plist移到“ 应用程序”组中。 在Controller组内部,创建一个新的viewController类,并将其命名为“ LockScreenVC ”。 在“ 助手”组中创建一个快捷文件,并将其命名为“ 主题 ”。 您现在应该具有以下结构。 我们将使用Pod安装SnapKit。 将以下pod添加到您的podfile中。 pod’SnapKit’,:git =>’https://github.com/SnapKit/SnapKit.git’,:branch =>’swift-4′ pod’SwiftIcons’,’〜> 1.5.1′ 我们将使用SnapKit的Swift 4分支。 Swift Icons是可选的,您不必包含它。 我只是将其用作图标。 […]

如何使用Objective C iOS从iPhone X的表视图顶部删除额外的空间

我已经开发了Objective C中的应用程序,在所有的iPhone手机上都能正常工作。 但是,当我在iPhone X模拟器中运行这个应用程序,然后我不知道我是如何获得一些额外的空间(约20-22像素)在UITableView的顶部。 我尝试了所有这些解决scheme,但是下面没有一个帮助我: self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableView.bounds.size.width, 0.01f)]; self.edgesForExtendedLayout = UIRectEdgeNone; [tblProducts setSectionHeaderHeight:0]; self.automaticallyAdjustsScrollViewInsets = NO; -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return CGFLOAT_MIN; } -(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { return CGFLOAT_MIN; } 我知道这可以通过设置我的表视图contentInset像: tblProducts.contentInset = UIEdgeInsetsMake(-30, 0, 0, 0); 有没有其他解决scheme来解决iPhone X的这个问题? 我在ViewDidLoad中检查了我的表格视图框架,它是(0,64,WIDTH,HEIGHT),状态栏有问题吗? 请build议我。 先谢谢你!

在iPhone X上的警报用UIAlertControllerpopup窗口显示不同的颜色

我有一个应用程序,我最初在Xcode 8中为iOS 10构build。 我最近升级到Xcode 9 ,并已经修复了我的iPhone X和iOS 11的应用程序。我遇到了很多麻烦的一个问题是如何使整个屏幕(包括缺口区域)变暗时提出警报。 见图: 我在“连接”视图控制器上显示警报(您在下面看到)。 我没有做任何操作这个视图控制器的根视图。 我已经在这个根视图的“故事板”中“检查”“安全区域相对边距”和“安全区域布局指南”。 (我也尝试了其他检查/不检查这些框的排列,没有什么差别。) 有趣的是,当我在我自己的iPhone 6上运行这个构build时,状态栏也不会变暗(尽pipe由于状态栏比iPhone之前的版本小很多,所以状态栏并不明显)。 这个问题肯定是在Xcode 9中开始发生的,因为我在App Store上的当前版本(使用Xcode 8构build)会在警报上调整整个屏幕。 有没有人有任何想法如何解决这个问题? 让我知道你是否需要其他信息。

iPhone X – 设置家庭指示灯周围区域的颜色

当我试图将一个表单alignment到iPhone X的安全区域时,我对Xcode非常陌生,它在表单下面留下了一个透明的区域。 有没有方法可以设置该区域的填充而不扩展纸张或在安全区域之外alignment?