#系统说明

在ios开发中我们遇到很多问题,ios并不像android那样生成一个apk就可以直接安装,安装一个已经签名的ipa都要走很多流程,苹果的文档也是惨不忍睹, 本系统是为了解决一些常见问题,我之前从事的是uniapp开发如果大家接触过都知道,当你开发完毕后上传ipa审核都需要mac系统非常的繁琐,
不仅仅是mdm系统,后续我会出更多关于ios的工具接口,接口化是为了方便调用,我的未来计划

mdm系统-完善
跨平台签名ipa-使用linux签名
应用分发 ios在开发中给用户手机安装需要走ios的内侧通道 需要先获取udid打专用包非常繁琐 一个链接 直接让这些流程自动化
apple应用管理 在windwos中也可以上传ipa审核

###mdm模块

####说明:
mdm是ios为了企业开发制作的一套移动设备管理系统,可以理解为远程控制多个设备,安装卸载移除数据等等,这套方案适用于
一些企业.比如开发内部app,每个员工都需要装有这个app,公司高管可以直接控制用户手机,或者企业提供手机,企业涉及机密,需要完全的
可以控制,在此我们不讨论隐私权的问题

mdm服务器就是一台简单的云服务器,由我们自己控制

mdm流程:

  1. mdm服务器使用苹果的mdm证书和苹果的apns服务器进行链接 本系统已经完成这个步骤 我们只需要上传证书即可自动管理 而且支持多个证书 上传后会返回证书id后续操作需要用到
  2. 注册手机设备,如何注册? 制作一个描述文件mobileconfig 让用户安装即可 此api填入证书id 会返回一个配置文件下载 链接

    用户使用safari浏览器访问即可,即可下载描述文件,用户需要手动去设置-通用-描述文件与设备管理安装

    当用户完成安装后设备信息就注册在了mdm服务器里 通过设备管理可以查询到该设备 后面对设备操作都会使用到这个deviceid
  3. 向设备发送命令 命令有很多我们暂时只演示安装app 这里的plist文件可以在其他工具接口制作 会返回一个任务id 任务id可以查看这个任务是否执行成功和获取手机信息的一些返回 在此不在演示

    用户设备会受到安装确认信息

    到此整个流程结束

只需要调用几个接口即可完成整个mdm的功能,只需要关系自己的业务逻辑即可

本套系统并不开源,只提供可部署的jar包,如需使用可以自行搭建到自己的服务器
当然 你可能会担心不开源是否会有漏洞? 本套系统并不建议对外开放 只需内部使用即可
不开源会不会有后门?偷取证书? 我只能说 不会 如果担心可以不用

本套系统仅是为了帮助大家快速开发 请勿用于违法行为

#搭建
##准备:

使用 docker

  1. centos7干净的服务器一台 就是刚重装系统的样子 防火墙和安全组必须开放 80 443 10800 10801四个端口
  2. 备案域名 如果你是国外服务器则不需要备案
  3. ssl证书 ssl证书必须是ca认证 不支持自签证书 需要nginx格式 也就是pem和key两个证书文件

安装本服务器很简单 只需要一条命令 等待命令完成

yum install docker -y && systemctl start docker &&  systemctl enable docker && docker run  -tdi --privileged  -p 10800:10800 -p 10801:10801 --name mdm -d  --restart always docker.io/2524931333/centos7mdm:v1 init

命令完成后其实已经启动成功你可以通过 http://你的服务器公网ip/doc.html 访问接口文档

但事实上 ip访问是不允许的 仅做查看服务是否启动使用 请勿使用ip去请求api 我们需要配置域名和https

  1. 配置域名如果你已经安装了宝塔 直接在宝塔里面配置转发到 10801端口即可 理论是这样 但实际没测试过

  2. 如果你不使用宝塔可以使用下面方案

执行命令

yum install -y nginx && systemctl start nginx && systemctl enable nginx

