iOS - App 间的通信方式】的更多相关文章

1.前言 iOS 系统是相对封闭的系统,App 各自在各自的沙盒(sandbox)中运行,每个 App 都只能读取 iPhone 上 iOS 系统为该应用程序程序创建的文件夹 AppData 下的内容,不能随意跨越自己的沙盒去访问别的 App 沙盒中的内容. 所以 iOS 的系统中进行 App 间通信的方式也比较固定,常见的 App 间通信方式以及使用场景总结如下. 2.URL Scheme URL 协议 这个是 iOS App 通信最常用到的通信方式,App1 通过 openURL 的方法跳转…
1.Xcode 项目属性 Product Name 软件名称.产品名称.项目名称 Organization Name 公司名称.组织名称 Organization Identifier 公司的唯一标识 一般是公司域名的反写,比如 com.baidu Bundle Identifier 软件的唯一标识 一般是 Organization Identifier + Product Name 2.App 应用间跳转 2.1 应用跳转原理 相信从一个应用跳转到另一个应用大家并不陌生,最常见的莫过于第三方登…
1 URL Scheme 2 Keychain 3 UIPasteboard 4 UIDocumentInteractionController 5 local socket 6 AirDrop 7 UIActivityViewController 8 App Groups iOS系统是相对封闭的系统,App各自在各自的沙盒(sandbox)中运行,每个App都只能读取iPhone上iOS系统为该应用程序程序创建的文件夹AppData下的内容,不能随意跨越自己的沙盒去访问别的App沙盒中的内容.…
1.前言 一般 iOS 开发者做 App 开发大部分时候都是通过 Http(s) 请求跟后台服务器打交道,做一些信息展示和用户交互.很少涉及到去跟外部硬件设备连接的开发.随着近年来车联网和物联网的兴起,智能家居和智能硬件的逐步火热,越来越多的 App 被开发出来,用来跟硬件设备进行来连接,获取硬件相关信息展示或者发送指令控制硬件来提供服务.本文就针对 iOS 的 App 如何跟外部设备进行连接通信这个问题进行讲解. 如下图所示,iOS App 连接外设的常用方式可以分为三大类: 2.通过网络端口…
iOS系统是相对封闭的系统,App各自在各自的沙盒(sandbox)中运行,每个App都只能读取iPhone上iOS系统为该应用程序程序创建的文件夹AppData下的内容,不能随意跨越自己的沙盒去访问别的App沙盒中的内容. 所以iOS 的系统中进行App间通信的方式也比较固定,常见的app间通信方式以及使用场景总结如下. 1.URL Scheme 这个是iOS app通信最常用到的通信方式,App1通过openURL的方法跳转到App2,并且在URL中带上想要的参数,有点类似http的get请…
上篇博客<iOS逆向工程之KeyChain与Snoop-it>中已经提到了,App间的数据共享可以使用KeyChian来实现.本篇博客就实战一下呢.开门见山,本篇博客会封装一个登录用的SDK, 该登录SDK中包括登录.注册.忘记密码等功能,当然该SDK中包括这些功能的UI.数据验证等业务逻辑.网络请求.数据存储等等.当然此处的登录SDK是一个简化版的,真正的登录SDK比这个考虑的东西要多的多,如果在加上多个App进行登录账号的共享的话,那么考虑的东西就更为复杂了. 本篇博客就先封装一个Logi…
[源码下载] 不可或缺 Windows Native (25) - C++: windows app native, android app native, ios app native 作者:webabcd 介绍不可或缺 Windows Native 之 C++ windows app native android app native ios app native 示例一.演示 windows app native 开发1.native 层CppCx.h #pragma once #incl…
框架 JSPatch WaxPatch react-native   方案对比 目前已经有一些方案可以实现动态打补丁,例如WaxPatch,可以用Lua调用OC方法,相对于WaxPatch,JSPatch的优势是: 1.JS语言JS比Lua在应用开发领域有更广泛的应用,目前前端开发和终端开发有融合的趋势,作为扩展的脚本语言,JS是不二之选. 2.符合Apple规则JSPatch更符合Apple的规则.iOS Developer Program License Agreement里3.3.2提到不…
一说开发 iOS app,你立马就会想到苹果的开发语言 Objective C/Swift 和 Xcode.但是,这并不是唯一的选择,我们完全可以使用别的语言和框架. 一种主流的替换方案是 Xamarin,这是一个跨平台框架,允许你开发 iOS.Android 和 OSX.Windows app,它使用的是 C# 和 Visual Studio.最大的好处在于,Xamarin 允许你在 iOS 和 Android app 间共享代码. Xamarin 与其他跨平台框架相比有一个最大的好处:使用…
2.1  iOS应用解析(iOS App Anatomy) 几乎所有的iOS应用都会用到UIKit框架中的组件.了解这些基础组件的名称,角色,功能可以帮你在应用界面设计时做出更好的决策. UIKit提供的界面元素大概可以分为以下四大类: 栏(Bar):栏包含可以告诉用户目前位置的上下文信息,以及帮助用户导航和操作的控件. 内容视图(Content views):内容视图包含app相应的内容以及视图上的一些操作,如:滚动,插入,删除,排序等. 控件(Controls):控件执行一些操作或者显示信息…
虽然开发一个app的任务看上去可能很艰巨,但是整个过程可以抽象成几个相对简单的步骤,下面这些步骤会在你开发第一个app时帮你步入正途. 定义Concept 每个好app都是从一个concept开始. 获得这个concept的最好方法就是考虑你打算用你的app解决什么问题,好的app解决的问题都是单一,定义清晰的问题,比如,Settings app允许用户调整设备的所有设置,它给用户提供了一个独立界面让用户来完成一系列相关的任务. 下面是获得一个好concept的一些关键问题: 受众是谁?你app…
前言 相信很多同学对于iOS的真机调试,App的打包发布等过程中的各种证书.Provisioning Profile. CertificateSigningRequest.p12的概念是模糊的,导致在实际操作过程中也很容易出错.好在Xcode8.0出现了Automatically manage signing,让我们在这步操作中减少了难度.虽然说我们在Xcode8.0之后可以选择让Xcode自动管理了,但是我们还是应该知道App签名的原理.本文尝试从原理出发,一步步推出为什么会有这么多概念,希望…
应用之间的跳转 在第一个APP中,做如下操作:1.在info.plist文件中的"信息属性列表"下添加一项:"URL类型"; 2.点开"URL类型"下的"项目0"再点开"项目0",再将"项目0"下的URL标识符改为"URL方案"; 3.点开"URL方案"下的"项目0",在其后面添加"skipToOne"(&q…
本文来自 WeRead 团队博客: http://wereadteam.github.io/ iOS 签名机制挺复杂,各种证书,Provisioning Profile,entitlements,CertificateSigningRequest,p12,AppID,概念一堆,也很容易出错,本文尝试从原理出发,一步步推出为什么会有这么多概念,希望能有助于理解 iOS App 签名的原理和流程. 目的 先来看看苹果的签名机制是为了做什么.在 iOS 出来之前,在主流操作系统(Mac/Windows…
一.App Extension的介绍 App Extension可以让你扩展你APP的自定义功能和内容,使用户可以在与其他应用或者系统进行互动的时候去使用它.app extension即为本文所说的extension.extension并不是一个独立的app,它有一个包含在app bundle中的独立bundle,extension的bundle后缀名是.appex.其生命周期也和普通app不同,这些后文将会详述.extension不能单独存在,必须有一个包含它的containing app.扩…
本文由  网易云发布. 本文从攻防原理层面解析了iOS APP的安全策略.iOS以高安全性著称,但它并非金刚不坏之身.对于信息安全而言,止大风于青萍之末是上上策,杭研深入各个细节的研发工作,正是网易产品质量的保障. 一.iOS的安全问题 世所公认,iOS系统安全性非常高,很少出现漏洞,几乎不会中毒的情况.然而随着各种iOS安全隐患的频频出现,人们逐渐认识到,iOS跟Android一样也面临严重的安全问题.苹果宣称所有的iPhone都很安全,不会被恶意软件攻击,其实这只不过苹果封闭式的系统管理能够…
一.背景 冷启动时长是App性能的重要指标,作为用户体验的第一道“门”,直接决定着用户对App的第一印象.美团外卖iOS客户端从2013年11月开始,历经几十个版本的迭代开发,产品形态不断完善,业务功能日趋复杂:同时外卖App也已经由原来的独立业务App演进成为一个平台App,陆续接入了闪购.跑腿等其他新业务.因此,更多更复杂的工作需要在App冷启动的时候被完成,这给App的冷启动性能带来了挑战.对此,我们团队基于业务形态的变化和外卖App的特点,对冷启动进行了持续且有针对性的优化工作,目的就是…
代码地址如下:http://www.demodashi.com/demo/12748.html 简介: URL Scheme就是一个可以让app相互之间可以跳转的对外接口.通过给APP定义一个唯一的URL路径来从外部快速的打开这个指定的APP,每个app的URL Scheme都是不一样的,如果存在一样的URL Scheme,那么系统就会响应先安装那个app的URL Scheme,因为后安装的app的URL Scheme被覆盖掉了,是不能被调用的. 应用: 第三方分享的SDK就是通过这种方式来实现…
版权声明:本文为博主原创文章,未经博主允许不得转载. 如果IOS App 使用到CoreData,并且在上一个版本上有数据库更新(新增表.字段等操作),那在覆盖安装程序时就要进行CoreData数据库的迁移,具体操作如下: 1.选中你的mydata.xcdatamodeld文件,选择菜单editor->Add Model Version  比如取名:mydata2.xcdatamodel 2.设置当前版本 选择上级mydata.xcdatamodeld ,在inspector中的Versione…
<iOS App开发的那些事儿>系列文章从更宏观的角度出发,不仅仅局限于具体某个功能.界面的实现,而是结合网易云信iOS端研发负责人多年的经验,从如何优化现有代码的角度出发,深度分析如何创造出iOS App开发中比较合适的规范和框架. 推荐阅读 iOS App开发的那些事儿1:如何建立合适的规范 一个合适的框架不是银弹,在我看来框架要解决的问题从来不是:有了框架之后,工程就能无比正确地进行下去.好的框架能够做到的事仅仅只是:降低通用问题的复杂度和减少发生错误的可能性.个人认为一个良好iOS A…
增长.活跃.留存是移动 App 的常见核心指标,直接反映一款 App 甚至一个互联网公司运行的健康程度和发展动能.启动流程的体验决定了用户的第一印象,在一定程度上影响了用户活跃度和留存率.因此,确保启动流程的良好体验至关重要. 「马蜂窝旅游」App 是马蜂窝为用户提供服务的主要阵地,其承载的业务模块不断丰富和完善,产品功能日趋复杂,已经逐渐成长为一个集合旅行信息.出行决策.自由行产品及服务交易的一站式移动平台. 「马蜂窝旅游」iOS App 历经几十个版本的开发迭代,在启动流程上积累了一定的技术…
http://www.cocoachina.com/ios/20141202/10386.html 自从做Team Leader之后,身上权责发生了变化,于是让我烦恼的不再是具体某个功能,某个界面的实现,而是如何在现有代码的基础上做渐进式的改进,创造出比较合适规范和框架,使得组内成员更快更好地完成任务.一年下来,颇有点想法,于是啰嗦几句关于iOS App开发的那些事. 合适的人 首先明确一点,合适的人是指纯技术团队的建设.一支战斗力再强的技术团队,面对一个朝三暮四,分分钟推翻自己原有想法的产品经…
一. 为什么要写这篇文章? 这是一个很古老的话题,从两年前新浪微博开始使用多层动画制作iOS App的启动引导页让人眼前一亮(当然,微博是不是历史第一个这个问题值得商榷)之后,各种类型的引导页层出不穷,到如今,github上也有了各种的成型的library存在供选择,同时不少app也已经慢慢的开始返璞归真回归单一静态引导页.虽然时尚的潮流不停的在变化,但是我一直在思索,这种多图层的启动引导动画到底是什么个结构?实现起来究竟有多难?本文,将试图探寻这个话题. 二. 我们要做成什么样子的? 首先定下…
本篇文章旨在通过一个小的Demo形式来了解ios app是如何调用python后端服务的,以便我们在今后的工作中可以清晰的明白ios app与后端服务之间是如何实现交互的,今天的示例是拿登录功能做一个演示. 01.第一部分 ios app端主要代码和底层依赖的IOS系统原生工具包内容如下图所示: 02.第二部分 Python 开发的后端服务的代码及服务启动截图如下图所示: 从服务启动日志可以看到,服务端提供了入口地址是192.168.1.102:8090, 上一张截图中提供了/user_logi…
iOS app内存分析套路 Xcode下查看app内存使用情况有2中方法: Navigator导航栏中的Debug navigator中的Memory Instruments 一.Debug navigator中的Memory 此方法是查看内存最简单直接有效的方法,真机调试时,通过Debug navigator中Memory查看app内存,入口如图 根据这个值查看app内存占用,这个内存是当前app占用的总内存,是堆栈内存.虚拟内存(OpenGL占用的显存算在虚拟内存中里面)的总和. 二.Ins…
一.写作原因 以前都没有想着来写点东西,今天遇到件事情让我决定每次还是要做记录.因为以前自己可以轻松的完成pod spec的配置,但是今天在做的时候还是忘了遇到了很多坑.pod spec配置遇到的坑不在这里写,后面会单独写一点,但是内容不会太多.一是方便别人,二是方便自己. 第一次来发帖,写的不对的地方,请大神指出.我一定好好的努力修改并向大家学习,但是还是不太喜欢一惯的喷子.就像大家说的经典一样`close your mouth show me your code`,英文不好如果错了,大家见谅…
前言部分 part二部分主要讲解 iOS App IDs 的创建.概要文件的配置.以及概要文件安装的过程. 一.iOS App IDs 的创建 1)进入如图1所示界面点击右上角箭头所指的加号 进入iOS App IDs添加界面 [图1] 2)填写App IDs 信息 如图2/3 [图2] [图3] 3)信息填写完成后提交即可 如图4 [图4] 二.配置概要文件信息 1)点击左侧Provisioning Profiles-->Distribution 菜单项进入发布证书概要信息配置界面 如图5 […
iOS App上架流程(2016详细版) 原文地址:http://www.jianshu.com/p/b1b77d804254 感谢大神整理的这么详细 一.前言: 作为一名iOSer,把开发出来的App上传到App Store是必要的.下面就来详细讲解一下具体流程步骤. 二.准备: 一个已付费的开发者账号(账号类型分为个人(Individual).公司(Company).企业(Enterprise).高校(University)四种类型,每年资费分别为$99.$99.$299.免费.). 一个已…
转载自 Model-View-ViewModel for iOS [译] 如果你已经开发一段时间的iOS应用,你一定听说过Model-View-Controller, 即MVC.MVC是构建iOS app的标准模式.然而,最近我已经越来越厌倦MVC的一些缺点.在本文,我将重温一下MVC是什么,详述它的缺点,并且告诉你一个新的方式来架构你的app:Model-View-ViewModel.拿出你的流行语bingo card(宾果卡,一种游戏卡片-译者注),因为我们即将进行一次范式转变. Model…
如果你已经开发一段时间的iOS应用,你一定听说过Model-View-Controller,即MVC.MVC是构建iOS App的标准模式.然而,最近我已经越来越厌倦MVC的一些缺点.在本文,我将重温一下MVC是什么,详述它的缺点,并且告诉你一个新的方式来架构你的 App:Model-View-ViewModel.拿出你的流行语bingo card(宾果卡,一种游戏卡片-译者注),因为我们即将进行一次范式转变.   Model-View-Controller Model-View-Control…