精华内容
下载资源
问答
  • ios开发
    千次阅读 多人点赞
    2021-05-01 17:03:28

    当前移动开发主要分为安卓开发和iOS开发,对于想学习移动端开发的人来说,两者都是不错的选择。简单对比下两者的区别,安卓的app主要分布在各种厂商的应用商店,如华为,小米的应用商店,iOS的app集中在苹果的app store,苹果对于app的审核周期更长一些。安卓开发主要使用Java语言,近年也有app采用Kotlin开发。iOS的app采用Objective-C开发,近年苹果在推广Swift语言。安卓系统可以由厂商做一些定制, iOS系统是闭源的操作系统,苹果对于iOS的app审核比较严格一些。安卓开发可以在Windows或者mac平台开发,iOS的开发环境必须使用mac平台搭建。本篇文章主要介绍iOS开发入门,帮助想学习iOS开发的人更有效率地学习。

    一 软件,硬件准备
    学习iOS开发需要一台mac电脑,安装Xcode开发软件。至于苹果手机,如果有的话更好,使用模拟器也可以完成大部分的开发工作,除了推送,扫码等依赖真机的情况。

    二 计算机基础知识
    你至少需要熟悉或者了解一门编程,比如C++,java等。在学习技术的过程中,无论是前端,移动端,还是服务端,编程语言是基础。比较流行的编程语言C++或者java是要学习的,当你有编程语言基础的时候,再学习Objective-C或者Swift会很容易上手。不建议你的第一门编程语言是Objective-C或者Swift,因为很多资料是比较老的,容易误导新手。当然,除了编程语言基础,你还可以了解网络相关知识,图片、音视频相关知识等。如果你着急入门iOS开发,最简单的就是先掌握一门编程语言,其他的知识也可以后面边用边学。

    三 Objective-C和Swift如何选
    早年的iOS开发全部采用Objective-C,2014年,苹果推出新的编程Swift,打算用它取代Objective-C。多年过去了,已经有些app采用纯Swift开发, 但仍然有很多app采用纯Objective-C开发,或者两种编程语言混编。这给开发者带来一个问题,学习iOS究竟是选择Objective-C还是Swift呢?如果是个人开发者,想学习iOS开发或者自己做一个app上架,建议学习使用Swift,毕竟Swift是苹果力推的编程语言,今后也是iOS开发的趋势。如果你是为了求职而学习iOS开发,学习使用Objective-C依然是可取的,现在很多互联网大厂的app依然是Objective-C开发或者混合开发。先选择一门编程语言,学习它的基础知识,进行iOS开发入门,等到了解iOS开发之后,然后再学另外一门编程语言,这时的学习效率是很高的, 因为不管是Objective-C还是Swift,他们都使用的同样的iOS的api,只不过语法不同而已。编程语言不是学习技术的障碍,对于一个有几年开发经验的工程师而言,快速入门一种编程语言是基本素养。

    四 iOS开发环境搭建
    熟悉了Objective-C或者Swift之后,接下来可以进行iOS开发入门了。首先你要搭建开发环境,搭建iOS开发环境稍微有点麻烦,这里推荐一篇文章,按照文章的内容就可以搭建出来。
    搭建iOS开发环境

    五 iOS开发需要学习什么
    a.了解MVC模型
    认识Model,View,Controller他们的作用,这点很重要,在写任何一个页面的时候,你可能都会用到它
    b.View相关的控件
    也就是UIKit里面的各种UI组件,可以先学一些最常见的,UILabel,UIButton,UIImageView,UITableView,UIScrollView,UIAlertController,UISwitch等。认识这些控件后,需要学习iOS的UI布局,frame布局,autolayout布局等,学会把这些控件组合起来形成自己想要的UI样式
    c.ViewController的生命周期viewDidLoad,viewWillAppear,viewDidAppear,viewWillDisappear,viewDidDisappear等,了解他们的调用时机,以及他们执行的工作
    d.事件响应机制
    iOS的事件采用事件链,了解事件是如何传递和响应的,这有助于你写好页面的交互用于响应用户点击、长按、拖动等。
    e.JSON数据格式
    了解JSON数据是如何构造的,它有哪些规范,然后是要会把JSON反序列化为一个实例对象,或者反过来,把一个实例对象序列化为JSON
    f. 数据持久化
    需要掌握NSUserDefaults的用法,用来存储和读取数据,如果数据量比较大的情况,可以学习iOS的数据库相关的第三方库,比如FMD,Realm等
    g.多媒体
    在iOS开发中,可能需要用到图片,音频,视频等相关功能,如何下载和显示图片,可以学习SDWebImage的使用,音视频相关如果有用到,也可以在网上找一些开源库学习
    h.网络
    一些app可能仅仅在本机运行,不需要和远端的服务器交互,但是大多app还是需要服务端参与,所以网络请求相关的知识也是必备的。需要学习NSURLSession发送网络请求,解析JSON数据,然后反序列化。也可以学习第三方库AFNetWorking,它封装了系统的API,使用它发送网络请求,解析网络数据是非常方便的。
    i.动画
    动画让APP的交互更加炫酷,需要学习UIView所支持的各种动画,比如frame动画等
    j.多线程
    在较为复杂的app中,多线程是必备的操作,比如在网络请求中需要开启子线程来发送网络请求或者解析数据,然后回到主线程渲染UI,多线程相关的知识可以学习GCD
    k.调试
    在开发app的过程中,不可避免会出现一些bug,基本的Xcode调试功能就派上用场了,借助于Xcode提供的调试工具,可以完成bug修复
    l.开发者账号
    如果你的APP想上架app store,那么你需要购买苹果的开发者账号,用于上传你app应用
    m. 网络抓包
    在和服务端交互时,我们需要查看数据是否正确,这时需要使用charles工具,可以在官网下载,具体使用方法可以参考这篇文章
    charle抓包配置
    n.CocoaPods
    它是iOS开发的依赖管理工具,在开发app的过程中,会用到很多成熟的第三方库,比如上面提到的AFNetworking,SDWebImage等,这些库可以通过CocoaPods管理
    o.webView
    当前比较流行的h5渲染组件是WKWebview,了解iOS开发中如何使用h5页面,并且和h5进行交互,许多app采用的是原生Native开发和h5混合的模式

    iOS开发书籍推荐
    《Objective-C 基础教程》

    iOS开发文档推荐
    Objective-C官方文档
    About Objective-C

    Swift官方文档
    Swift文档

    UIKit官方文档
    UIKit

    iOS开发视频推荐
    斯坦福大学iOS开发视频

    以上是我总结的iOS开发需要掌握的一些内容,比较偏基础学习,绝大部分内容都是实际开发常用的,因此需要重点学习。随着技术的不断发展,iOS开发也跟随着在演化,近年来跨端技术蓬勃发展,以Weex,RN,Flutter等为代表的框架也被很多app采用,在熟悉了iOS开发之后,再去学习这些内容更佳。在iOS开发技术相对成熟的今天,用户体验依然是比较重要的话题,在熟悉iOS开发之后,可以去了解iOS的app如何监控,埋点,做性能优化等,这里面有很多内容,可以逐步了解。

    更多相关内容
  • IOS开发

    千次阅读 2022-03-30 10:16:53
    这里写了IOS开发的Xcode使用,欢迎参考批评指正

    第一章:iOS开发入门之Xcode的基本使用


    前言

    今天刚好需要做个项目,想到网上的iOS资源都比较少而且时间久远(如果有iOS学习优质博主或者资源欢迎留言推荐),所以学习起来比较困难,我也是上周五开始学的,就当作一个学习笔记吧,有问题欢迎指正!废话少说直接上干货


    一、Xcode是什么?

    就是一个编辑器嘛,用来开发的,我用的版本是11,如何下载自行百度(不放链接,我也懒的找),不赘述了。

    二、基本使用步骤

    1.新建

    一般打开Xcode是这样,如果之前没有创建过项目的话右边就没有项目列表,直接点create a new Xcode project。(如果没弹出这个就在主页左上角点File—New—Project)
    在这里插入图片描述

    然后根据自己的需要选一个开发模版,我这里是做iOS App开发,所以选图上这个,然后点Next,其他的有兴趣可以自己了解
    在这里插入图片描述

    这里就自己命名,下面的interface和language有两种,一种是Objective-C和swift,我这里用的是OC语言,然后面板选的是Storyboard,如果有团队就可以选择团队,并且勾选下面的方形框框。个人开发的话就不用。
    然后这里可以自己选一个路径保存,方便你找就行,然后点create创建
    在这里插入图片描述
    进入之后就是这样的,这些面板的什么功能我就不说了,自行百度,主要讲一下开发的一些设置
    在这里插入图片描述

    2.文件代码设置

    1⃣️.代码设置

    第一:
    点击SceneDelegate.h,代码就是下面这样,然后把中间那句@property (strong, nonatomic) UIWindow * window;
    一整句复制下来并粘贴到AppDelegate.h里面。然后就可以把SceneDelegate.h和SceneDelegate.m这两个文件删除了(选中然后按键盘上的delete键)

    SceneDelegate.h代码示例:

    #import <UIKit/UIKit.h>
    
    @interface SceneDelegate : UIResponder <UIWindowSceneDelegate>
    
    @property (strong, nonatomic) UIWindow * window;
    
    @end
    

    删完之后就是这样
    在这里插入图片描述
    第二
    随便选中左边一个.h或者.m然后右键New File,选择Cocoa Touch Class,点击Next
    在这里插入图片描述
    输入一个名字(尽量和前面的不一样,我这里习惯加home),勾选下面的方框,可以创建一个UI布局页面。然后Next,Create就行。
    在这里插入图片描述
    然后把ViewController.h和ViewController.m的代码改成下面这样(因为我要用navigation,如果要做其他的就改成其他的)
    ViewController.h代码示例:

    #import <UIKit/UIKit.h>
    
    @interface ViewController : UINavigationController
    
    @end
    

    ViewController.m代码示例:

    #import "ViewController.h"
    #import "homeViewController.h"
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        homeViewController *home = [[homeViewController alloc]init];
        [self pushViewController:home animated:YES];//跳转UI界面
        
    }
    
    @end
    

    2⃣️把info里面的Application Scene Manifest删掉**

    操作1:点左边倒数第二个info,进去之后选中Application Scene Manifest按下键盘的delete键就可以删除在这里插入图片描述

    操作2:点击最上面的工程文件夹,选info,把下面的Application Scene Manifest也删除
    在这里插入图片描述

    上面两个操作都要做。
    至此,新建工程文件完成了!接下来写一个简单的例子供大家参考

    三、简单例子

    选择UI界面,图片右上角有个加号,点击就可以弹出控件列表,直接拖到你的页面就可以进行编辑了在这里插入图片描述
    在这里插入图片描述
    我这里拖了一个button和label,右边就是可以设置它的一些属性(这些自行了解或者我下次再总结总结)
    在这里插入图片描述

    总结

    以上就是今天要讲的内容,本文仅仅简单介绍了Xcode的使用,后面我要是有时间就把OC的一些语法和使用总结一下。本人是小白,如果有问题欢迎批评指正。

    展开全文
  • IOS开发学习资料集合(开发必备)

    千次阅读 2022-04-08 15:46:03
    IOS学习资料,包含了入门、进阶、性能优化、面试和学习书籍

    最近整理了下IOS学习资料,包含了入门、进阶、性能优化、面试和学习书籍,算是比较全面的,在这里分享给大家,希望对大家有用。

    先晒出IOS学习路线图,大家照着图谱修炼。

     

    学习社区

    objc中国

    learn IOS

    Ray Wenderlich

    NSHipster

    Wei Wang

    唐巧的博客

    cocoachina

    入门系列

    1. Casa的PThread多线程课程
    2. 从零开发一款ios手把手带你构建类今日头条的App
    3. Swift编程从入门到精通
    4. 最新Swift UI从入门到进阶iOS13+Swift5.1+Xcode11
    5. Swift从入门到精通视频教程完整版
    6. CTMediator的Swift应用
    7. 一种基于ResponderChain的对象交互方式
    8. 对象间交互模式
    9. iOS应用架构谈 组件化方案
    10. iOS应用架构谈 本地持久化方案及动态部署
    11. iOS 保持界面流畅的技巧
    12. iOS 处理图片的一些小 Tip
    13. 如何用 SwiftUI + Combine + Swift Concurrency Aysnc/Await Actor 欢畅开发
    14. iOS9适配系列教程
    15. iOS 唤起APP之Universal Link(通用链接)
    16. iOS的签名机制
    17. 海量 iOS 及 Mac 开源项目和学习资料
    18. iOS 的 Code Signing 体系
    19. iOS | 全屏右滑返回详解
    20. iOS 13 适配要点总结
    21. iOS 学习资料整理 {非常有用, 强烈推荐}
    22. 我的 iOS 开发入门自学路径
    23. iOS开发入门之二——第一个App
    24. 如何成为一名入门级 iOS 开发者
    25. 小白如何晋级入门级iOS开发者
    26. iOS蓝牙知识快速入门(详尽版)
    27. iOS 基础知识点网址
    28. iOS runtime——看这一篇就够了
    29. iOS runtime 研究笔记
    30. Swift 中的高阶函数——reduce、contains、allSatisfy、removeAll
    31. iOS 核心图像教程:自定义过滤器
    32. iOS开发知识体系
    33. iOS开发基础知识梳理
    34. 常规优化技巧-iOS

    进阶系列

    1. iOS应用架构谈 本地持久化方案及动态部署
    1. ios开发Swift进阶学习到开发ios商城项目实战
    2. iOS开发原理与实践高手进阶教程
    3. IOS逆向与安全教程
    4. 微专业极客班iOS开发工程师object-c,swift,设计模式教程
    1. iOS应用架构谈 网络层设计方案
    2. iOS应用架构谈 view层的组织和调用方案
    3. iOS网络缓存扫盲篇--使用两行代码就能完成80%的缓存需求
    4. iOS 15 趟坑之旅
    5. iOS内购详解
    6. iOS应用签名原理&应用重签名并附加调试
    7. 抖音品质建设 - iOS启动优化《原理篇》
    8. iOS性能优化实践:头条抖音如何实现OOM崩溃率下降50%+
    9. 今日头条品质优化 - 图文详情页秒开实践
    10. 抖音 iOS 工程架构演进
    11. 一文读懂iOS图像显示原理与优化
    12. iOS性能数据采集机制汇总
    13. iOS高级进阶系列
    14. 2021年,iOS开发的你不可或缺的进阶之路!
    15. iOS底层进阶路线图(跳槽加薪必看)
    16. iOS 布局进阶:你真的会用 autolayout 么?
    17. iOS进阶 -- Block基础探索
    18. iOS进阶 -- block捕获变量原理
    19. iOS 开发技术栈与进阶
    20. 浅谈iOS工程师的成长与进阶
    21. iOS进阶之消息转发机制
    22. 2020年涨薪必看,iOS开发技术进阶栈!
    23. 2020年涨薪必看,iOS开发技术进阶栈!
    24. 一位iOS开发者的进阶之旅
    25. iOS架构师的必经之路
    26. [译] iOS 开发中的 Flux 架构模式
    27. iOS 移动端架构初探心得
    28. 支付宝客户端架构解析:iOS 容器化框架初探
    29. 今日头条:iOS 架构设计杂谈
    30. iOS开发 使用viper架构构建复杂页面
    31. [译]iOS架构模式——解密MVC、MVP、MVVM和VIPER

    性能优化

    1. iOS 保持界面流畅的技巧
    2. iOS App启动优化(一)—— 了解App的启动流程
    3. iOS App启动优化(二)—— 使用“Time Profiler”工具监控App的启动耗时
    4. iOS App启动优化(三)—— 自己做一个工具监控App的启动耗时
    5. iOS 页面优化
    6. iOS 网络优化和网络基础
    7. 抖音品质建设 - iOS启动优化《原理篇》
    8. iOS性能优化实践:头条抖音如何实现OOM崩溃率下降50%+
    9. 今日头条品质优化 - 图文详情页秒开实践
    10. iOS 优化 - 瘦身
    11. 关于iOS内存的深入排查和优化
    12. iOS app秒开H5优化探索
    13. 常规优化技巧-iOS
    14. iOS 性能优化总结
    15. iOS 客户端编译优化实践
    16. 哈啰出行iOS App首屏秒开优化
    17. iOS性能优化 - 卡顿优化
    18. ios经验-优化
    19. 一文读懂iOS图像显示原理与优化
    20. iOS打包速度优化
    21. iOS底层-界面优化
    22. iOS图片内存优化
    23. iOS网络性能监控
    24. IOS性能优化篇
    25. iOS 性能监控方案 Wedjat(上篇)
    26. iOS性能优化 - 工具Instruments之CoreAnimation
    27. iOS性能数据采集机制汇总
    28. iOS性能优化系列篇之“优化总体原则”
    29. iOS性能优化系列篇之“列表流畅度优化”
    30. iOS性能优化之页面加载速率
    31. iOS 界面性能优化浅析

    面试系列

    1. 出一套 iOS 高级面试题
    2. [进阶]解决面试摩擦透析iOS的Runtime机制
    3. [架构]IOS逆向与底层原理班教程
    4. [架构]iOS底层原理与面试教程
    5. 新浪微博资深大牛全方位剖析 iOS 高级面试
    6. 阿里、字节:一套高效的iOS面试题
    7. iOS面试基础知识 (二)
    8. iOS内卷面试题-你以为你够卷了,面试官更卷!
    9. iOS开发面试备战明年-面试笔试题
    10. iOS开发面试和底层学习视频整理合集
    11. 2021- 一份iOS开发者的面试题(附参考答案)
    12. 做了5年iOS,靠着这份面试题跟答案,我从12K变成了30K
    13. 想进大厂,面试题必不可少!(iOS面试合集!)
    14. iOS面试了20几家总结出来的面试题
    15. iOS 高级面试题--答案
    16. iOS面试总结(2020年6月)参考答案
    17. 🐻iOS面试梳理 - 2020年8月初
    18. IOS面试考察(九):性能优化相关问题
    19. iOS年中裸辞以及面试感悟
    20. iOS面试系列·今日头条iOS高级工程师第1轮面试回忆
    21. 全新角度剖析--iOS面试
    22. 丁香园iOS电话面试问题总结
    23. iOS面试小结
    24. iOS基础面试题合集(一)
    25. iOS基础面试题合集(二)
    26. iOS基础面试题合集(三)
    27. iOS基础面试题合集(四)
    28. iOS快手面经(已拿offer)
    29. iOS面试汇总[含面经,面试讲解面试题等]
    30. iOS大厂面经总结,希望对你有帮助!
    31. 简单易懂iOS面试篇
    32. iOS秋招面经---我是如何通过多家公司的面试
    33. B站五面面经(附过程、答案)
    34. iOS 秋招总结 = 面经 + 闲言碎语
    35. 操作系统-iOS面经问题汇总
    36. 阿里、字节:高效iOS面试题之Block

    学习书籍集合

    iOS开发从入门到精通

    疯狂iOS 讲义(上) Objective-C 2.0与iPhone iPad应用开发基础

    IOS编程

    IOS应用逆向工程

    OS X与iOS内核编程

    展开全文
  • iOS开发进阶-唐巧.pdf

    热门讨论 2016-01-23 00:46:29
    iOS开发进阶》分工具、实践、理论三大部分。第一部分介绍iOS 开发的常用工具,第二部分介绍iOS开发中的一些常见的实践经验,第三部分介绍iOS 开发中涉及的原理。 如果把成为iOS 开发高手的过程比作武侠小说中的...
  • 配置 Visual Studio 2019以进行 iOS 开发

    千次阅读 2021-07-13 13:57:34
    在安装vs2019时有个选项:在vs2019中进行Android和ios开发,是不是普大喜空,再次膜拜地表最强IDE vs2019,幻想着在windows下跑Android和Ios程序。。。。。。。 惊喜 然而就算我们在vs2019上安装了Android和...

    前言

             在安装vs2019时有个选项:在vs2019中进行Android和ios开发,是不是普大喜空,再次膜拜地表最强IDE vs2019,幻想着在windows下跑Android和Ios程序。。。。。。。

    惊喜

             然而就算我们在vs2019上安装了Android和Ios组件,依然无法跑Android和Ios程序,装虚拟机另当别论哈。请看官网的说法:

    配置 Visual Studio 以进行 iOS 开发

    配置 Visual Studio 以进行 iOS 开发

    • 2018/04/16

    本文介绍适用于 Visual Studio 的各种 Xamarin.iOS 配置选项。

    使用匹配的 Xamarin.iOS 版本

    Visual Studio 2019 或 Visual Studio 2017 必须使用 Mac 生成主机上安装的 Xamarin.iOS 版本。 为了确保满足此要求,必须符合以下条件:

    • 如果使用 Visual Studio 2019 或 Visual Studio 2017,选择 Visual Studio for Mac 中的“稳定”更新通道 。

    • 如果使用 Visual Studio 2019 预览版,选择 Visual Studio for Mac 中的“Alpha”更新通道 。

     备注

    从 Visual Studio 2017 版本 15.6 开始,Visual Studio 2017 自动检测 Mac 生成主机是否使用与 Windows 相同的 Xamarin.iOS 版本。 如果版本不匹配,则 Visual Studio 2017 自动在 Mac 生成主机上远程安装正确版本。 有关详细信息,请查看与 Mac 配对指南中的自动预配 Mac 部分。

    iOS 工具栏

    在 Visual Studio 2019 或 Visual Studio 2017 中打开 iOS 项目时,应会显示 iOS 工具栏。 默认情况下,它包含可用于 Xamarin.iOS 开发的四个按钮:

    Visual Studio 2019 的 iOS 工具栏

    • 与 Mac 配对 – 打开“与 Mac 配对”对话框。 在 Visual Studio 2019 或 Visual Studio 2017 中打开 iOS 项目时,启用该按钮。
    • 显示 iOS 模拟器 - 在 Mac 生成主机上,将 iOS 模拟器放在最前面。 在 Visual Studio 2019 或 Visual Studio 2017 中打开 iOS 项目时,启用该按钮。
    • 设备日志 – 打开一个可用于检查设备日志的窗口。 在 Visual Studio 2019 或 Visual Studio 2017 中打开 iOS 项目时,启用该按钮。
    • 在生成服务器上显示 IPA 文件 – 在 Mac 生成主机上打开一个窗口,显示应用的 .ipa 文件的位置。 完成为其创建 .ipa 的生成后,启用该按钮。

    如果未显示该工具栏,打开 Visual Studio 2019 或 Visual Studio 2017 中的“视图”菜单,并选择“工具栏”>“iOS” :

    启用 iOS 工具栏

    解决方案平台下拉菜单

    使用解决方案平台下拉菜单,可选择下一个生成是以物理设备还是以模拟器为目标 。

    要确保标准工具栏上显示此下拉菜单,请执行以下操作:

    • 在 Visual Studio 2019 或 Visual Studio 2017 中,单击标准工具栏右边缘的向下箭头。
    • 选择“添加或删除按钮”
    • 确保已选中“解决方案平台”项 :

    启用“解决方案平台”下拉菜单

    现打开 iOS 项目后,标准工具栏和 iOS 工具栏应如以下屏幕截图所示 :

    标准和 iOS 工具栏

    看到这里是不是有些小激动,然鹅!!!!!

    失望

    安装并配置使用 iOS 进行构建的工具

    安装并配置使用 iOS 进行构建的工具

    • 2019/10/17

    可以将 Visual Studio 与使用 C++ 进行跨平台移动开发的工具一起使用,以编辑、调试 iOS 代码,并将其部署到 iOS 模拟器或 iOS 设备。 但由于许可限制,必须在 Mac 上远程生成和运行代码。 若要使用 Visual Studio 生成和运行 iOS 应用,需要在 Mac 上安装并配置远程代理 vcremote。 该远程代理会处理来自 Visual Studio 的生成请求,并在连接到 Mac 的 iOS 设备上或 Mac 上的 iOS 仿真程序中运行应用。

     备注

    有关使用云托管的 Mac 服务而不是 Mac 的信息,请参阅配置 Visual Studio 以连接到云托管的 Mac。 此说明适用于使用 Visual Studio Tools for Apache Cordova 进行生成。 要通过 C++ 使用指令进行生成,请将 vcremote 替换为 remotebuild

    使用 iOS 进行生成的工具安装完成后,请参阅本文,了解如何快速配置和更新远程代理以便在 Visual Studio 中和 Mac 上进行 iOS 开发。

    注意看下面的先决条件

    先决条件

    若要安装和使用远程代理以开发 iOS 代码,必须首先具备以下先决条件:

    • 运行 macOS Mojave 10.14 版或更高版本的 Mac 计算机

    • APPLE ID

    • 有效的 Apple 开发人员计划帐户

      可以获得一个允许将应用旁加载到 iOS 设备的免费帐户,该帐户仅用于测试,不适用于分发。

    • Xcode 10.2.1 版或更高版本

      可从 App Store 下载 Xcode。

    • Xcode 命令行工具

      若要安装 Xcode 命令行工具,请打开 Mac 上的 Terminal 应用并输入以下命令:

      xcode-select --install

    • 在 Xcode 中配置的 Apple ID 帐户作为用于对应用进行签名的签名标识

      若要查看或设置 Xcode 中的签名标识,打开 Xcode 菜单并选择 “首选项”。 选择“帐户” 并选择你的 Apple ID,然后选择“查看详细信息” 按钮。 有关详细说明,请参阅 Add your Apple ID account(添加 Apple ID 帐户)。

      有关签名要求的详细信息,请参阅 What is app signing(什么是应用签名)。

    • 如果你使用 iOS 设备进行开发,Xcode 中已为你的设备配置了预配配置文件

      Xcode 提供自动签名,并根据需要创建签名证书。 有关 Xcode 自动签名的详细信息,请参阅 automatic signing(自动签名)。

      如果要进行手动签名,则需要为应用创建预配配置文件。 有关创建预配配置文件的详细信息,请参阅创建开发预置描述文件

    • Node.js 版本12.14.1 和 npm 版本6.13。4

      在 Mac 上安装 Node.js 版本12.14.1。 如果安装 Node.js 包,它应该随附 npm 版本6.13.4。 其他版本的 Node.js 和 npm 可能不支持远程代理 vcremote 中使用的一些模块,这可能导致 vcremote 安装失败。 建议使用程序包管理器(如 Node 版本管理器)安装 Node.js。 避免使用命令 sudo 安装 Node.js,因为某些模块在使用时可能安装失败 sudo 。

    安装适用于 iOS 的远程代理

    当使用 C++ 工作负载安装移动开发时,Visual Studio 可以与 vcremote 进行通信,这是一个在 Mac 上运行的远程代理,用于传输文件、生成和运行 iOS 应用,以及发送调试命令。

    安装远程代理之前,请确保已经满足先决条件并完成了使用 C++ 安装跨平台移动开发中的安装步骤。

    下载和安装远程代理

    • 在你的 Mac 上的终端应用中,验证当前使用的 Node.js 版本是否为12.14.1 所需的版本。 若要验证版本,请运行命令:

      node -v

      如果版本不正确,则可能需要按照先决条件中的 Node.js 安装说明进行操作。 然后,重新启动 Node.js。

    • 验证所需 Node.js 正在使用后,运行以下命令以在该 Node.js 版本下安装 vcremote:

      npm install -g --unsafe-perm vcremote

      建议全局安装 (-g) 开关,但不是必需的。 如果不使用全局安装交换机,则会在终端应用中的当前活动路径下安装 vcremote。

      在安装期间,vcremote 将被安装在你的 Mac 上,同时将激活开发人员模式。 还会安装 Homebrew 和两个 npm 包,vcremote-lib 和 vcremote-utils。 安装完成后,可以忽略有关跳过可选依赖项的警告。

       备注

      若要安装 Homebrew,你必须具有 sudo(管理员)访问权限。 如果需要在不使用 sudo 的情况下安装 vcremote,你可以在 usr/local 位置手动安装 Homebrew 并将其 bin 文件夹添加到你的路径。 有关详细信息,请参阅 Homebrew 文档。 若要手动启用开发人员模式,请在 Terminal 应用中输入以下命令: DevToolsSecurity -enable

    如果更新到新版本的 Visual Studio,那么必须将远程代理也更新到最新版本。 若要更新远程代理,请重复下载并安装远程代理的步骤。

    启动远程代理

    必须运行远程代理才能通过 Visual Studio 生成并运行 iOS 代码。 Visual Studio 必须先与远程代理配对,然后才能进行通信。 默认情况下,远程代理在安全的连接模式下运行,此模式下需要 PIN 才能与 Visual Studio 配对。

    若要启动远程代理

    • 在 Mac 上的 Terminal 应用中,输入:

      vcremote

      此命令将启动默认生成目录为 ~/vcremote 的远程代理。 有关其他配置选项,请参阅 Configure the remote agent on the Mac

    第一次启动代理和每次创建新客户端证书时,将向你提供在 Visual Studio 中配置代理所需的信息,包括主机名、端口和 PIN。

    使用 vcremote 生成一个安全的 PIN

    如果打算在 Visual Studio 中使用主机名配置远程代理,请使用该主机名从 Windows 对 Mac 进行 ping 操作,以确认它是可连接的。 否则,你可能需要使用 IP 地址。

    生成的 PIN 是一次性的,并仅在有限时间内有效。 如果在此有限时间内未将 Visual Studio 与远程代理进行配对,则需要生成一个新的 PIN。 有关详细信息,请参阅 Generate a new security PIN

    你可以在非安全模式下使用远程代理。 在非安全模式下,无需使用 PIN 即可将远程代理与 Visual Studio 进行配对。

    禁用安全连接模式

    • 若要禁用 vcremote 中的安全连接模式,请在 Mac 上的 Terminal 应用中输入以下命令:

      vcremote --secure false

    启用安全连接模式

    • 若要启用安全连接模式,请输入此命令:

      vcremote --secure true

    启动远程代理后,即可从 Visual Studio 使用该代理,直到你停用它。

    停用远程代理

    • 在终端窗口中 vcremote 运行的中,输入 Control + C

    在 Visual Studio 中配置远程代理

    若要从 Visual Studio 连接到远程代理,必须在 Visual Studio 选项中指定远程配置。

    从 Visual Studio 配置远程代理

    1. 如果代理尚未在 Mac 上运行,请遵循 启动远程代理中的步骤。 你的 Mac 必须正在运行 vcremote,Visual Studio 才能顺利配对、连接和生成项目。

    2. 在你的 Mac 上,获取 Mac 的主机名或 IP 地址。

      可以通过在终端窗口中使用 ifconfig 命令来获取 IP 地址。 请使用活动网络接口下列出的 inet 地址。

    3. 在 Visual Studio 菜单栏上,依次选择“工具”和“选项”。

    4. 在“选项”对话框中,展开“跨平台”、“C++”和“iOS”。

    5. 在“主机名” 和“端口” 字段,输入远程代理在启动时指定的值。 主机名可以是 DNS 名或 Mac 的 IP 地址。 默认端口为 3030。

       备注

      如果无法使用主机名 ping Mac,则可能需要使用 IP 地址。

    6. 如果以默认安全连接模式使用远程代理,请勾选“安全” 复选框,然后在 Pin 字段输入由远程代理指定的 PIN 值。 如果以非安全连接模式使用远程代理,请清除“安全” 复选框并将 Pin 字段留空。

    7. 选择“配对”以启用配对。

      为 iOS 版本配置 vcremote 连接

      除非更改主机名或端口,否则配对会一直存在。 如果在“选项” 对话框中更改了主机名或端口,要撤销此更改,请选择“还原” 按钮以还原到上一配对。

      如果配对失败,请按照 Start the remote agent中的步骤验证远程代理是否正在运行。 如果生成远程代理 PIN 后已经过了很久,请在 Mac 上执行 Generate a new security PIN 中的步骤,然后重试。 如果你使用的是 Mac 的主机名,请转而尝试在“主机名” 字段中使用 IP 地址。

    8. 更新 " 远程根目录 " 字段中的文件夹名称,以指定你的 Home (~ Mac 上的 ") " 目录中的远程代理所用的文件夹。 默认情况下,远程代理会使用 /Users/<username>/vcremote 作为远程根目录。

    9. 选择“确定” 以保存远程配对连接设置。

    你每次在 Visual Studio 时,它会使用相同信息连接到 Mac 上的远程代理。 除非你在 Mac 上生成了新的安全证书,或其主机名或 IP 地址发生了更改,否则,你无需再次将 Visual Studio 与远程代理进行配对。

    Generate a new security PIN

    当你第一次启动远程代理时,生成的 PIN 在有限的时间(默认 10 分钟)内有效。 如果在此有限时间段内未将 Visual Studio 与远程代理进行配对,则需要生成一个新的 PIN。

    生成新的 PIN

    1. 停止代理,或在你的 Mac 上打开另一个 Terminal 应用窗口并使用它输入命令。

    2. 在 Terminal 应用中输入此命令:

      vcremote generateClientCert

      远程代理将生成一个新的临时 PIN。 若要使用新的 PIN 配对 Visual Studio,请重复 在 Visual Studio 中配置远程代理中的步骤。

    生成新的服务器证书

    出于安全目的,将 Visual Studio 与远程代理配对的服务器证书关联到你的 Mac 的 IP 地址或主机名。 如果这些值已更改,则必须生成一个新的服务器证书,然后使用新值重新配置 Visual Studio。

    生成新的服务器证书

    1. 停止 vcremote 代理。

    2. 在 Terminal 应用中输入此命令:

      vcremote resetServerCert

    3. 当提示进行确认时,请输入 Y

    4. 在 Terminal 应用中输入此命令:

      vcremote generateClientCert

      此命令将生成一个新的临时 PIN。

    5. 若要使用新的 PIN 配对 Visual Studio,请重复 在 Visual Studio 中配置远程代理中的步骤。

    Configure the remote agent on the Mac

    你可以使用各种命令行选项配置远程代理。 例如,你可以指定用于接收版本请求的端口以及要在文件系统上进行维护的最大生成数量。 默认限制为 10 个生成。 远程代理会在关机时删除超过最大数量的生成。

    配置远程代理

    • 若要查看远程代理命令的完整列表,请在 Terminal 应用中输入:

      vcremote --help

    • 若要禁用安全模式并启用简单的基于 HTTP 的连接,请输入:

      vcremote --secure false

      如果使用此选项,请在 Visual Studio 中配置代理时清除“安全”复选框,并将“Pin”字段留空。

    • 要为远程代理文件指定位置,请输入:

      vcremote --serverDir directory_path

      其中, directory_path 是 Mac 上放置日志文件、生成项和服务器证书的位置。 默认情况下,此位置是 /Users/<username>/vcremote。 生成项会在此位置按照生成号进行整理。

    • 若要使用后台进程以将 stdout 和 stderr 捕获至名为 server.log 的文件,请输入:

      vcremote > server.log 2>&1 &

      server.log 文件可能有助于解决生成问题。

    • 若要通过使用配置文件而不是命令行参数来运行代理,请输入:

      vcremote --config config_file_path

      其中, config_file_path 是 JSON 格式配置文件的路径。 启动选项及其值不得包含短划线。

    对远程代理进行故障排除

    在设备 iOS 上进行调试

    如果在 iOS 设备上进行调试不起作用,则用于与 iOS 设备通信的工具 ideviceinstaller 可能存在故障。 此工具通常在安装 vcremote 时从 Homebrew 安装。 请按照以下步骤解决该问题。

    打开终端应用并按顺序运行以下命令来更新 ideviceinstaller 及其依赖项:

    1. 确保 Homebrew 已更新

      brew update

    2. 卸载 libimobiledevice 和 usbmuxd

      brew uninstall --ignore-dependencies libimobiledevice

      brew uninstall --ignore-dependencies usbmuxd

    3. 安装最新版本的 libimobiledevice 和 usbmuxd

      brew install --HEAD usbmuxd

      brew unlink usbmuxd

      brew link usbmuxd

      brew install --HEAD libimobiledevice

    4. 卸载和重新安装 ideviceinstaller

      brew uninstall ideviceinstaller

      brew install ideviceinstaller

    尝试列出设备上安装的应用,以验证 ideviceinstaller 是否可以与设备通信:

    ideviceinstaller -l

    如果 ideviceinstaller 出现故障导致无法访问文件夹 /var/db/lockdown,请通过以下方式来更改文件夹的权限:

    sudo chmod 777 /var/db/lockdown

    然后,再次验证 ideviceinstaller 是否可以与设备通信。

    请参阅

    最后

           要想在Windows搞IOS开发,我们还必须得有一天Mac的机器,开一个远程服务才行,哎。。。。。。坑爹啊!!!!!

    展开全文
  • 测试驱动的ios开发(英文版)

    热门讨论 2013-03-19 13:59:39
    Test driven ios development
  • IOS开发 读取PDF文件

    2014-04-28 17:37:24
    使用UIView的方式,读取本地的PDF文档
  • iOS开发进阶完整版 唐巧

    热门讨论 2016-02-26 11:34:15
    这个文档适合那些已经从事了IOS开发的想有更上一步的朋友,里边的内容很全面。
  • iOS开发各种证书详解

    千次阅读 2020-08-31 23:18:38
    对于一个iOS开发小白、半吊子(比如像我自己)抑或老兵,或多或少会有或曾有过以下不详、疑问、疑惑甚至困惑: 什么是App ID?Explicit/Wildcard App ID有何区别?什么是App Group ID? 什么是证书(Certificate)...
  • 这是一套从一个对iOS开发感兴趣的学员到iOS开发高手的系统、专业的课程体系。以培养企业开发真正需要的人才为目标,每个知识点都用案例来讲解。也适合想提升技能的已从事iOS开发的工作人员以最短时间内提升技能的...
  • iOS开发环境:XCode

    千次阅读 2022-01-30 16:06:12
    XCode是苹果公司提供的软件开发工具,它用来开发苹果电脑、手机和其它智能设备中使用的程序,它的安装和其它软件安装方法相同,直接在App Strore中安装就可以,因此这里就不做介绍,我们将重点介绍它提供的相关功能...
  • 一台新电脑从零搭建iOS开发环境

    千次阅读 2021-12-04 16:49:09
    拿到一台新电脑从零搭建iOS开发环境,对于我们这些开发老鸟来说,可能并不陌生。 但实操时,要安装哪些东西可能到用到时才能想到。一些软件的下载命令、网址还要一个个搜索。这篇文章就是解决这个问题。从零搭建iOS...
  • VSCode上的iOS开发

    千次阅读 2020-07-23 06:02:02
    Using an IDE other than Xcode for iOS development until recently was a rather lonely path. This however tends to change with recent developments in the Apple ecosystem. Swift runs officially on Linux,...
  • iOS开发相关书籍推荐

    千次阅读 2020-05-20 17:07:32
    前言:技术书阅读方法论总结 ...1.《OBJECTIVE-C编程之道 IOS设计模式解析》 2.《一线架构师实践指南(温昱)》 3.《Cocoa设计模式》 4.《Objective-C程序设计》 5.《kkbox-iOS-dev》 6.《Cocoa基.
  • [iOS开发]FMDB基本使用

    千次阅读 2021-11-16 19:18:32
    缺点: 因为它是OC的语言封装的,只能在ios开发的时候使用,所以在实现跨平台操作的时候存在局限性。 使用: 打开数据库: NSArray *documents=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, ...
  • MacOS-Mac开发和iOS开发的区别

    千次阅读 2021-05-12 10:07:48
    开发人员观点看,iOS和macos相比,对普通开发人员多加了不少限制。 两者的框架有一定的差异: 框架差异 虽然iOS的大多数框架同样存在于 Mac OS X系统,但不同平台框架具有不同的实现方式和使用方式。下面收集了...
  • iOS开发从入门到精通 [2022版]

    千人学习 2019-12-04 20:03:52
    【课程特点】 学习iOS开发,请选本套课程,理由如下: 1、233节大容量课程:包含了iOS开发中的大部分实用技能; 2、创新的教学模式:手把手教您iOS开发技术,一看就懂,一学就会; 3、贴心的操作提示:让您的眼睛...
  • IOS开发之——音乐播放器-概述(01)

    千次阅读 2022-04-16 22:49:20
    一 项目预览 播放列表 播放器界面 歌词与图切换 拖动播放滑块 二 项目结构图 三 参考 Github-参考代码 Xmind原图
  • iOS开发】崩溃问题汇总

    千次阅读 2022-03-08 23:41:18
    EXC_BAD_ACCESS崩溃 位置:在UIApplicationMain函数内崩溃,相关函数:objc_release,场景:在界面多次切换时崩溃,可以稳定复现,环境:启用了ARC。 原因可能有很多种,我的是因为: 在结构体中存储了OC对象,如下 ...
  • iOS开发-svga的使用

    千次阅读 2021-01-23 09:36:11
    iOS开发-svga的使用前言开发准备代码最后 前言 iOS开发中的跨端动画有Lottie还有在视频直播社交软件上比较流行的是svga。 开发准备 podfile导入 pod 'SVGAPlayer' 代码 ViewController.m #import ...
  • iOS开发时间戳相关问题(NSDate)

    千次阅读 2021-11-12 16:11:58
    最近做项目,需要计算视频包的时延。这里需要在RTP头部传输时间戳。 RTP包头的第2个32Bit即为RTP包的时间戳,Time Stamp ,占32位; 项目需要计算每一帧的延时,32位 sizeof(Byte)是8位,所以只能放4个。...
  • 解决iOS开发 LaunchScreen的问题

    千次阅读 2021-12-06 13:42:31
    遇到的问题: 1.设置Launch Screen File 为空(网上搜索都是这个解释) 设置为空后,iPhone 显示正常,iPad 显示异常(自适应都不对了)。在把Launch Screen File 设置为启动页,iPad 正常了,iPhone的启动页直接黑了。...
  • iOS 13 黑暗模式总结探索 暗黑模式苹果开发文档 如何不进行系统切换样式的适配 注意 同一工程内多个Assets文件在打包后,就会生成一个Assets.car 文件,所以要保证Assets内资源文件的名字不能相同 苹果官方...
  • 一、图片转 Base64字符串 UIImage * image = [UIImage imageNamed:@"图片名称"]; NSData * imageData = UIImageJPEGRepresentation(image, 1); NSString * base64Str = [imageData base64...
  • iOS 开发】选择器控件 UIPickerView

    千次阅读 多人点赞 2022-02-28 21:20:36
    目录iOS 选择器控件 UIPickerView1. UIPickerView 使用2. UIPickerView 设置数据3. UIPickerView 监听选中事件4. UIPickerView 设置图片视图附 Github 源码: iOS 选择器控件 UIPickerView 1. UIPickerView 使用 //...
  • iOS 开发】时间选择器控件 UIDatePicker

    千次阅读 多人点赞 2022-03-01 21:26:19
    目录iOS 时间选择器控件 UIDatePicker1. UIDatePicker 计时器模式2. UIDatePicker 日期时间模式附 Github 源码: iOS 时间选择器控件 UIDatePicker 1. UIDatePicker 计时器模式 // 创建 UIDatePicker let picker1 =...
  • iOS开发】—— nil、Nil、NSNull和NULL

    千次阅读 2022-04-17 16:34:12
    文章目录nilNilNULLNSNull分析 nil nil是用来表示一个对象是空对象,即想要表示此对象不存在。给对象赋值时一般会使用object = nil,表示我想把这个对象释放掉;或者对象引用计数器为0了,系统将这块内存释放掉,这...
  • swift语言IOS开发PDF

    2015-06-25 15:19:13
    swift语言IOS开发PDF
  • 一共面了70分钟,挺久的。一开始上来就是简单的自我介绍,由于本人是第一次面试,所以就稀里糊涂的说了一堆,自以为说的多了就好,基本上就是想到什么说什么,毫无逻辑可言。 然后就是问我大学里面关于计算机的相关...
  • IOS开发指南(中英版)官方文档

    千次下载 热门讨论 2014-06-30 13:55:19
    IOS开发指南(中英版)官方文档,吐血推荐,极好的资料!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 518,705
精华内容 207,482
关键字:

ios开发

友情链接: MIMOOFDM.zip