Tag: iOS 11

Swift4和Xcode9将在您现有的代码中向您发出新警告,并在附近弹出…

Swift4和Xcode9将在您现有的代码中向您发出新的警告,在您调用Swift函数Objective-C函数的区域附近弹出。 例如,当初始化UIBarButtonItem并包含#selector(swiftClassFunction)时 。 别担心! 这里发生的是,您正在调用的Swift方法对于Objective-C函数而言并不是自动可见的。 我在初始化UIBarButtonItem时发现了这一点。 Init方法是从Objective-C派生的,因此当您使用#selector添加新的Swift函数时,Xcode现在对我们大吼大叫。 这就是@objc和@objcMembers起作用的地方……您可以同时使用两个选项,并且您决定要依赖于要设置的访问权限。 选项1)在您的Swift func()声明的开头添加@objc … @objc func rightBarButtonTapped(){} 这只会将此功能公开给Objective-C。 这可能是您根据自己的情况打开的所有内容。 选项2)将@objcMembers添加到您的类定义中… @objcMembers类ViewController:UIViewController {} 此选项将打开整个课程直至Objective-C。 如果您发现一些需要弥合的差距,这可能会更干净。 参考文献 问题明细-http://bit.ly/HackingWithSwiftWhatsNewInIOS11 隐藏警告-http://bit.ly/StackOverFlowHideWarning Swift Evolution票证— http://bit.ly/SwiftEVO-LimitingObjcInference

使用PDFKit渲染PDF文档

对于开发人员而言,在移动应用程序中集成PDF呈现功能始终是一项艰巨的任务。 无论是Android还是iOS,开发人员通常更喜欢使用第三方库或本机c / c ++ /低级代码来呈现pdf文档。 好消息来了! 苹果最近在iOS 11中添加了PDFKit框架,这使得PDF渲染变得非常容易。 在本文中,我将重点介绍PDFKit中可用的两个最常用的功能。 呈现PDF文档。 创建指定文档页面的缩略图预览 PDF渲染 注意。 在自定义类字段中键入PDFView时,没有自动补全功能。 让我们了解一下我们可以在PDFView上应用哪些属性。 PDFDisplayMode 您可以使用框架中提供的4种displayModes中的任何一种 singlePage:仅显示1个具有滚动支持的页面。 singlePageContinuous:显示带有滚动条支持的整个PDF文档,以在多个页面之间滚动。 twoUp:滚动条支持并排显示两个页面。 twoUpContinuous:并排显示具有2页的整个pdf文档。 2. PDFDisplayDirection 提供两种滚动模式,即垂直和水平。 垂直:在页面之间垂直滚动。 horizo​​ntal :启用页面之间的水平滚动。 3. autoScales = true :以下是来自Apple开发人员文档的摘录。 //对于连续模式,这是“适合宽度”行为,对于非连续模式,这是“最佳适合”行为。 4. 提供文件网址 let path = Bundle.main.path(forResource:“ MFI_2018_01”,ofType:“ pdf”) 让url = URL(fileURLWithPath:path) 让pdfDocument = PDFDocument(url:url) pdfView.document = pdfDocument 加载文档缩略图 通常,我们遇到要求时,我们只需要显示PDF文档中的特定页面缩略图即可。 从实现的角度来看,这听起来还是很吓人的,但是PDFKit使其非常简单🙂 创建PDFDocument对象。 […]

在Swift 4中使用JSONDecoder和Decodable的基于协议的通用网络

Swift 4已经发布了一段时间,本周(2017年12月)发布了XCode 9.2,对于Swift 4并没有太多戏剧性的更新,但是我们可以使用一些新工具来编写更简洁和可重用的代码,在本文中我们将主要关注JSONDecoder和Decodable协议,该协议有助于简化JSON的解析。 我们将创建可用于任何模型的通用API,因为我要在该项目上强调的是如何创建网络层,因此我们将仅解析JSON并将其作为模型打印在控制台中。 作为奖励,我将在该项目中添加第二部分,在该项目中,我们将使用协议扩展来使用XIBS创建UI。 对于此项目,我们将使用“电影数据库”中的API,您可以在此处查看其文档。 让我们从下载此入门项目开始,在该项目上您将找到一个名为Model的组和一个名为Networking的空组。 模型一包含两个模型,一个模型名为MovieFeedResult,具有电影类型数组的属性,另一个模型称为电影,我们将在完成网络层后重新访问这些文件。 我们将逐步创建网络层,创建一个新的Swift文件并将其命名为Result并将此枚举复制并粘贴到其中…… 枚举Result ,其中U:错误{ 成功案例(T) 案例失败(U) } 当我们发出URL请求时,我们可能会得到两种不同的响应,要么是成功的响应,要么是失败的响应。 通常,我们都会在完成处理程序设置中将两者都设为nil,但是通过此通用枚举,我们可以避免这种情况,并只传递每种情况所需的值。 接下来,我们将创建一个带有协议扩展名的协议,创建一个新文件并将其命名为Endpoint,复制并粘贴… 协议端点{ var base:字符串{get} var path:字符串{get} } 扩展端点{ var apiKey:字符串{ 返回“ api_key = 34a92f7d77a168fdcd9a46ee1863edf1” } var urlComponents:URLComponents { var components = URLComponents(string:base)! components.path =路径 components.query = apiKey 返回组件 } var request:URLRequest { 让url = urlComponents.url! 返回URLRequest(url:url) } } […]

