ios开发

移动开发的坑

╄→гoц情女王★ 提交于 2020-01-14 13:02:08
IOS 篇 在 IOS 端存在很多问题 样式 IOS 端自带样式 与安卓有很多不同 为了各个终端样式统一 可以使用 -webkie-appearence:none 来清除样式 并进行统一的编写 -webkit-appearence:none 带来的问题 -webkit-appearance 会将 webkit 浏览器中的元素默认样式去除。 checkbox 在这个属性下就直接隐藏掉了。然后用 JS 获取 checkbox 值时 Webkit 浏览器会报很奇怪的错误。给这个元素重新赋上 -webkit-appearance:checkbox 就不会报错了。 事件委托 在 IOS 端 事件不可委托与 document 委托至 document 则事件不会触发 需将事件委托在父元素之上 输入框放大 IOS 端输入框点击会放大 且无法自动恢复 利用 meta 标签来解决这个问题 <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> 来源: https://www.cnblogs

iOS组件化开发· 什么是组件化

血红的双手。 提交于 2020-01-14 09:19:01
越来越多公司,开始了组件化,你还要等到什么时候...... 说到开发模式,我们最熟知的开发模式 MVC 或者最近比较热门的MVVM。但是我今天说的组件化的开发,其实MVC不是一类的。它其实是····· 在实际工作中,尤其是参与过比较大的项目,同时,参与开发的成员比较多的情况下,随着时间的不停的开发,业务线不断复杂,就会遇到下面一系列的问题。真的好烦哦····· 1、代码耦合很严重。一个控制器的存在需要依赖很多控制器,一个控制器有会被很多控制器依赖。 2、项目逐渐变臃肿,庞大,复杂。每次编译都会需要很长时间。 3、整个项目要保持一致的开发模式,喜欢MVC的不擅长MVVM,喜欢MVVM的感觉MVC太Low 4、不能进行独立测试 传统的团队开发模式的问题在不断的迭代中逐渐的暴露出来。所以我们应该了解更为先进高效的团队开发模式,那就是! 组件化开发 下面就为大家详细的介绍一下 组件化 或者叫 模块化 开发 什么是组件化开发 组件化开发,就是将一个臃肿,复杂的单一工程的项目, 根据功能或者属性进行分解,拆分成为各个独立的功能模块或者组件 ; 然后根据项目和业务的需求,按照某种方式, 任意组织成一个拥有完整业务逻辑的工程。这就是所谓的组件化开发。 组件化开发的优点 既然针对上述问题提到了组件化开发,那就要必要交代一下组件化模块化开发的好处。这样在进行对比的时候

iOS开发——音频篇——音效的播放

