强推 Apple Developer Documentation
- ipa:iPhone application archiv;
很多时候不同项目都会使用不同的 pod
版本进行项目管理,比如我公司的项目选择了 1.3.1
版本的 pod
,而我自己电脑上的是 1.5.3
版本,这样势必会造成使用 pod
各种命令时出现问题,因此可以使用 Bundler
这个 ruby
版本管理工具。
gem install bundler
若提示:
Fetching: bundler-2.0.1.gem (100%)
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.
可以使用该命令:
sudo gem install -n /usr/local/bin bundler
进入到带有 Podfile
文件的目录。
bundle init
source "https://rubygems.org"
# 或其它你的版本
gem 'cocoapods','1.3.1'
bundle install
bundle exec pod install
需要注意的是:iOS 系统应用的 URL scheme
无法重复注册,但是对于其它应用来说,结果是「未定义」,官方说法:
如果有多个第三方应用程序注册同一个
URL scheme
,那么无法确定将scheme
传递给哪一个应用程序。
在 iOS 9 引入了通用链接的原因之一,解决 URL Scheme
劫持问题。在 Xcode 中打开 Associated Domains
选项。
应用程序扩展并不是应用程序,它们必须被捆绑到某个应用程序中,也就是「容器应用」,使用扩展的第三方应用程序,也就是「宿主应用」,可以与容器应用内的扩展程序包进行通信。但容器应用本身并不能直接与扩展应用通信。
需要注意的是:通用剪贴板在所有应用程序之间都是共享的,可以被设备砂锅的任何进程读取信息。
- 通过 App Groups 增加「同组应用」
- 使用 NSUserDefault suiteName 初始化并传递数据