Tag: xcode9

Xcode 9中的5个新功能

随着iOS11的发布,Apple向公众发布了Xcode 9。 这是他们添加的一些新功能。 1-新模拟器 苹果在Xcode 9中添加了一个新的模拟器,其中包括iPhone 8及以下版本的主页按钮,以及触摸和使用设备上物理按钮(例如提高/降低音量和电源按钮)的功能。 还要注意一件事,现在您可以一次运行多个模拟器! 最后! 2-源代码管理导航器 新的标签/部分允许您查看项目的提交和源代码管理历史记录。 这是查看正在发生的情况的简便方法,而不必去其他应用程序/网站进行检查。 3-情节提要变化 您可以在Xcode 9中注意到情节提要具有一个新的“安全区域”视图,似乎已添加该视图以适应iPhone X的新设计(顶部)和状态栏。 4-代码更改 现在,错误和警告在Xcode 9中看起来有所不同,它们变得更大,更清晰。 但是,开发人员可能会喜欢的主要功能是能够选择错误消息并进行复制! 是的,现在您可以将该错误消息复制/粘贴到StackOverflow中! 另外,现在您可以在范围中编辑变量名称。 是的,您现在可以进行全局重命名! 5-无线调试 是的,现在您不必连接iPhone即可调试应用程序。 Xcode 9提供了通过网络的无线调试。 奖金 请访问Apple Developer网站,以获取有关Xcode 9新增功能的更多详细信息。

如何在Xcode 9和iOS 11上进行无线调试

设置设备进行网络调试 调试通过WiFi或其他网络连接在iOS或tvOS设备上运行的应用。 注意:网络调试需要在MacOS 10.12.4或更高 版本上运行的Xcode 9.0或更高 版本 ,并且在设备上需要iOS 11.0或更高版本或tvOS 11.0或更高版本 。 设置iPhone,iPad或iPod touch的步骤 1.选择“窗口”>“设备和模拟器”,然后在出现的窗口中,单击“设备”。 2.使用避雷线将设备连接到Mac。 3.在左列中,选择设备,然后在详细信息区域中,选择“通过网络连接”。 Xcode与您的设备配对。 如果Xcode可以使用网络与设备连接,则在左列中设备旁边会出现一个网络图标。 4.断开设备连接。 现在您可以通过网络进行调试了。 注意:MAC系统和iPhone / iPad应该共享同一网络才能使用无线调试。 资源:https://stackoverflow.com/a/44383502/4935811

Xcode9 + Xcode Server =全面的iOS持续集成

在WWDC 2017上,Apple宣布了几乎所有iOS开发人员都满意的东西,主题为“Xcode和Xcode Server的签名新功能”。 很难解释,使用Xcode 9和Xcode Server在Apple平台(尤其是iOS和macOS)上执行持续集成变得多么容易。 Xcode 9之前的CI Xcode 9发行之前的iOS持续集成非常具有挑战性。 人们可能会尝试跟随 为使用证书和配置文件设置CI服务器计算机而进行了长期的战斗。 使用诸如Fastlane之类的基于Ruby的工具来自动化分析,构建,测试和代码签名的过程。 使用其他第三方云CI服务(例如TravisCI,CircleCI)或自托管解决方案(例如Jenkins,TeamCity)来使用bash脚本构建或Fastlane的自动构建 使用了诸如Facebook的xctool或LinkedIn的Bluepill之类的工具来并行化多个设备和模拟器上的测试。 使用第三方基于Ruby的工具(例如xcov,xcpretty)进行代码覆盖和测试报告。 将Xcode Server与macOS Server应用程序和Xcode Service for CI一起使用,但仍在与代码签名和并行执行作斗争。 带有Xcode 9的Xcode Server满足了所有这些要求。 您现在很少需要上面的东西。 Xcode Server可以轻松地为我们处理所有这一切。 感谢所有致力于开发人员工具以实现这一目标的开发人员。 让我们看看有什么变化 Xcode 9之后的CI 在Xcode 9中,我们在Xcode中集成了以下与CI相关的新功能 Xcode Server内置Xcode 9,因此无需单独的macOS应用。 Xcode Server bot具有新的选项卡,可在自动配置设备的多个设备和模拟器上进行代码签名和并行测试。 开发和发行签名的自动签名。 Xcode Server通过自动或手动签名创建分发IPA Xcode Sever不再启动仍然可以并行运行的模拟器。 现在,我们将看到实际上如何轻松设置和使用Xcode Server。 设置Xcode服务器 如前所述,Xcode Server不再需要macOS Server应用程序,它现在内置在Xcode中。 我们可以在Xcode Preference中看到“ Servers&Bots”标签。 我们可以使用本地Mac或其他Mac设置Xcode […]

WWDC上Github与Xcode 9的联姻

