Files
react-native-notifications/docs/installation-ios.html
yogevbd 1f3e6e9d2c Deploy website
Deploy website version based on 3fe5412641
2020-01-29 15:03:00 +02:00

125 lines
13 KiB
HTML
Raw Permalink 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 Manual Installation · React native notifications</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="In case the installation step in our [Getting Started](/react-native-notifications/docs/getting-started) doc did not work, follow these steps."/><meta name="docsearch:language" content="en"/><meta property="og:title" content="iOS Manual 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="In case the installation step in our [Getting Started](/react-native-notifications/docs/getting-started) doc did not work, follow these steps."/><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"/><link rel="stylesheet" href="/react-native-notifications/css/code-blocks-buttons.css"/><script type="text/javascript" src="/react-native-notifications/js/code-blocks-buttons.js"></script><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script src="/react-native-notifications/js/scrollSpy.js"></script><link rel="stylesheet" href="/react-native-notifications/css/prism.css"/><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 Manual 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 Manual Installation</h1></header><article><div><span><p>In case the installation step in our <a href="/react-native-notifications/docs/getting-started">Getting Started</a> doc did not work, follow these steps.</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>