为什么选择iOS平台进行应用开发?

您的移动应用程序开发使用哪个平台? 嗯,这是几乎在所有会议室中都出现的问题,在这些会议室中,主管们正在为自己的业务决定合适的平台。 是否选择Android或iOS? 我们不要讨论哪个平台更适合您的业务,因为每个平台都有自己的优势。 相反,让我们讨论您的企业是否需要iOS平台来进行下一个应用程序开发,或者说为什么要选择iOS平台来进行应用程序开发: 最高的应用程序质量 我们一直在讨论有关在全球范围内采用Android设备的问题。 现在,如果我们看到下图,Android OS将以38.27%的市场份额统治世界(来源): 但是,这里我们关注的是应用程序的质量,而不是数量。 与其他任何OS相比,无论应用程序的功能和功能如何,iOS均可提供最高质量的应用程序。 2.高度安全的iOS平台 在2010年,苹果公司对其安全功能变得极为重视,这导致企业对iOS应用程序的使用增加。 苹果已经确保在iOS中拥有任何恶意软件并对其进行破坏绝非易事。 好吧,甚至连FBI和DOJ都没有,后者宣布他们已经尝试了19次来破坏iPhone的安全性。 但是,如果没有苹果的帮助,他们将无法做到这一点。 这意味着iOS平台非常安全,并且由于Apple在其App Store上全力以赴,因此没有恶意软件或威胁可以进入OS。 3. iOS平台表现更好 由于其严格的安全功能,iOS在企业中很受欢迎。 企业可以轻松地依靠iOS开发其应用程序。 我们了解数字化转型并了解其2018年的趋势,似乎要在数字化转型时代生存下来,企业需要提出企业应用程序以提高员工的生产力。 为此,他们认为应用程序需要高度的安全性。 而且,当考虑到安全性时,iOS会击败所有其他操作系统。 好吧,我们在iOS趋势中讨论了安全性统计信息。 4. iOS应用程序的可靠性 大多数组织在iOS上进行投资以获得最高的应用程序安全性和出色的用户体验。 在iOS中开发的应用程序易于使用且设计精美。 无论iOS应用是小型还是大型,开发人员都可以在任何应用程序中植入惊人的功能。 实际上,iOS与开发用于帮助任何硬件正常工作的应用程序非常兼容。 因此,您将看到更多使用iOS支持AR / VR的儿童游戏。 由于其卓越的用户体验,iOS是最受欢迎和最受欢迎的平台。 5.没有质量差的第三方应用程序 应用程序质量一直是Apple的重中之重。 而且,这就是为什么它绝不允许质量不佳的第三方应用程序进入iOS应用程序商店的原因。 与Apple不同,Android允许开发人员即使质量很差也可以上载应用程序,用户可以下载并体验最差的应用程序。 由于具有Android的垃圾应用程序体验,因此Apple iOS有更多优点。 6.支持HTML5的iOS 苹果公司一直以其客户服务而闻名,仅出于此目的,它提出了支持HTML5来开发混合iOS应用程序以提供更好的用户体验的想法。 实际上,Apple也希望iOS开发人员也能享受开发iOS应用程序的经验,这就是它在版本8期间改进HTML5支持的原因。iOS中HTML5的支持可帮助开发人员在他们开发的应用程序。 无论是用户还是开发人员,Apple都不会妥协提供更好的体验。 7.即兴的Siri 苹果公司的智能虚拟AI助手Siri吸引了iPhone和iPad用户的关注。 Siri可以回答您所有的问题,甚至可以与您交谈。 是的,在Apple的iOS 11公开Beta版中,Apple将即兴的Siri交给了开发人员。 看来苹果正在对人工智能和机器学习进行巨额投资,以改善其自己的Siri的用户体验。 8.改进的电源管理 日经新闻最近报道称,苹果计划最早在2018年在iPhone中推出其内部设计的电源管理芯片。 苹果一直站在最前沿,为iOS用户提供更好的电源管理。 […]

