ios开发相关知识
-
【总结】iOS开发者账号总结该文章属于<简书 — 刘小壮>原创,转载请注明: <简书 — 刘小壮> http://www.jianshu.com/p/f3f102b9db96 之前写过一篇《iOS开发者账号总结》的文章,主要总结了不同开发者账号之间的区别,以及一些账号管理和选择上的建议。 但是,之前的文章因为没有开启Markdown,而且当时写得有点潦草,现在看起来感觉太乱了。这两天打算把这篇文章重写一下,内容也会进行更新和添加,以保证文章质量。 简述 iOS开发在国内已经发展好几年了,在进行iOS开发之前必不可少的一件事,就是申请开发者账
-
IOS开发入门之二——第一个App 如果你对怎么开始IOS开发都不懂的话,请看点下面的链接,先学习关于IOS开发环境的配置以及Swift语言入门: IOS开发入门之一——Swift语言基础 本章将教大家创建一个标准的苹果手机应用并让它在手机模拟器上运行起来。一、创建IOS工程 1. 打开Xcode软件,如下图所示,点击红框处,创建一个Xcode工程 2. 在第二个界面,只要确保左上角选择的是“iOS”,中间选择的是“Single VIew App”,就可以点击右下角的“Next”按钮进入下一步。 3. "Product Name"后面输入工程名称,"Language"后面可以选择使用的开发语言有Object C和Swift两种可选,我们选择Swift。然后点击右下角的"Next&
-
iOS开发教程之3D Touch3D Touch的触控技术,被苹果称为新一代多点触控技术。随着这项技术的出现,iOS开发者们为了行业需求也进行了新技术的攻关。3D Touch包含三大模块:peek and pop、Home Screen Quick Actions、Force Properties。这里进行一下Home Screen Quick Actions和peek and pop在实际开发中简单实现。 注:在xcode7以上都可以支持3D touch的开发,正常情
-
iOS开发教程之手势识别方法原文链接感觉有必要把iOS开发中的手势识别做一个小小的总结。在上一篇iOS开发之自定义表情键盘(组件封装与自动布局)博客中用到了一个轻击手势,就是在轻击TextView时从表情键盘回到系统键盘,在TextView中的手是用storyboard添加的。下面会先给出如何用storyboard给相应的控件添加手势,然后在用纯代码的方式给我们的控件添加手势,手势的用法比较简单。和button的用法类似,也是目标动作回调,话不多说,切入今天的正题。总共有六种手势识别:轻击手势(TapGestureRecognizer),轻扫手势(SwipeGestureRecognizer), 长按手势(LongPressGestureRecognizer), 拖动手势(PanGestureRecognizer), 捏合手势(PinchGestureRecognizer),旋转手势(RotationGestureRecognizer);其实这些手势用touche事件完全可以实现,苹果就是把常用的触摸事件封装成手势,来提供给用户。读者
ios开发相关课程
ios开发相关教程
- Kotlin 如何用于 iOS 开发 (Kotlin Native) 从这篇文章开始我们将一起研究下 Kotlin 是如何应用于 iOS 开发的。在此之前我想让大家重新认识一下 Kotlin 这门语言。很多人一直都认为它不就是门 JVM 语言和 Java、Scala 一样都是跑在 JVM 虚拟机上。其实 Kotlin 并不仅仅是一门 JVM 语言,它的野心是真的大,JVM 语言已经无法满足它的雄心壮志了。它是一门多平台的静态编译型语言,它可以用于 JVM 上 (只不过在 JVM 层面比较出名而已,导致很多人都认为它是门 JVM 语言),实则它可以编译成 JavaScipt 运行在浏览器中也可以编译成 IOS 的可运行文件跑在 LLVM 上。
- 3. Kotlin/Native 开发 IOS 运行原理分析 看到上面 IOS HelloWorld 项目运行起来,大家有没有思考一个问题,Kotlin 的代码的代码是怎么在 IOS 设备上跑起来呢?实际上,在这背后使用了一些脚本和工具在默默支撑着整个项目的运行,如前所述,Kotlin / Native 平台有自己的编译器,但每次想要构建项目时手动运行它明显不是高效的。 所以 Kotlin 团队了选择 Gradle。Kotlin / Native 使用 Gradle 构建工具在 Xcode 中自动完成 Kotlin / Native 的整个构建过程。在这里使用 Gradle 意味着开发人员可以利用其内部增量构建架构,只需构建和下载所需内容,从而节省开发人员的宝贵时间。如果,你还对上述有点疑问不妨一起来研究下 Kotlin/Native 项目中的构建参数脚本:打开构建脚本是需要在 Xcode 中打开的,具体可以参考如下图:通过以上项目可以分析到在 Xcode 中编译一个 Kotlin/Native 项目,实际上在执行一段 shell 脚本,并在 shell 脚本执行中 gradlew 命令来对 Kotlin/Native 编译,该脚本调用 gradlew 工具,该工具是 Gradle Build System 的一部分,并传递构建环境和调试选项。然后调用一个 konan gradle 插件实现项目编译并输出 xxx.kexe 文件,最后并把它复制到 iOS 项目构建目录 ("$TARGET_BUILD_DIR/$EXECUTABLE_PATH")。最后来看下 Supporting Files 中的 build.gradle 构建文件,里面就引入了 konan 插件 (Kotlin/Native 编译插件), 有空的话建议可以深入研究下 konan 插件,这里其实也是比较浅显分析了下整个编译过程,如果深入研究 konan 插件源码的话,更能透过现象看到 Kotlin/Native 本质,这点才是最重要的。buildscript { ext.kotlin_version = '1.2.0' repositories { mavenCentral() maven { url "https://dl.bintray.com/jetbrains/kotlin-native-dependencies" } } dependencies { classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:0.7" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }}apply plugin: 'kotlin'repositories { mavenCentral()}dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib"}apply plugin: 'konan'konan.targets = [ 'ios_arm64', 'ios_x64'] konanArtifacts { program('KotlinNativeOC')}
- 2.1 什么的原生开发?什么是混合开发? 2.1.1 原生开发原生开发一般是指用原生语言进行开发,原生开发语言就是官方提供的开发语言,比如 IOS 是利用 Objective-C 和 Xcode 进行开发、小程序是用微信小程序原生语言和微信开发者工具进行开发。2.1.2 混合开发混合开发是指开发一个项目应用时,为了提高运行效率或者开发效率,将各种开发技术进行混合应用的开发形式。混合开发将各种开发方式取长补短,虽然比原生开发更难上手,但是架不住开发效率和运行效率的优势,现在比较大型的应用项目都会用混合开发来进行项目开发。uni-app 的混合开发主要是为了实现一些 uni-app 框架无法实现的功能,或者扩展接入一些第三方的 SDK。
- Kotlin 如何用于 Android 开发 从这篇文章开始我们将进入 Kotlin 用于一些平台的开发,比如 Android、iOS、Web 以及服务端应用程序的开发。我们都知道 Kotlin 这门语言是借助 Android 进入了我们视野的,自从 2019 年 Google IO 大会上宣布 Kotlin 成为了 Android 开发的一级语言后,Google 官方力推 Kotlin,包括很多官方库和 Google APP 都采用 Kotlin 来开发。此外 Android 熟知的第三方库比如 OkHttp 都全部使用 Kotlin 重写了,可知 Kotlin 在 Android 中地位已经到了语言一等公民了。那么这篇文章,将从 0 到 1 带领大家使用 Kotlin 开发 Android 应用程序。
- 3.2 在运行期判断 运行期判断是指代码已经编译到发行包里面,所以我们还是需要来判断当前是在哪个平台上面运行。这个时候可以使用 uni.getSystemInfoSync().platform 方法来判断当前的平台是Android,iOS还是小程序开发工具。在百度小程序开发工具、微信小程序开发工具、支付宝小程序开发工具中使用 uni.getSystemInfoSync().platform 返回值都是 devtools,所以我们只能知道当前是小程序开发工具,不能继续往下细分了。实例:switch(uni.getSystemInfoSync().platform){ case 'android': console.log('运行在Android平台上面') break; case 'ios': console.log('运行在iOS平台上面') break; default: console.log('运行在开发者工具上面') break;}
- 5.1 IOS 项目 ViewController 与组件绑定过程分析 看到上面的运行 Demo,大家有没有在思考一个问题 IOS 项目中的 ViewController 是怎么和 UI 组件绑定在一起的呢?我个人认为这个很重要,换句话说这就是 IOS 开发最基本的套路,如果这个都不弄明白的话,下面 Demo 开发就是云里雾里了,掌握了这个基本套路的话,作为一个 Android 开发者,你基本上就可以在 IOS 项目开发中任意折腾了。在 kotlin 目录下新建一个 KNMapViewController 类,并且它去继承 UIViewController 以及实现 MKMapViewDelegateProtocol 接口,并重写 viewDidLoad () 函数。并且在 viewDidLoad 函数实现 map 地图基本配置。//导入Kotlin以与Objective-C和一些Cocoa Touch框架互操作。import kotlinx.cinterop.*import platform.CoreLocation.CLLocationCoordinate2DMakeimport platform.Foundation.*import platform.MapKit.MKCoordinateRegionMakeimport platform.MapKit.MKCoordinateSpanMakeimport platform.MapKit.MKMapViewimport platform.MapKit.MKMapViewDelegateProtocolimport platform.UIKit.*@ExportObjCClass//注意: @ExportObjCClass注解有助于Kotlin创建一个在运行时可查找的类。class KNMapViewController: UIViewController, MKMapViewDelegateProtocol { @ObjCOutlet //注意: @ObjCOutlet注解很重要,主要是将mMapView属性设置为outlet。这允许您将Main.storyboard中的MKMapview链接到此属性。 lateinit var mMapView: MKMapView constructor(aDecoder: NSCoder) : super(aDecoder) override fun initWithCoder(aDecoder: NSCoder) = initBy(KNMapViewController(aDecoder)) override fun viewDidLoad() { super.viewDidLoad() val center = CLLocationCoordinate2DMake(32.07, 118.78) val span = MKCoordinateSpanMake(0.7, 0.7) val region = MKCoordinateRegionMake(center, span) with(mMapView) { delegate = this@KNMapViewController setRegion(region, true) } }}用 Xcode 打开项目中的 Main.storyboard, 删除原来自动生成一些视图组件 (如果你处于 AppCode 中开发项目,实际上直接在 AppCode 中双击 Main.storyboard 就会自动使用 Xcode 打开当前整个项目,并打开这个项目):给当前空的视图绑定对应 ViewController, 这里是 KNMapViewController:4、在当前空的视图中添加一个 map view 组件并且设置组件的约束条件。右击组件 MKMapView 可以看到黑色对话框,里面 Referencing Outlets 还空的,说明当前 ViewController 没有和 MKMapView 组件绑定:配置 outlet, 这里说下 AppCode 很坑爹地方,需要手动去 source code 中手动配置 outlet,选中 main.storyboard 右击 open as 然后选择打开 source code:在 view 和 viewController 结尾标签之间配置 connection:配置的 code 如下:<connections> <outlet property="mMapView" destination="dest id" id="generate id"/></connections><!--property属性值就是KNMapViewController中的mMapView变量名;destination属性值是一个map view标签中id(可以在subviews标签内的mapView标签中找到id), id属性则是自动生成的,可以按照格式自己之指定一个,只要不出现重复的id即可-->配置结果如下:检验是否绑定成功,回到 main.stroyboard 视图,右击组件查看黑色框是否出现如下绑定关系,出现了则说明配置成功。接着上述配置步骤,就可以回到 AppCode 中运行项目了:
ios开发相关搜索
-
inline
inner join
innerhtml
innerjoin
input
input readonly
input 属性
inputstream
inputtype
input属性
insert
insert into
insert into select
insertbefore
insertinto
insert语句
inspect
instance
instant
instr