xcode 9 免证书真机调试

iso应用在xcode 7之前,真机调试需要花99美元申请开发者账号。现在最新的xcode9可以无证书调试了。很简单,只需要三步。

一. 创建证书

  1. 运行Xcode, Xcode–》Preference–》添加账号(就是你的appstore账号)
  2. 登录成功之后,选择右下角的Manage Certificates
  3. 在弹出的对话框里面点击左下角的+号,然后选择IOS Development 。然后点击done完成。

二.  配置工程

  1. 点击工程根目录,在工程的General面板中找到Singing部分,在Team选项中选择刚才添加的账号。
  2. 执行build.

三. 信任开发者

  1. 手机中点击设置(Settings) —> 通用(General)—>设备管理—>点击对应的账号 —->信任(Trust)

Linux运行守护进程和查杀进程

如果用ssh方式登录远程服务器运行一个服务(比如python的web服务),当你关掉命令窗口的时候,那个服务也跟停止了。

解决办法:

使用nohup命令运行守护进程,然后下次登录的时候可以查看已经运行的进程和杀掉你想停止的进程。红色文字是可替换部分。

运行守护进程
nohup python3 -m http.server

查看相关进程
ps -ef | grep python

杀指定进程
kill -s 9 11464

远程传输文件到Liunx服务器指定目录

使用scp命令就可以了,不需要安装配置ftp什么的那么麻烦

例如在A服务器上将/root/liuxiaofan目录下所有的文件传输到B的/home/liuxiaofan/code目录下,
命令为:

scp -r /root/liuxiaofan root@43.224.34.73:/home/liuxiaofan/code

也可以先进入到你要上传的目录然后

cd /xxx/xxx/xxx/abc
cd ..
scp -r abc root@43.224.34.73:/home/liuxiaofan/code

解决Mac系统VMware Fusion虚拟机访问web服务不能的办法

问题描述:

Mac系统下使用VMware Fusion虚拟机软件安装了centOS后,网络使用的是Nat模式。centOS系统联网正常,mac可以通过ssh与centOS连接,但是centOS启动了web服务后只能在虚拟机内部访问,mac系统下不能通过浏览器直接访问。

问题原因:

centOS默认的防火墙策略是不允许外部直接访问web服务的

解决方案:

第一步 设置默认允许规则

iptables -F
iptables -P INPUT ACCEPT

第二步 设置linux防火墙
在 /etc/sysconfig/iptables 添加

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT

这样两条规则就添加了80和8000端口的访问权限了

至今常用的也是最实用的2种解决跨域问题的方案

本地联调的时候直接调用后端接口就会出现跨域问题;
解决跨域问题最常用的2种方案:
一、 后端接口的通过设置Access-Control-Allow-Origin为*来实现,这里注意一个问题,如果前端过来的是post请求,会出现两次请求,一次options和一次post请求。所以要保证后端开启了options请求的权限,然后还要设置好Allow-Methods和Allow-Headers这两项,代码如下:
JAVA后端代码示例:

response.setHeader("content-type", "application:json;charset=utf8");  
response.setHeader("Access-Control-Allow-Origin", "*");  
response.setHeader("Access-Control-Allow-Methods", "POST");  
response.setHeader("Access-Control-Allow-Headers", "x-requested-with,content-type");  

Read More

h5页面js判断手机横屏

主要通过window.orientation来实现,不过这个方法貌似要被未来的标准废弃掉。
点击查看orientation文档
下面的代码最好用手机进行测试,电脑的浏览器不一定会生效。

function rotate() {
     
      if (window.orientation == 180 || window.orientation == 0) {
      alert('竖屏')
      }
      if (window.orientation == 90 || window.orientation == -90) {
      alert('横屏')
      }
    }
    window.addEventListener("load", rotate, false);
    window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", rotate, false);