🍦去吃冰淇淋!🍦

为了迎接一年一度的七夕情人节特别隆重巨献奉上各式各样各样甜腻可人的冰淇淋青菜萝卜东坡肉〜各人有各爱请自行挑选口味吧 一只不够也可以吃两只还可以内部服外敷保证让你打从心里冷遍全身心如槁灰内附隐藏版彩蛋冰淇淋喔敬请好好吸收喔〜 moon0411 / 0817-iceCream 人们可以在GitHub上构建软件。 超过2千8百万的人使用GitHub来发现,发掘和贡献超过…… github.com 这次主要使用程式码+ Storyboard ID识别的方式来串连两页资料不过写完作业感到特别饿还是让我先出门吃支冰淇淋先 1.首页: getViewController •storyboard放置面 •action&outlet拉线完成,准备开始写程式噜〜 •struct iceCream型别•宣告数组ice []并编写内容•在IB动作func buttonPressed()写入要指定串连的控制器是哪个(用故事板ID识别) •数组。 randomElement() • present() @IBAction func buttonPressed(_ sender:Any){ 如果让controller = Storyboard?.instantiateViewController(withIdentifier:“ iceCream”)为? iceCreamIntroViewController { 让图片= ice.randomElement() controller.iceimage =图片 目前(控制器,动画:true,完成:nil) } 2.次页: iceCreamIntroViewController •动作与插座拉线•宣告可选变数 (注意:这次的变数名称取得不太好,以致到后来我自己都糊涂了,指称范围应该要更广更直觉一些,以免误会设定的变数内容) var iceimage:iceCream? •在viewDidLoad()写入次页想显示出的内容 如果让iceimage = iceimage { showImageView.image = UIImage(名称:iceimage.image) titleLabel.text =“ […]

iOS 11密码自动填充

密码自动填充是iOS 11的令人兴奋的功能之一。输入密码始终是造成麻烦的原因。 在iOS 11中,您无需记住密码。 就像safari提示输入密码一样,现在您的应用程序可以自动填写用户凭据,并为他们提供更快的登录速度。 如何执行? 在您的应用程序中实现密码自动填充非常简单。 您需要做的就是设置textContentType 用户名和密码文本字段。 userNameTextField.textContentType = .username passwordTextField.textContentType = .password 同样可以在情节提要中完成 QuickType栏 让我们运行该应用程序,看看它在屏幕上的显示方式。 当点击用户名或密码文本字段时,快捷类型栏将显示并带有一个钥匙图标。 单击钥匙图标将要求使用Touch-Id进行身份验证,然后它将列出钥匙串中保存的所有密码。 选择任何密码将填充用户名和密码文本字段。 关联应用和网站 到目前为止,我们还没有告诉应用程序那是我关联的网站。 因此它显示了钥匙串中的所有密码。 现在,让我们关联我们的应用程序和网站。 首先,我们需要将我们的网站域添加到Xcode中的“ 关联域”中。 在Xcode项目设置-> Capabilites->关联域中,添加您的网站域。 现在,您的应用程序知道您关联的网站。 您的网站应确认该关联。 为此,使用以下内容创建一个名为apple-app-site-association的json文件。 { “网络凭证”:{ “应用”:[“ SR9HR505U.com.anilvarghese.pw-autofill”] } } SR9HR505U 是您的 团队ID , com.anilvarghese.pw- autofill是应用程序bundleId。 将此文件添加到您的网站根文件夹或.well-known目录(提供)。 启动应用程序时 iOS使用安全连接在服务器上查找此文件(您必须在服务器上设置SSL)。 应用程序将自动向https://www.example.com/apple-app-site-association发送请求,并在响应中查找您的应用程序bundleId。 您可以通过在运行应用程序时在控制台中检查设备日志来验证设置。 如果一切正常,您将获得“ SiteApproved ”。 现在,我们在应用程序和网站之间建立了双向关联。 启动应用程序,然后注意QuickType栏会在您的键盘上提示您的凭据,以便您单击即可登录。 酷😎。 […]

关于新Xcode 9的所有内容都很酷

Xcode的最新版本Xcode 9于今年发布,在开发人员社区中引起了极大的兴趣。 Xcode具有一些时髦的新功能,而旧的功能已被完善,Xcode提供了一些很棒的功能。 以下是它的一些最佳功能- 改进后的新编辑器 :Apple已在Swift中构建了整个Xcode。 它是基于结构的快速编辑器,可让您智能地突出显示和导航代码。 它还包括Markdown的强大支持。 重构:重构内置于编辑体验中,可在Swift,Objective-C,Interface Builder和许多其他文件类型中使用。 超快速搜索 :“查找”导航器返回即时结果。 调试: Xcode 9使您可以通过网络无线调试iOS和tvOS设备(它还将支持iOS 11设备)。 源代码控制: Xcode集成了对GitHub帐户的支持,可快速浏览存储库并将您的存储库推送到云中。 核心ML: Xcode 9带有内置的核心ML编辑器,可让您将一些很棒的机器学习模型集成到您的应用程序中。 这些只是使构建应用程序更加快速,轻松和有效的众多功能中的几个。 查阅此博客文章,详细介绍所有令人兴奋的新功能以及如何使用它们来增强Apple应用程序的开发。 这是在Moveo Apps博客上发布的原始帖子的简短版本。 阅读全文

下载适用于iOS 11.2和越狱iOS 11.2的cydia安装程序

大家好,我将与您讨论我们发现的新工具cydia installer 。 你们大多数人都知道,新的iOS-11.2更新是在本月3日发布的,它已经取得了巨大的成功,但存在一些小错误。 如电池耗尽很快。 但是,话虽如此,每个人都在这里使用cydia和越狱工具。 不幸的是, 面向iOS 11.2的cydia尚未发布。 就像我说的那样,我们有一个与新更新兼容的工具。 您可以从我们的网站下载cydia安装程序。 我们告诉您的工具不是官方的。 但是,它可以解决问题。 您只需要从网站上下载cydia安装程序,然后执行其他一些步骤,即可获得适用于iOS-11.2的cydia 。 此方法是唯一不会对您的设备产生任何影响的方法。 几周前发布了新更新,其中包括苹果支付现金,更快的无线充电以及界面调整等其他改进。 话虽如此,许多人抱怨电池电量很快耗尽。 因此,总而言之,我们可以期待在解决这些问题的方式上进行另一个新的更新。 请记住,我们有cydia工具 ,可以将cydia安装到您的设备中。 您只需要从我们的网站下载cydia安装工具 。 我们提供的此新工具仅支持64位设备。 因此,您必须拥有64位设备才能越狱并将cydia安装到设备中。 这是该工具与设备的兼容性。 开始下载cydia安装工具之前应该做什么 1.首先,您必须将最新的iTunes更新下载到您的idevice中。 2.之后,您必须将idevice数据备份到所需的备份设备或云驱动器。 3.您必须为idevice充电至少50%甚至更高的费用。 开发者信誉 不幸的是,越狱和Cydia团队尚未开发Cydia工具。 但是,我们有您需要的东西。 因此,您始终可以从我们的网站下载cydia工具并立即安装cydia。 越狱和Cydia的所有功劳归开发商所有。

Opener 1.4的新增功能

iOS 11就在这里,伴随它,我们为Opener准备了一个不错的更新! Opener 1.4现已上市,这是新功能。 让我们先消除明显的障碍。 我不是设计师,多年来有些人抱怨Opener图标的设计。 这个版本为Opener的图标带来了崭新的外观,该图标由了解Photoshop的人制作。 在iOS 11上,Opener看起来也很棒,带有大标题和重新安装了应用程序安装按钮的外观,以匹配所有新的App Store。 iOS 11公告中最值得注意的功能之一是拖放功能。 我们很自豪地宣布Opener 1.4支持拖放功能,您可以从任何地方拾取链接或文本片段,并将其拖放到Opener应用程序中以查看打开选项。 您也可以将浏览器行从Opener拖放到其他应用程序中。 除了上面提到的以iPad为中心的增强功能之外,还有一些对大家有用的东西。 进行了一项改进,使许多类型的链接打开得更快,包括在Safari中打开。 Opener现在可以更好地检测网页文本块中的链接。 Opener现在可以更好地处理以前无法使用的一些常见的流行重定向域。 如果您启用了Opener的AMP查找设置,并尝试打开已经是AMP链接的链接,我们将在不执行其他查找的情况下正确检测到它。 Opener 1.4现在可用,我们希望您喜欢它! 与往常一样,如果您有任何反馈意见,请随时发推文或给我们发送电子邮件。