使用vim或者ftp进入服务器 修改文件 /etc/nginx/nginx.conf 替换为下面的内容
注意下面的内容有两处需要修改 替换你的域名
然后将ssl nginx的证书 分别修改为 cert.pem 和 cert.key 放入 /etc/nginx/cert/ 目录下 这个cert目录需要新建
并且给予777权限 两个证书文件也需要777权限

然后重启nginx即可 重启命令 systemctl restart nginx

至此 搭建完成 访问 https://域名/doc.html 即可

docker镜像会衍生出一个ssh客户端 ip是你的服务器 端口是10800 密码是passwd 请及时更改

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;events {worker_connections 1024;
}http {log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile            on;tcp_nopush          on;tcp_nodelay         on;keepalive_timeout   65;types_hash_max_size 2048;include             /etc/nginx/mime.types;default_type        application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;server {listen         80;server_name    替换域名; # 域名client_max_body_size 1024M;add_header Strict-Transport-Security max-age=15768000;return 301 https://$server_name$request_uri;}server {listen 443 ssl; # 老版本是ssl on;较新的为listen 443 ssl;server_name 替换域名; # 域名keepalive_timeout 10m;client_max_body_size 1024M;ssl_certificate      cert/cert.pem; # 申请的证书,把证书和秘钥上传到nginx.conf的同级目录cert的目录下ssl_certificate_key  cert/cert.key; # 秘钥ssl_session_timeout 24h;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;location / {proxy_pass http://127.0.0.1:10801; # 反向代理到本机的10801端口,10801端口的那个服务器不需要任何关>于https的配置。proxy_redirect off;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-Port $server_port;add_header Content-Security-Policy upgrade-insecure-requests;}}# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2 default_server;
#        listen       [::]:443 ssl http2 default_server;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
#        ssl_session_cache shared:SSL:1m;
#        ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
#        ssl_prefer_server_ciphers on;
#
#        # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#
#        location / {
#        }
#
#        error_page 404 /404.html;
#        location = /404.html {
#        }
#
#        error_page 500 502 503 504 /50x.html;
#        location = /50x.html {
#        }
#    }}

苹果 ios mdm服务器搭建相关推荐

  1. 苹果在线签名服务器搭建,苹果iOS企业签名 、apple 超级签名网站服务器选用

    苹果iOS企业签名运行流程 1.用户手机安装预留的描述文件,获取本机udid后,向服务器返回用户的udid 2.服务器收到UDID后,将UDID添加到开发者账号下,下载此udid签名用的证书描述文件. ...

  2. 苹果在线签名服务器搭建,苹果超级签名系统搭建

    苹果超级签名就是通过个人开发者账号添加苹果设备UDID,然后打包进行真机测试的过程.也就是苹果应用内测. 目前苹果超级签名除了寻找第三方服务外,也可以自己搭建一个属于自己的超级签名系统,自己控制开发者 ...

  3. IM即时通讯聊天系统源码在线客服UNIAPP安卓苹果IOS源码搭建教程

    ↓源码下载地址在这点击下方标题跳转下载↓ IM即时通讯聊天系统源码UNIAPP开源费附教程-其它文档类资源-CSDN下载 首先这个也是朋友分享给我的,看了一下整体还行,前端是UNIAPP,支持H5,安 ...

  4. 服务器同时登入会被挤下来吗_「英雄联盟手游」苹果iOS版LOL日服公测,日本服务器卡爆!...

    前几天写了如何下载海外LOL的文章,但是今天下午去登录,发现无法登录,而且创建LOL账号入口也没有了.本来日服因服务器压力问题,对外推迟29号才能下载,但是下午群里面沸腾了,说能下载了. 沉默十年:英 ...

  5. 服务器搭建苹果ipa包在线安装环境

    类似蒲公英的苹果应用在线安装环境,能方便小团队开发分发测试包. 我们利用自己的服务器搭建一个这样的服务. 一.环境要求 1.服务器 域名(可自己买一个域名,作为程序员应该必备一个,域名也不贵,反正贵的 ...

  6. 楚留香山外云服务器有哪些,楚留香手游互通服有哪些 安卓苹果ios互通服列表...

    楚留香手游安卓苹果ios互通服有哪些是很多玩家关注的,毕竟有很多玩家虽然手机不同但是却像要一起玩,而且互通服的玩家一般会更多,人多玩起来才有意思,目前官方已经给出了楚留香手游安卓苹果ios互通服列表, ...

  7. 自建服务器调试,Mac简单实现服务器搭建(本地)与iOS调试

    本人也是小菜鸟一枚,有时候服务器比较忙,有的数据没办法测试,程序有时候无法联调,于是乎找到了相关的一些文章进行了本机服务器搭建,容易上手,话不多说,开始吧. 一.下载一个jar包 点击链接下载服务器端 ...

  8. ios系统可以用谷歌服务器吗,Android若是在国内能用谷歌服务,就会超越苹果iOS...

    原标题:Android若是在国内能用谷歌服务,就会超越苹果iOS 作为一枚资深的手机发烧友,笔者用过的Nexus手机不在少数,最近入手的LG Nexus 5X之后,并没有笔者想象中的流畅.Androi ...

  9. xampp搭建苹果服务器文件,云服务器搭建xampp

    云服务器搭建xampp 内容精选 换一换 Discuz!论坛是全球成熟度最高.覆盖率最大的论坛软件系统之一.用户对论坛的访问可分为高峰期和平峰期,若论坛采用多服务器部署模式且满足高峰时期的负载需求,平 ...

  10. 黑客30秒攻破苹果iOS系统夺得大赛冠军

    本文讲的是 :  黑客30秒攻破苹果iOS系统夺得大赛冠军  , [IT168 评论]神不知鬼不觉,一部装有最新iOS7系统的iPhone5手机中的照片账号密码等被王琦轻而易举地盗取了.在今年11月初 ...

最新文章

  1. matlab fsolve()函数的使用
  2. javascript :得到上星期的这一天日期
  3. 域名和服务器销售WHMCS和HTML5模板 – Hostlar
  4. vijos-1447 开关灯泡-大整数开方算法
  5. SpringCloud Feign使用详解
  6. JavaScript的Date类的函数特殊处理导致的问题
  7. springboot前台页面写Java代码,接收后台数据,SpringBoot整合Thymeleaf的使用,实现非ajax请求后台的数据实现和遍历效果,以及数据的页面展示
  8. 枚举类比较和工具方法
  9. 黑客入侵效果网页html,满屏绿字滑下效果
  10. vue json对象转数组_如何使用Vue.js渲染JSON中定义的动态组件
  11. 谷歌广告联盟怎么收款?google AdSense 广告款收取流程!(转载)
  12. 美团和滴滴,跨领域的竞争
  13. H.264 AVCC header
  14. HDU 1873 优先队列
  15. UR机器人(一):坐标系及位姿表示方法
  16. 墨客UTXO和account模型
  17. Shell命令初步了解
  18. 前端页面里面的文件下载 兼容IE10+
  19. 多媒体计算机技术名词解释,《多媒体计算机技术》
  20. 《python编程快速上手 让繁琐工作自动化》第八章习题+实践答案

热门文章

  1. iphone手机屏幕开发尺寸
  2. 移动端Web组件-Dialog对话框
  3. php生成盖章图片,印章图案生成器
  4. stm8 低功耗 RTC唤醒
  5. matlab画矩阵中的两列,matlab 图例 两列
  6. 自学web前端课程大纲分享,适合所有人学习
  7. Python_提取图片像素值
  8. 音乐剪辑大师/Audio Editor
  9. QMC解码-某音乐解码
  10. abb机器人伺服电机报闸是什么_ABB机器人伺服电机维修常见4大故障处理