弦歌雅意的小屋

  • 首页

  • 分类

  • 归档

如何在UIWebView中调用Swift方法

发表于 2018-08-24 | 更新于 2019-06-27 | 分类于 iOS开发

在UIWebView中调用Swift方法

在UIWebView中和Swfit代码交互

App中内嵌网页,有时候需要调用Native功能。
为了支持iOS和Android双平台,网页中调用native函数的代码的大概是下面的样子

阅读全文 »

HandyJSON Tip

发表于 2018-08-08 | 更新于 2019-06-27 | 分类于 iOS开发

HandyJSON使用Tip

HandyJSON描述

HandyJSON是alibaba公司开源的一个映射json数据到对象的一个Swift语言库. 其特点是直接操作内存来完成给对象赋值。没有使用KVC特性,不需要对象继承NSObject类。

阅读全文 »

分享几个Shell 命令

发表于 2018-01-04 | 更新于 2019-06-27 | 分类于 Shell开发

分享几个Shell 命令

iconv

文件编码转换工具

  • 列出支持的编码
1
iconv -l
阅读全文 »

Locus Pro v3.20国内无法使用的修改办法

发表于 2017-11-22 | 更新于 2019-06-27 | 分类于 逆向工程

Locus Pro v3.20 修改方法

目标

  • 解决国内无法动态下载so文件导致无法启动的问题
    • 使用Apk的全部功能
阅读全文 »

人工智能学习资料

发表于 2016-12-21 | 更新于 2019-07-02 | 分类于 人工智能

人工智能学习资料

  • Neural Networks and Deep Learning

    http://neuralnetworksanddeeplearning.com/index.html

    阅读全文 »

GLKView在放大模式下尺寸不正确的解决方法

发表于 2016-11-11 | 更新于 2019-06-28 | 分类于 iOS开发

GLKView在放大模式下尺寸不正确的解决方法

遇到问题

最近开发了一款手机图片处理App。里面用到了GLKView来显示摄像头捕捉到的图像。

在朋友iPhone7上测试这款应用的时候,出现了一个奇怪的现象,GLView视图大小显示不正确。本该占满屏幕的视图现在只占据了屏幕的一部分。

阅读全文 »

Swift2 到 Swift3 SDK中协议定义发生改变

发表于 2016-11-11 | 更新于 2019-06-27 | 分类于 iOS开发

Swift2 迁移到 Swift3中协议改变的坑

最近升级到了Xcode8.0。所以把项目代码从Swift2.0升级到了3.0。

没有采用自动转换, 而是根据提示进行了手动修改, 顺便熟悉下代码中的变化部分。

经过不断努力,代码终于编译通过了, 但是运行后,启动界面消失后,界面全黑。

阅读全文 »

美颜滤镜的CoreImage版本滤镜实现

发表于 2016-08-05 | 更新于 2019-06-27 | 分类于 iOS开发

美颜滤镜的CoreImage版本滤镜实现

本文是对下面文章中的美颜滤镜的CoreImage kernel filter的滤镜部分移植实现。
实战分享:实时美颜滤镜是怎样炼成的

阅读全文 »

GPUImageSphereRefractionFilter滤镜的Core Image Filte实现

发表于 2016-08-02 | 更新于 2019-06-27 | 分类于 iOS开发

GPUImageSphereRefractionFilter滤镜的Core Image Filter实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
* center: 中心坐标,取之范围0-1
* radius: 取值范围0~0.5
* aspectRatio : 输入图片的宽高比, 代码中已自动计算
* refractiveIndex : 反射率
*/

kernel vec4 coreImageKernel(sampler image, vec2 center, float radius, float aspectRatio, float refractiveIndex)
{
//转换当前处理的坐标为贴图坐标,范围0.0~1.0
vec2 pos = destCoord();
pos.x = pos.x / samplerSize(image).x;
pos.y = pos.y / samplerSize(image).y;

aspectRatio = samplerSize(image).y / samplerSize(image).x;
vec4 color;
highp vec2 textureCoordinateToUse = vec2(pos.x, (pos.y * aspectRatio + 0.5 - 0.5 * aspectRatio));
highp float distanceFromCenter = distance(center, textureCoordinateToUse);
lowp float checkForPresenceWithinSphere = step(distanceFromCenter, radius);

distanceFromCenter = distanceFromCenter / radius;

highp float normalizedDepth = radius * sqrt(1.0 - distanceFromCenter * distanceFromCenter);
highp vec3 sphereNormal = normalize(vec3(textureCoordinateToUse - center, normalizedDepth));

highp vec3 refractedVector = refract(vec3(0.0, 0.0, -1.0), sphereNormal, refractiveIndex);

vec2 samplePos = (refractedVector.xy + 1.0) * 0.5;

//还原贴图坐标为空间坐标
samplePos.x *= samplerSize(image).x;
samplePos.y *= samplerSize(image).y;
color = sample(image, samplePos) * checkForPresenceWithinSphere;

return color;

}

老款iMac创建的IPv6热点连接

发表于 2016-07-21 | 更新于 2019-06-27 | 分类于 iOS开发

iMac 2011 创建的IPv6热点连接失败

根据苹果公司提供的搭建IPv6环境的方法,创建了IPv6热点。
但是用iPhone6 iOS9.33的手机无法连接成功,始终处于连接中的状态。
后来把热点设置为无密码状态,手机成功连接。
因为热点只有一种加密方式可以配置。而手机测无可配置的地方。
所以只能推测是电脑硬件问题。
使用的电脑为: iMac 2011

1234…8
Erik Lu

Erik Lu

从事软件开发多年
目前致力于移动开发
平时喜欢逆向工程
现在学习人工智能中
擅长Java、Swift、Python、Javascript
喜爱Linux Shell
72 日志
19 分类
71 标签
GitHub
© 2014 – 2022 Erik Lu
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Pisces v7.1.2