Files
react-native-notifications/docs/installation-ios.html
yogevbd 06cab506f0 Deploy website
Deploy website version based on 0b7175f855
2020-01-15 18:02:08 +02:00

125 lines
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>iOS Installation · React native notifications</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="As with any React Native project, the first step is to add the project as an npm dependency."/><meta name="docsearch:language" content="en"/><meta property="og:title" content="iOS Installation · React native notifications"/><meta property="og:type" content="website"/><meta property="og:url" content="https://wix.github.io/react-native-notifications/"/><meta property="og:description" content="As with any React Native project, the first step is to add the project as an npm dependency."/><meta property="og:image" content="https://wix.github.io/react-native-notifications/img/undraw_online.svg"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://wix.github.io/react-native-notifications/img/undraw_tweetstorm.svg"/><link rel="shortcut icon" href="/react-native-notifications/undefined"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"/><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script src="/react-native-notifications/js/scrollSpy.js"></script><link rel="stylesheet" href="/react-native-notifications/css/main.css"/><script src="/react-native-notifications/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/react-native-notifications/"><h2 class="headerTitle">React native notifications</h2></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class="siteNavGroupActive siteNavItemActive"><a href="/react-native-notifications/docs/installation-ios" target="_self">Docs</a></li><li class=""><a href="/react-native-notifications/docs/general-api" target="_self">API</a></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line1"></div><div class="line2"></div><div class="line3"></div></div></div><h2><i></i><span>Installation</span></h2><div class="tocToggler" id="tocToggler"><i class="icon-toc"></i></div></div><div class="navGroups"><div class="navGroup"><h3 class="navGroupCategoryTitle">Guides</h3><ul class=""><li class="navListItem"><a class="navItem" href="/react-native-notifications/docs/getting-started">Getting Started</a></li><li class="navListItem"><a class="navItem" href="/react-native-notifications/docs/subscription">Subscription</a></li><li class="navListItem"><a class="navItem" href="/react-native-notifications/docs/notifications-events">Events</a></li><li class="navListItem"><a class="navItem" href="/react-native-notifications/docs/localNotifications">Local Notifications</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Installation</h3><ul class=""><li class="navListItem navListItemActive"><a class="navItem" href="/react-native-notifications/docs/installation-ios">iOS Installation</a></li><li class="navListItem"><a class="navItem" href="/react-native-notifications/docs/installation-android">Android Installation</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle">Advanced</h3><ul class=""><li class="navListItem"><a class="navItem" href="/react-native-notifications/docs/advanced-ios">iOS</a></li></ul></div></div></section></div><script>
var coll = document.getElementsByClassName('collapsible');
var checkActiveCategory = true;
for (var i = 0; i < coll.length; i++) {
var links = coll[i].nextElementSibling.getElementsByTagName('*');
if (checkActiveCategory){
for (var j = 0; j < links.length; j++) {
if (links[j].classList.contains('navListItemActive')){
coll[i].nextElementSibling.classList.toggle('hide');
coll[i].childNodes[1].classList.toggle('rotate');
checkActiveCategory = false;
break;
}
}
}
coll[i].addEventListener('click', function() {
var arrow = this.childNodes[1];
arrow.classList.toggle('rotate');
var content = this.nextElementSibling;
content.classList.toggle('hide');
});
}
document.addEventListener('DOMContentLoaded', function() {
createToggler('#navToggler', '#docsNav', 'docsSliderActive');
createToggler('#tocToggler', 'body', 'tocActive');
var headings = document.querySelector('.toc-headings');
headings && headings.addEventListener('click', function(event) {
var el = event.target;
while(el !== headings){
if (el.tagName === 'A') {
document.body.classList.remove('tocActive');
break;
} else{
el = el.parentNode;
}
}
}, false);
function createToggler(togglerSelector, targetSelector, className) {
var toggler = document.querySelector(togglerSelector);
var target = document.querySelector(targetSelector);
if (!toggler) {
return;
}
toggler.onclick = function(event) {
event.preventDefault();
target.classList.toggle(className);
};
}
});
</script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><h1 id="__docusaurus" class="postHeaderTitle">iOS Installation</h1></header><article><div><span><p>As with any React Native project, the first step is to add the project as an npm dependency.</p>
<p>Start by running this:</p>
<pre><code class="hljs">$ npm <span class="hljs-keyword">install</span> react-<span class="hljs-keyword">native</span>-notifications <span class="hljs-comment">--save</span>
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="installation-with-cocoapods"></a><a href="#installation-with-cocoapods" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Installation with CocoaPods</h3>
<p>Projects generated using newer versions of react-native use CocoaPods by default. In that case it's easier to install react-native-navigation using CocoaPods.</p>
<ol>
<li>Add the following to <code>Podfile</code>:</li>
</ol>
<pre><code class="hljs css language-diff">platform :ios, '9.0'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
target 'YourApp' do
# Pods for YourApp
pod 'React', :path =&gt; '../node_modules/react-native/'
pod 'React-Core', :path =&gt; '../node_modules/react-native/React'
pod 'React-DevSupport', :path =&gt; '../node_modules/react-native/React'
pod 'React-fishhook', :path =&gt; '../node_modules/react-native/Libraries/fishhook'
pod 'React-RCTActionSheet', :path =&gt; '../node_modules/react-native/Libraries/ActionSheetIOS'
pod 'React-RCTAnimation', :path =&gt; '../node_modules/react-native/Libraries/NativeAnimation'
pod 'React-RCTBlob', :path =&gt; '../node_modules/react-native/Libraries/Blob'
pod 'React-RCTImage', :path =&gt; '../node_modules/react-native/Libraries/Image'
pod 'React-RCTLinking', :path =&gt; '../node_modules/react-native/Libraries/LinkingIOS'
pod 'React-RCTNetwork', :path =&gt; '../node_modules/react-native/Libraries/Network'
pod 'React-RCTSettings', :path =&gt; '../node_modules/react-native/Libraries/Settings'
pod 'React-RCTText', :path =&gt; '../node_modules/react-native/Libraries/Text'
pod 'React-RCTVibration', :path =&gt; '../node_modules/react-native/Libraries/Vibration'
pod 'React-RCTWebSocket', :path =&gt; '../node_modules/react-native/Libraries/WebSocket'
pod 'React-cxxreact', :path =&gt; '../node_modules/react-native/ReactCommon/cxxreact'
pod 'React-jsi', :path =&gt; '../node_modules/react-native/ReactCommon/jsi'
pod 'React-jsiexecutor', :path =&gt; '../node_modules/react-native/ReactCommon/jsiexecutor'
pod 'React-jsinspector', :path =&gt; '../node_modules/react-native/ReactCommon/jsinspector'
pod 'yoga', :path =&gt; '../node_modules/react-native/ReactCommon/yoga'
pod 'DoubleConversion', :podspec =&gt; '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', :podspec =&gt; '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', :podspec =&gt; '../node_modules/react-native/third-party-podspecs/Folly.podspec'
<span class="hljs-addition">+ pod 'ReactNativeNotifications', :podspec =&gt; '../node_modules/react-native-notifications/ReactNativeNotifications.podspec'</span>
use_native_modules!
end
</code></pre>
<ol start="2">
<li><p><code>cd ios &amp;&amp; pod install</code></p></li>
<li><p>Add the following line at the top of your <code>AppDelegate.m</code></p></li>
</ol>
<pre><code class="hljs css language-objective-c">#<span class="hljs-keyword">import</span> <span class="hljs-string">"RNNotifications.h"</span>
</code></pre>
<p>Start monitor notifications in: <code>application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions</code></p>
<pre><code class="hljs css language-objective-c">
- (<span class="hljs-built_in">BOOL</span>)application:(<span class="hljs-built_in">UIApplication</span> *)application didFinishLaunchingWithOptions:(<span class="hljs-built_in">NSDictionary</span> *)launchOptions {
[RNNotifications startMonitorNotifications]; <span class="hljs-comment">// -&gt; Add this line</span>
<span class="hljs-keyword">return</span> <span class="hljs-literal">YES</span>;
}
</code></pre>
<p>And add the following methods to support registration:</p>
<pre><code class="hljs css language-objective-c">
- (<span class="hljs-keyword">void</span>)<span class="hljs-string">application:</span>(UIApplication *)application <span class="hljs-string">didRegisterForRemoteNotificationsWithDeviceToken:</span>(NSData *)deviceToken {
[RNNotifications <span class="hljs-string">didRegisterForRemoteNotificationsWithDeviceToken:</span>deviceToken];
}
- (<span class="hljs-keyword">void</span>)<span class="hljs-string">application:</span>(UIApplication *)application <span class="hljs-string">didFailToRegisterForRemoteNotificationsWithError:</span>(NSError *)error {
[RNNotifications <span class="hljs-string">didFailToRegisterForRemoteNotificationsWithError:</span>error];
}</code></pre>
</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/react-native-notifications/docs/localNotifications"><span class="arrow-prev"></span><span>Local Notifications</span></a><a class="docs-next button" href="/react-native-notifications/docs/installation-android"><span>Android Installation</span><span class="arrow-next"></span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/react-native-notifications/" class="nav-home"></a><div><h5>Docs</h5><a href="/react-native-notifications/docs/getting-started">Getting Started (or other categories)</a><a href="/react-native-notifications/docs/installation-ios">Guides</a><a href="/react-native-notifications/docs/general-api">API Reference</a></div><div></div><div><h5>More</h5><a href="/react-native-notifications/blog">Blog</a><a href="https://github.com/wix/react-native-notifications">GitHub</a><a class="github-button" href="https://github.com/wix/react-native-notifications" data-icon="octicon-star" data-count-href="/facebook/docusaurus/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">Star</a></div></section><section class="copyright">Copyright © 2020 Wix</section></footer></div></body></html>