这篇教程的主要目的是解释怎么样在你的iOS工程中创建并使用一个SDK,俗称.a文件. 环境:xcode 9.0 创建一个静态库工程 打开Xcode,点击File\New\Project, 选择iOS\Framework and Library\Cocoa Touch Static Library新建一个静态库工程. 将工程命名为SDKTest,然后将工程保存到一个空目录下. 当创建静态库工程时,Xcode会自动添加.h和.m. 你不需要实现文件,因此右键单击SDKTest.m选择delete,将…
通过Terminal进入Xcode.app所在目录,可以找到相应的SDK路径,相关 的Framework的头文件也在改目录下. 示例如下: Frameworks /Applications/xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk/System/Library/Frameworks 头文件: /Applications/xcode.ap…
一.功能总述 在博客开始的第一部分,我们先来看一下我们最终要实现的效果.下图中所表述的就是我们今天博客中要做的事情,下方的App One和App Two都植入了我们将要封装的LoginSDK, 两个App中都设置了Keychain Share.当App One通过我们的LoginSDK登录后,在启动App Two时,会去检索是否有账号以及在分享的Keychain中存储了,如果有的话,那么不会弹出“登录”界面,直接进行隐式登录.当然上述这些工作都是在我们的LoginSDK中进行做的事情. 本部分算…
iOS开发拓展篇—封装音频文件播放工具类 一.简单说明 1.关于音乐播放的简单说明 (1)音乐播放用到一个叫做AVAudioPlayer的类 (2)AVAudioPlayer常用方法 加载音乐文件 - (id)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError; - (id)initWithData:(NSData *)data error:(NSError **)outError; 准备播放(缓冲,提高播放的流畅性) -…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 封装webview的常用配置和选择文件.打开相机.录音.打开本地相册的用法.[如果想要使用简单的预览功能,可以参考<MyBridgeWebViewDemo[集成JsBridge开源库的的封装的webview]>] 注意:如果使用选择文件.打开相机.录音.打开本地相册的功能,那么就需要搭配<Android6.0运行时权限(基于RxPermission开源库)>的申请运行时权限(相机.录音.存储权限).<AppU…
参考网址:http://www.jianshu.com/p/b754709135fb http://www.jianshu.com/p/443a5b8f3894   注意:封装静态库时要注意的地方: 1.如果要封装的文件中有派生类,比如NSString+helper这样的写法,那就需要把TARGETS->Build Settings->Linking->Other Linker Flags的属性设置为-ObjC或者-all_load(注意是在打包SDK的项目中添加),否则它会一直奔溃,并…
代码地址如下:http://www.demodashi.com/demo/11653.html 概要 在决定自己封装一个下载器前,我本以为没有那么复杂,可在实际开发过程中困难重重,再加上iOS10和Xcode8的发布,更是带来一些意外的麻烦,断断续续过了一个多月的时间才弄出一个可用的版本.目前网上关于iOS10下载模块出现的bug以及一些特殊情况如何处理的文章比较少,最起码我还没有看到过,这里抛砖引玉,给小伙伴们提供一些思路,也算是这篇文章存在的一点点价值. 公司一个音频项目的下载模块使用的是第…
[iOS系列]-xib封装使用 Xib文件可以用来描述某一块局部的UI界面 Xib文件的加载 修改xib文件的大小size(Freeform) 第一: NSArray *objs = [[NSBundle mainBundle] loadNibNamed:@"xib名字(不要扩展名)" owner:nil options:nil]; 这个方法会创建xib中的所有对象,并且将对象按顺序放到objs数组中 第二: UINib *nib = [UINib nibWithNibName:@&q…
Github https://github.com/gongluck/FFmpeg4.0-study/blob/master/official%20example/my_example.cpp #include <iostream> #include <fstream> //#define NOVIDEO //不解码视频 //#define NOSAVEYUV //不保存YUV //#define SWSCALE //视频帧转换,需禁用NOVIDEO和HWDECODE //#def…
来自自己简书博客:原文地址:https://www.jianshu.com/p/4d092c915ef1 首先SDK是提供给别人调用的工具.所以常见的SDK都是以jar包,so库,aar包等方式导入APP项目中.然后提供一些公开的API供接入方调用.所以在Androidstudio中如果需要生成jar或者aar,就需要将module变成library. 1.AndroidStudio生成library 在这里介绍AndroidStudio两种生成library的方式. 1.1.两种生成libra…