左心房为你撑大大i 提交于 2020-01-13 02:26:08
一、简单介绍 简单来说,音频可以分为2种 (1)音效 又称“短音频”,通常在程序中的播放时长为1~2秒 在应用程序中起到点缀效果,提升整体用户体验 (2)音乐   比如游戏中的“背景音乐”,一般播放时间较长 框架:播放音频需要用到AVFoundation.framework框架 二、音效的播放 1.获得音效文件的路径   NSURL *url = [[NSBundle mainBundle] URLForResource:@"m_03.wav" withExtension:nil]; 2.加载音效文件,得到对应的音效ID   SystemSoundID soundID = 0;   AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &soundID); 3.播放音效   AudioServicesPlaySystemSound(soundID); 注意:音效文件只需要加载1次 4.音效播放常见函数总结 加载音效文件   AudioServicesCreateSystemSoundID(CFURLRef inFileURL, SystemSoundID *outSystemSoundID) 释放音效资源   AudioServicesDisposeSystemSoundID(SystemSoundID

iOS开发拓展篇—音乐的播放

…衆ロ難τιáo~ 提交于 2020-01-12 17:40:20
iOS开发拓展篇—音乐的播放 一、简单说明   音乐播放用到一个叫做AVAudioPlayer的类,这个类可以用于播放手机本地的音乐文件。 注意:   (1)该类(AVAudioPlayer)只能用于播放本地音频。   (2)时间比较短的(称之为音效)使用AudioServicesCreateSystemSoundID来创建,而本地时间较长(称之为音乐)使用AVAudioPlayer类。 二、代码示例   AVAudioPlayer类依赖于AVFoundation框架,因此使用该类必须先导入AVFoundation框架,并包含其头文件(包含主头文件即可)。       导入必要的,需要播放的音频文件到项目中。 代码示例: 1 // 2 // YYViewController.m 3 // 15-播放音乐 4 // 5 6 #import "YYViewController.h" 7 #import <AVFoundation/AVFoundation.h> 8 9 @interface YYViewController () 10 11 @end 12 13 @implementation YYViewController 14 15 - (void)viewDidLoad 16 { 17 [super viewDidLoad]; 18 19 } 20 21 -(void

iOS开发~CocoaPods使用详细说明

两盒软妹~` 提交于 2020-01-12 09:17:05
一、概要 iOS开发时,项目中会引用许多第三方库,CocoaPods( https://github.com/CocoaPods/CocoaPods )可以用来方便的统一管理这些第三方库。 二、安装 由于网上的教程基本都大同小异,但细节之处还不是很完善,所以借机会在这里补充下: 注:要使用CocoaPods,那就要下载安装它,而下载安装CocoaPods需要Ruby环境 1、Ruby环境搭建 当前安装环境为Mac mini 10.8.5。Mac OS本身自带Ruby,但还是更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。 a 查看下当前ruby版本:打开终端输入 ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby) ritekiMac-mini:PodTest lucky$ ruby -v ruby 1 .8 .7 ( 2 0 1 2- 0 2- 0 8 patchlevel 3 5 8) [universal-darwin 1 2 .0] ritekiMac-mini:PodTest lucky$ b 更新ruby 终端输入如下命令(把Ruby镜像指向taobao,避免被墙,你懂得) gem sources --remove https://rubygems.org/ gem sources -a https://ruby

iOS开发 适配iOS10

一曲冷凌霜 提交于 2020-01-11 21:08:24
2016年9月7日,苹果发布iOS 10。2016年9月14日,全新的操作系统iOS 10将正式上线。 作为开发者,如何适配iOS10呢? 1.Notification(通知) 自从 Notification 被引入之后,苹果就不断的更新优化,但这些更新优化只是小打小闹,直至现在iOS 10开始真正的进行大改重构,这让开发者也体会到 UserNotifications 的易用,功能也变得非常强大。 iOS 9 以前的通知 1.在调用方法时,有些方法让人很难区分,容易写错方法,这让开发者有时候很苦恼。 2.应用在运行时和非运行时捕获通知的路径还不一致。 3.应用在前台时,是无法直接显示远程通知,还需要进一步处理。 4.已经发出的通知是不能更新的,内容发出时是不能改变的,并且只有简单文本展示方式,扩展性根本不是很好。 iOS 10 开始的通知 1.所有相关通知被统一到了 UserNotifications.framework 框架 中。 2.增加了撤销、更新、中途还可以修改通知的内容。 3.通知不在是简单的文本了,可以加入视频、图片,自定义通知的展示等等。 4.iOS 10相对之前的通知来说更加好用易于管理,并且进行了大规模优化,对于开发者来说是一件好事。 5.iOS 10开始对于权限问题进行了优化,申请权限就比较简单了(本地与远程通知集成在一个方法中)。    如果使用了推送

iOS使用得图SDK开发VR播放器

匆匆过客 提交于 2020-01-10 11:28:39
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 产品概述 iOS SDK包含全景图片、VR视频、漫游主题等多种展示方式,支持小行星模式、陀螺仪、VR双屏沉浸式观看。您只需一个链接地址或是一条配置即可展现炫酷的全景效果。 下载并集成SDK (注意:仅支持真机调试) sdk包下载 demo下载 下载sdk包之后,将sdk包复制项目目录下 做以下配置 在Linked Frameworks and Libraries 添加三个库 libz2.tbd libxml2.tbd libc++.tbd 添加相关路径 将IJKMediaFramework.framework 和opencv2 所在路径添加到 Framework search Paths 将include文件夹所在路径添加到Header Search Paths 将libPanoPlayerStatic.a 和 thirdPart文件夹所在路径添加到Library Search Paths 播放器的引入 在控制器添加播放器 播放器PanoPlayer继承自UIView 播放器协议:PanoPlayDelegate PanoPlayer *panoPlayer = [[PanoPlayer alloc] init]; self.panoPlayer = panoPlayer; [self.view

iOS开发中一些有用的小代码

不打扰是莪最后的温柔 提交于 2020-01-10 11:00:42
1. 判断邮箱格式是否正确的代码: // 利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",emailRegex]; return [emailTest evaluateWithObject:email]; } 2.图片压缩 用法: UIImage *yourImage= [self imageWithImageSimple:image scaledToSize:CGSizeMake(210.0, 210.0)]; // 压缩图片 - (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize { // Create a graphics image context UIGraphicsBeginImageContext(newSize); // Tell the old image to draw in this newcontext,

iOS开发,自己的cocoaPods库中隐藏源码,只上传编译好的framework文件

不羁的心 提交于 2020-01-10 05:24:31
在iOS的模块化编程中,我们通常使用cocoaPods来开发一个单独模块(通过pod lib create ***来创建),然后提交到git上,让其他人使用,但是这样别人也能看到源代码。如果不想让别人看到源代码,可以只提交编译好的framework文件,具体方法如下: podspec文件如下: 文件目录如下: podspec中的“s.vendored_frameworks = 'SDK/TencentOpenAPI.framework'”指定framework; 这样就可以把编译好的framework提交到git中,使用中直接通过pod命令来使用,而且使用者无法看到源代码。 来源: CSDN 作者: 海阔天空0321 链接: https://blog.csdn.net/yqh19880321/article/details/103834629

iOS开发ApplePay的介绍与实现

♀尐吖头ヾ 提交于 2020-01-09 18:03:45
1、Apple Pay的介绍 Apple Pay官方 1.1 Apple Pay概念 Apple Pay,简单来说, 就是一种移动支付方式。通过Touch ID/ Passcode,用户可使用存储在iPhone 6, 6p等之后的新设备上的信用卡和借记卡支付证书来授权支付; 它是苹果公司在2014苹果秋季新品发布会上发布的一种基于NFC的手机支付功能,于2014年10月20日在美国正式上线,2016年2月18日凌晨5:00, Apple Pay 业务在中国上线。 1.2 使用前提 设备支持 iPhone 配备面容 ID 的 iPhone 机型 配备触控 ID 的 iPhone 机型(iPhone 5s 除外) 识别您的 iPhone 机型 iPad 配备触控 ID 或面容 ID 的 iPad Pro、iPad Air、iPad 和 iPad mini 机型 Apple Watch Apple Watch Series 1 和 2 及更新机型 Apple Watch(第 1 代)7 Mac 配备触控 ID 功能的 Mac 机型 2012 年或之后推出的 Mac 机型,与支持 Apple Pay 的 iPhone 或 Apple Watch 搭配使用 系统支持 iOS8.0以上版本, 注意:iOS9.2才真正的支持“银联支付”, 意味着iOS9.2以后才可以在中国市场使用。 银行支持