最近在弄一个宠物项目,需要使用根据距离对信息进行排序,直接在数据库中存储经纬度然后SQL中写计算公式并排序的查询效率极其低下
好在MYSQL5.7以后新增了geometry和相应的计算,还可以走索引,亲测十倍左右的性能提升,果断走起

但是在迁移的过程中遇到了设置表和数据同步的问题,多放尝试后找到如下解决方案,不多说,直接上代码

[cc lang=”sql”]
// pet_miniprogram_test 数据库名,lailu_adopt_info表名,这句先添加字段,不设置默认值
ALTER TABLE `pet_miniprogram_test`.`lailu_adopt[……]

继续阅读

最近准备换工作,忙里偷闲梳理下iOS开发过程中内存管理相关的内容,就算给面试做准备了。虽然现在各种ARC,GC已经做得足够好,很少在需要开发者手动管理内存了,但是出于从MRC走过来的情怀,再复习一下吧。
主要从三个方面总结,
第一,系统内存划分
第二,各编程语言的内存管理
第三,在Cocoa框架中需要特别注意的点

系统内存划分

系统内存主要分为如图几个区域,整个内存分配是由低地址向高地址分配,但栈比较特殊,栈的地址是由高到低

代码区

代码区相当于咱们编写的代码,编译成二进制之后在内存中的一个镜像,iOS中只读的,不可修改。部分其他系统允许在运行时修改这一块区域。

常量[……]

继续阅读

干完前面5个方面的活儿以后,应该是可以正常上线了

现在总结一下上包以后的更新

代码&界面&资源方面

跟初次上包一致,需要对代码和资源未见做混淆,混淆风格跟原有的风格保持一致

新增或者原有的功能如有违规,应当根据WiFi,经纬度结合服务器进行屏蔽,WiFi和经纬度屏蔽可以在一直开着,防止苹果审核人员复审

具体操作参见底部链接

更新周期&更新方式

更新周期建议不要少于两周一次,每次更新的内容不要过多,过多的内容苹果审核人员也会全部复审

更新方式上建议多采用网页或rect进行更新,尽量少提交原生代码

如更新时有内购内容,第一版一定严格按照[……]

继续阅读

前面已经对代码,界面,网络等一系列的内容进行了总结,本篇主要总结一下在账号申请,付款,收款,内购相关信息处理方面需要注意的内容

账号申请阶段

首先,账号申请阶段就要相对隔离,前面已经总结了网络方面的隔离,另外我们还需要注意

开启二级验证时,手机号码不要重复使用

付款的信用卡尽量每张信用卡不要超过两个账号使用,苹果官方目前是一个信用卡超过30个开发者账号付款,直接全部封号,保险起见越少越好

不建议网上购买账号,苹果账号在申请阶段,甚至过几个月都不会有问题,但一旦关联的账号出现问题,可能会被误伤,导致封号,损失惨重(亲测血的经验教训)

收款和内购

内购:

如果app是纯[……]

继续阅读

iOS上包过程中需要的一系列元数据都需要注意,重点还是不要跟主要有关联

主要有如下几点:隐私协议,标题,推广文本,关键字,截图,App年龄评级,应用描述,销售区域等

下面详细介绍

隐私协议&支持网址&内购回调

这三个地方都是需要填写的网页地址,注意区分域名,不要跟主包的域名有关联

隐私协议不要简单的复制粘贴,可以去同行app的隐私协议里面复制一大段过来插在开头或者中间,保证内容不一样即可

支持网址需要注明公司或个人信息,支持电话,支持邮箱,这些信息都可以随意编造,跟主包不一致即可。另外需要注意不要有多余的链接链到其它地方,保持干净的网页,免得节外生枝[……]

继续阅读

前面已经对网络和代码相关的内容作了一些总结

本篇对上包过程中,ipa内部资源文件相关的注意事项做一下总结

图片资源

图片资源混淆可以做如下操作

  1. 修改文件名,名字尽量跟原有的不相关,然后整体替换工程中的文件名
  2. 压缩,目的是让文件的hash发生变化,推荐使用tinypng进行压缩
  3. 转换图片格式,例如png转换为jpg,或者转换为pdf,也可以让文件hash值发生变化

游戏模型资源

贴图可以采用压缩或者转换格式

游戏模型,Shader等尽量加密,或者采用动态链接库等方式区别开来

本地持久化存储内容

本地持久化的内容尽量从主包开始就进行加密处理,而且是[……]

继续阅读

在上马甲包的过程中最重要的一环就是要让苹果全方位的感觉到这是一款新app,跟其他应用没有关联,这需要修改工程,代码,资源,界面,交互等

本篇将针对iOS上包过程中涉及到的代码修改相关内容进行一些总结,其他方面将在其他总结内分别介绍
主要分为如下几个方面
工程相关信息,类名混淆,方法名混淆,无用的功能引入,违规功能屏蔽,关闭bitcode,界面更改,交互更改

工程相关信息修改

修改项如下:

  1. bundle id, display name,版本号,编译号
  2. 工程名,打开XCode,直接重命名工程文件,XCode会自动检查附带需要修改的内容,直接点击Rename即可[……]

    继续阅读

本篇将针对iOS上包过程中涉及到的网络相关内容进行一些总结
主要分三个方面,操作过程中的网络环境,服务器连接,wifi信息

操作过程中的网络环境

 

从申请账号到上传安装包的过程中都需要做到硬件隔离,包括使用新的机器打包(黑苹果修改硬件id也可);

网络隔离也必不可少,每个马甲包的账号必须使用不同的网络环境,否则会造成账号和其它账号关联,被苹果一并封号

 

使用4G网络或者使用VPN

4G

从开发者账号申请开始到上传安装包以及后续的数据查看,元数据修改,可以在独立的4G环境(ipv6地址随时在变),所以不用担心ip地址重复

办电信[……]

继续阅读