最终,Xcode和Github意识到他们离不开彼此,这是事实。 由于Apple在GitHub上开源项目很少,因此更多的人参与了该项目并做出了贡献。 在WWDC 2017上有关“GitHub和Xcode 9中的新源代码控制工作流”的最新演讲揭示了Xcode和Github集成的紧密程度。 现在,我们可以通过创建存储库,提取,推入,提交,标记等在Xcode上从Github进行几乎所有操作。在本文中,我们将看到Xcode和Github集成的新工作流程,其中涉及 在Xcode中设置Github Xcode中的Github Source Control Navigator 从Xcode提交 从Xcode创建远程Github存储库 让我们用Xcode 9简要介绍所有这些集成,在本教程中我们需要Xcode 9。 在Xcode 9中设置Github 假设您已经从Apple开发人员帐户的“下载”部分下载了Xcode 9 beta版,并且您已经拥有Github帐户。 在Xcode首选项的“帐户”选项卡中,单击+按钮以获取服务列表,例如Apple ID,Github,Xcode Server和Enterprise Github。 现在,我们需要选择Github并使用我们的凭据登录Github,然后按照屏幕上的说明完成设置。 您可以提供克隆方法SSH到HTTP。 Xcode 9中的Github设置非常简单。 在上面的GIF中,我们可以看到在Xcode中设置GitHub帐户和从Xcode浏览GitHub多么容易。 Xcode中的Github Navigator Xcode在项目导航器附近引入了另一个名为“ Source Control Navigator”的导航器。 这显示了有关当前GitHub存储库的分支,标签和远程的所有信息。 它还显示了主要痛苦中的提交。 我在下面的示例中显示了有关XCFit GitHub存储库的详细信息。 正如您在图像中看到的,它非常详细。 我们可以轻松浏览它。 从Xcode提交 Xcode现在具有从Xcode进行拉取,提交和推送的功能。 为了证明这一点,让我们修改一个文件,然后右键单击该文件以获取源代码管理选项。 然后,我们可以直接从Xcode提交带有提交消息的文件。 可以使用Source Control-> Push选项使用远程源来推送提交。 我们可能需要提供凭据或SSH密钥以及用于提交的分支。 从Xcode创建新的Github存储库 如果我们正在开发新项目,则可以创建整个Github项目并使用Xcode 9推送到远程。 让我们从Xcode作为Single View应用程序创建新项目“ […]

使用相同数组的不同索引处的对象填充CollectionView和TableView

我想在CollectionView中显示“group_type”== 1的产品,在TableView中显示“group_type”== 2的产品。 我想填充TableView的顺序,其中“group_title”将作为行的数组“产品”中的节标题和产品。 以下是我的JSON。 我需要什么Swift代码? "product_groups": [ { "group_title": "Recommended", "group_type": 1, "products": [ { "product_id": 1, "product_name": "Product 1", "product_price": "Rs 1,999/-", "product_category": "Equipment & Chairs", "product_image": "https://project-isdental-cammy92.c9users.io/api/images/products/product_1.jpg", "product_description": "Description 1" }, { "product_id": 2, "product_name": "Product 2", "product_price": "Rs 1,999/-", "product_category": "Equipment & Chairs", "product_image": "https://project-isdental-cammy92.c9users.io/api/images/products/product_1.jpg", "product_description": "Description 1" }, { "product_id": […]

升级到Xcode 9.0后,现有的应用程序出现错误“dyld:dyld_sim不兼容mach-o”

升级到Xcode 9.0 ,现有的应用程序出现错误: “dyld:dyld_sim不兼容mach-o” 任何意见?

无法连接到iOS 11模拟器上的任何HTTPSurl

去https://google.com结果在下面的屏幕。 这是一个iOS 11.0.1模拟器,我正在使用Xcode 9.0.1 我试过了多个HTTPSurl,而且都没有工作。 我试过这些修复,无济于事: 重新启动模拟器 Hardware > Erase All Content and Settings 模拟器的date/时间是正确的。

如何在Core Data中使用Swift 4 Codable?

Codable似乎是一个非常令人兴奋的function。 但是我想知道我们如何在Core Data中使用它? 特别是,是否有可能直接编码/解码从/到NSManagedObject JSON? 我尝试了一个非常简单的例子: 并自己定义了Foo : import CoreData @objc(Foo) public class Foo: NSManagedObject, Codable {} 但是像这样使用它: let json = """ { "name": "foo", "bars": [{ "name": "bar1", }], [{ "name": "bar2" }] } """.data(using: .utf8)! let decoder = JSONDecoder() let foo = try! decoder.decode(Foo.self, from: json) print(foo) 编译器因此错误而失败: super.init isn't called on all […]

在活跃的UITableView的单元格中快速播放video

目标: – 我试图在完全可见的细胞中播放video(可能是2,3或1),它应该停止与cell不可见性 我用AVPlayer使用UITableview 。 我的桌面充满了video上市目前我正在使用捆绑video, 我使用下面的代码,但它播放不正确的&weired序列。 我在这里做错了什么? 用另一个逻辑来回答对我来说也很好。 ViewController.swift – protocol VideoActivityDelegate { func startVideo() func stopVideo() } // MARK: TableView datasource delegate var videoDelegate: VideoActivityDelegate? extension ViewController :UITableViewDataSource,UITableViewDelegate{ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 8 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell […]

在Swift4中,更换navigationItem.leftBarButtonItem将调整不需要的大小

UIBarButtonItem在使用帧和图像的不同值返回到VC时resize时遇到​​问题。 var selectedR = 1 var leftFrame = CGRect() var leftImage = UIImage() override func viewDidLoad() { super.viewDidLoad() if selectedR == 0 { leftFrame = CGRect(x: 0, y: 0, width: 33, height: 33) leftImage = UIImage(named: “pic-0”)! } else if selectedR == 1 { leftFrame = CGRect(x: 0, y: 0, width: 79, height: 33) leftImage […]