Onespan Sign Ios SDK Integrator's Guide

Total Page:16

File Type:pdf, Size:1020Kb

Onespan Sign Ios SDK Integrator's Guide NOTE: This PDF is no longer being maintained. For the latest updates, please refer to our Community Portal. OneSpan Sign iOS SDK Integrator's Guide Date: January 28, 2020 Version: OneSpan Sign 7.2 Copyright Notices Copyright © 2019 OneSpan North America, Inc. All rights reserved. Trademarks OneSpan™, DIGIPASS® and CRONTO® are registered or unregistered trademarks of OneSpan North America Inc. and/or OneSpan International GmbH (collectively "OneSpan") in the U.S. and other countries. OneSpan reserves all rights to the trademarks, service marks and logos of OneSpan and its subsidiaries. All other trademarks or trade names are the property of their respective owners. Intellectual Property OneSpan Software, documents and related materials (“Materials”) contain proprietary and confidential information. All title, rights and interest in OneSpan Software and Materials, updates and upgrades thereof, including software rights, copyrights, patent rights, industrial design rights, trade secret rights, sui generis database rights, and all other intellectual and industrial property rights, vest exclusively in OneSpan or its licensors. No OneSpan Software or Materials may be downloaded, copied, transferred, disclosed, reproduced, redistributed, or transmitted in any form or by any means, elec- tronic, mechanical or otherwise, for any commercial or production purpose, except as otherwise marked or when expressly permitted by OneSpan in writing. Disclaimer OneSpan accepts no liability for the accuracy, completeness, or timeliness of content, or for the reliability of links to and content of external or third party websites or materials. OneSpan shall have no liability under any circumstances for any loss, damage, or expense incurred by you, your com- pany, or any third party arising from the use or inability to use OneSpan Software or Materials, or any third party mater- ial made available or downloadable. OneSpan will not be liable in relation to any loss/damage caused by modification of these Legal Notices or content. Reservation OneSpan reserves the right to modify these Notices and the content at any time. OneSpan likewise reserves the right to withdraw or revoke consent or otherwise prohibit use of the OneSpan Software or Materials if such use does not con- form to the terms of any written agreement between OneSpan and you, or other applicable terms that OneSpan pub- lishes from time to time. Contact us Phone: 1-855-MYESIGN e-Mail: [email protected] Customer Support: https://www.esignlive.com/customer-support Resource center: https://www.esignlive.com/resource-center Company Website: https://www.onespan.com Date: January 28, 2020 CONTENTS 1 Introduction 1 1.1 Server-Side Software 2 2 Client-Side Software 3 2.1 Client-Side Packaging 4 2.2 Integrating the OneSpan Sign iOS SDK 6 2.3 Using Interfaces 8 3 Code Examples 9 3.1 Initial Configuration 10 3.2 Login 12 3.3 Signup 13 3.4 Loading a Transaction from the Server 14 3.5 Creating/Preparing a Transaction 15 3.6 Creating a Transaction and Starting to Sign 16 3.7 Getting a List of Transactions 19 3.8 Creating a Navigation Controller Stack 20 4 Troubleshooting 21 4.1 Error Linking Swift Libraries 22 4.2 PDF Header Not Found 23 4.3 Delegate Not Found 24 iii eSignLive iOS SDK - Integrator's Guide 4.4 Failure to Load Fonts 25 4.5 Invalid Certificate 26 4.6 PLBuildVersion Warning 27 4.7 Crash When Accessing Contacts 28 iv eSignLive iOS SDK - Integrator's Guide Introduction 1 The OneSpan Sign iOS SDK is a feature that enables users to run e-signature pro- cesses from mobile devices that use iOS 10 and higher. This SDK employs a server-client model, with a OneSpan Sign product as "server" and a company's mobile application as "client". The server can be either a SaaS product (e.g., OneSpan Sign Professional) or an on-premises product (e.g., OneSpan Sign). Because of this server-client model, this feature won't work until both of the fol- lowing have been configured: l Server-Side Software on page 2 l Client-Side Software on page 3 For any issues see Troubleshooting on page 21 NOTE: Strictly speaking, the OneSpan Sign iOS SDK is only on the client side. The role of the server side is to provide support for the OneSpan Sign iOS SDK. Download the OneSpan Sign iOS SDK. TIP: To view Release Notes for the OneSpan Sign iOS SDK, click here. 1 Introduction 1 eSignLive iOS SDK - Integrator's Guide 1.1 Server-Side Software Signing on mobile devices via the OneSpan Sign iOS SDK will not work unless sup- porting server-side software has been provided. That server-side software becomes available as soon as you create your SaaS account. 1 Introduction 2 eSignLive iOS SDK - Integrator's Guide Client-Side Software 2 This section discusses: l Client-Side Packaging on page 4 l Integrating the OneSpan Sign iOS SDK on page 6 l Using Interfaces on page 8 l Code Examples on page 9 2 Client-Side Software 3 eSignLive iOS SDK - Integrator's Guide 2.1 Client-Side Packaging Each release of the OneSpan Sign iOS SDK has an eSignLiveSDK_iOS directory, which in turn has the following main sub-directories: 1. Sample: Contains a sample project that provides a detailed demonstration of the following SDK functionalities: l Login (with email and password) l Start/Edit Transaction l Prepare New Transaction 2. Frameworks: Contains the following sub-folders: l Debug-universal: Contains a Debug Framework for the fol- lowing architectures: arm7, arm7s, arm64, i386 and x86_64 (for both Device and Simulator) l Release-iphoneos: Contains a Release Framework for the fol- lowing ARM architectures: arm7, arm7s, and arm64 3. SDKAssets: Contains the following sub-folders: l Fonts: Contains the font files to be added to the project target and to the file info.plist. l Images: Contains SDK-used images in an asset file. Any image can be replaced by another if it has the same name and res- olution. l UIElements: Contains storyboard files and NIB files, both of which are used to build a User Interface. These files can be edited as needed. NOTE: The above SDK Assets are not compiled with the SDK, but are linked via the end-developer application. 2 Client-Side Software 4 eSignLive iOS SDK - Integrator's Guide End-developers may customize these assets to suit their needs. 2 Client-Side Software 5 eSignLive iOS SDK - Integrator's Guide 2.2 Integrating the OneSpan Sign iOS SDK This section discusses: l Integrating the OneSpan Sign iOS SDK Framework into an Existing Project on page 6 l Non-Native iOS Applications on page 7 NOTE: The Sample project has already been integrated with the Debug Framework. Please integrate the Release Framework before submitting your application to the App Store. 2.2.1 Integrating the OneSpan Sign iOS SDK Framework into an Existing Project 1. Open your project in Xcode, and select it from the Project Navigator. 2. Select the appropriate target from the TARGETS panel, and click the General tab. 3. Scroll down to Embedded Binaries. 4. Drag and drop the Framework file called eSignLiveSDK.framework into Embed- ded Binaries. 5. In the dialog box that appears, select Copy items if needed. 6. Click Finish. The Framework file eSignLiveSDK.framework will be added to: l Embedded Binaries l Linked Frameworks and Libraries l Project Navigator 7. Click the Build Settings tab, and set Always Embed Swift Standard Libraries = 2 Client-Side Software 6 eSignLive iOS SDK - Integrator's Guide YES. In the previous version of Xcode, this flag was called EMBEDDED_CONTENT_ CONTAINS_SWIFT. 8. Drag the SDKAssets folder from the eSignLiveSDK_iOS directory, and drop it into the Project Navigator. 9. In the dialog box that appears, select Copy items if needed and Add to targets. 10. Click Finish. 11. To properly configure the file info.plist: a. Open the file info.plist. b. If it is not already there, add the property Fonts provided by application. This property is called UIAppFonts in raw format. c. Add an item for each font you want to support. d. Add the following font values: Ubuntu-Bold.ttf, Ubuntu-Italic.ttf, Ubuntu- Regular.ttf, Ubuntu-Light.ttf. e. If it is not already there, add the property Privacy - Contacts Usage Description., and type a description of how the application will use its Contacts data. This property is called NSContactsUsageDescription in raw format. f. Save and close the file info.plist. 12. Ensure that the "code signing" properties are configured correctly. 13. Clean, build and run your project. There should be no Compiler or Linker errors at this stage. 2.2.2 Non-Native iOS Applications Non-native applications (built over third-party implementations) can integrate the OneSpan Sign Mobile SDK into their application. However, hooks to the SDK must be added through delegate Callbacks of UIWebview or UIWebKit. A navigation con- troller reference must be provided for push stack. 2 Client-Side Software 7 eSignLive iOS SDK - Integrator's Guide 2.3 Using Interfaces The Headers sub-directory of eSignLiveSDK.framework includes the following inter- faces: l eSignLiveSDK.h — The umbrella header l OneSpan Sign.h — Most integration work involves this interface. l ESTransaction.h — A representation of a Transaction interface object l ESDocument.h — A representation of a Document interface object l ESFormfield.h — A representation of a Form Field interface object l ESSigner.h — A representation of a Signer interface object Detailed documentation of each interface is in the file that bears its name. To see how these interfaces are used: 1. Go to the Sample project provided by OneSpan Sign. 2. Open the file ViewController.m, which contains code snippets for the most important SDK features.
Recommended publications
  • Zebra Scanner SDK for Ios Developer Guide (En)
    ZEBRA SCANNER SDK for iOS DEVELOPER GUIDE ZEBRA SCANNER SDK for iOS DEVELOPER GUIDE MN001834A04 Revision A July 2019 ii Zebra Scanner SDK for iOS Developer Guide No part of this publication may be reproduced or used in any form, or by any electrical or mechanical means, without permission in writing from Zebra. This includes electronic or mechanical means, such as photocopying, recording, or information storage and retrieval systems. The material in this manual is subject to change without notice. The software is provided strictly on an “as is” basis. All software, including firmware, furnished to the user is on a licensed basis. Zebra grants to the user a non-transferable and non-exclusive license to use each software or firmware program delivered hereunder (licensed program). Except as noted below, such license may not be assigned, sublicensed, or otherwise transferred by the user without prior written consent of Zebra. No right to copy a licensed program in whole or in part is granted, except as permitted under copyright law. The user shall not modify, merge, or incorporate any form or portion of a licensed program with other program material, create a derivative work from a licensed program, or use a licensed program in a network without written permission from Zebra. The user agrees to maintain Zebra’s copyright notice on the licensed programs delivered hereunder, and to include the same on any authorized copies it makes, in whole or in part. The user agrees not to decompile, disassemble, decode, or reverse engineer any licensed program delivered to the user or any portion thereof.
    [Show full text]
  • Iphone Ios 5 Development Essentials
    iPhone iOS 5 Development Essentials i iPhone iOS 5 Development Essentials – First Edition ISBN-13: 978-1466337275 © 2011 Neil Smyth. All Rights Reserved. This book is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved. The content of this book is provided for informational purposes only. Neither the publisher nor the author offers any warranties or representation, express or implied, with regard to the accuracy of information contained in this book, nor do they accept any liability for any loss or damage arising from any errors or omissions. This book contains trademarked terms that are used solely for editorial purposes and to the benefit of the respective trademark owner. The terms used within this book are not intended as infringement of any trademarks. Rev 2.3p ii Table of Contents Preface ............................................................................................................................................................... xix 1. About iPhone iOS 5 App Development Essentials .............................................................................................. 1 1.1 Example Source Code ................................................................................................................................... 2 1.2 Feedback ...................................................................................................................................................... 2 2. The Anatomy of an iPhone 4S ...........................................................................................................................
    [Show full text]
  • Ios SDK Release Notes for Ios 8.0 Beta 5
    iOS SDK Release Notes for iOS 8.0 Beta 5 Important: This is a preliminary document for an API or technology in development. Apple is supplying this information to help you plan for the adoption of the technologies and programming interfaces described herein for use on Apple‑branded products. This information is subject to change, and software implemented according to this document should be tested with final operating system software and final documentation. Newer versions of this document may be provided with future betas of the API or technology. Contents: Introduction Bug Reporting Notes and Known Issues Introduction iOS SDK 8.0 provides support for developing iOS apps. It is packaged with a complete set of Xcode tools, compilers, and frameworks for creating apps for iOS and OS X. These tools include the Xcode IDE and the Instruments analysis tool, among many others. With this software you can develop apps for iPhone, iPad, or iPod touch running iOS 8. You can also test your apps using the included iOS Simulator, which supports iOS 8. iOS SDK 8.0 requires a Mac computer running OS X v10.9.3 (Mavericks) or later. This version of iOS is intended for installation only on devices registered with the Apple Developer Program. Attempting to install this version of iOS in an unauthorized manner could put your device in an unusable state. For more information and additional support resources, visit http://developer.apple.com/programs/ios/. Bug Reporting For issues not mentioned in the Notes and Known Issues section, please file bugs through the Apple Developer website (https://developer.apple.com/bug‑reporting/ios/).
    [Show full text]
  • Using MBS Plugin with Filemaker Ios SDK
    Using MBS Plugin with FileMaker iOS SDK As some new people play with FileMaker's iOS SDK and our MBS Plugin, here a few steps to give you an easier start: • Get iOSAppSDKPackage_16.0.1.tbz on the iOS App SDK webpage from FileMaker's community benefits. • Unpack the archive. • Open Terminal, cd to the folder of the app sdk. For me this command line: • cd /Users/cs/Desktop/iOSAppSDKPackage_16.0.1 • Run the makeprojdir command giving a folder name, the app name and the identifier: • ./makeprojdir test test de.monkeybreadsoftware.test • Of course you use your own names and bundle id. • Open test project in Xcode • In the target popup menu you can select a simulated device and when you run the app. The section for installed plugins will be empty. Congratulations, now the app should run in simulator! If you have trouble till here, maybe you review the iOS App SDK 16 Guide. • Now you can drag & drop the plugin into the plugins section in the Xcode project right in the Custom Application Resources folder. • Run the app again and it should show the plugin listed with version. Now you can use the plugin in your scripts for the solution and test in the simulator. If the plugin is not visible, please check logs and see if some error occurred. Please use MBS("Trace") command to write all plugin calls to the log in Xcode, so you spot errors easier. • Next you can change target to be your iPhone and run the app on the iPhone. This may need some code signing things and an Apple ID registered for developing.
    [Show full text]
  • Ios SDK Release Notes for Ios 9 Beta 3
    8/7/2015 iOS 9 Release Notes iOS SDK Release Notes for iOS 9 Beta 3 Important: This is a preliminary document for an API or technology in development. Apple is supplying this information to help you plan for the adoption of the technologies and programming interfaces described herein for use on Apple‑branded products. This information is subject to change, and software implemented according to this document should be tested with final operating system software and final documentation. Newer versions of this document may be provided with future betas of the API or technology. Contents: Introduction Bug Reporting Autosubmission of Diagnostic and Usage Data Notes and Known Issues Introduction iOS SDK 9.0 provides support for developing iOS apps. It is packaged with a complete set of Xcode tools, compilers, and frameworks for creating apps for iOS and OS X. These tools include the Xcode IDE and the Instruments analysis tool, among many others. With this software you can develop apps for iPhone, iPad, or iPod touch running iOS 9. You can also test your apps using the included Simulator, which supports iOS 9. iOS SDK 9.0 requires a Mac computer running OS X v10.10.3 (Yosemite) or later. This version of iOS is intended for installation only on devices registered with the Apple Developer Program. Attempting to install this version of iOS in an unauthorized manner could put your device in an unusable state. For more information and additional support resources, visit http://developer.apple.com/programs/ios/. Bug Reporting For issues not mentioned in the Notes and Known Issues section, please file bugs through the Apple Developer website (https://developer.apple.com/bug‑reporting/ios/).
    [Show full text]
  • Building the Ios Wrapper Version 1.3.0+
    Building The iOS Wrapper Version 1.3.0+ Contents Introduction.................................................................................................................................................... 2 Setting Up The Build Environment ................................................................................................................ 2 Install xCode .............................................................................................................................................. 2 Set Up Code Signing Requirements ......................................................................................................... 2 Certificates ............................................................................................................................................. 3 Identifiers ............................................................................................................................................... 4 Devices .................................................................................................................................................. 5 Provisioning Profile ................................................................................................................................ 5 Open The Project ...................................................................................................................................... 6 Configuring The App ....................................................................................................................................
    [Show full text]
  • Ios 7 App Development Essentials
    i iOS 7 App Development Essentials ii iOS 7 App Development Essentials – First Edition ISBN-13: 978-0-9860273-5-2 © 2013 Neil Smyth/eBookFrenzy. All Rights Reserved. This book is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved. The content of this book is provided for informational purposes only. Neither the publisher nor the author offers any warranties or representation, express or implied, with regard to the accuracy of information contained in this book, nor do they accept any liability for any loss or damage arising from any errors or omissions. This book contains trademarked terms that are used solely for editorial purposes and to the benefit of the respective trademark owner. The terms used within this book are not intended as infringement of any trademarks. Rev 1. 0 iii Table of Contents 1. Start Here ............................................................................................................................... 1 1.1 For New iOS Developers ......................................................................................................... 2 1.2 For iOS 6 Developers .............................................................................................................. 3 1.3 Source Code Download .......................................................................................................... 4 1.4 Feedback ...............................................................................................................................
    [Show full text]
  • MAD Week 1 Ios Intro.Pptx
    Mobile Applicaon Development Aileen Pierce IPHONE & IPAD APPLICATION DEVELOPMENT OVERVIEW Introduc,on • iOS overview • So:ware Development Kit (SDK) Components • Downloading the iOS SDK iOS • iOS is the Operang System that runs on the iPhone, iPad, and iPod Touch (iOS devices) – Objec,ve-C programming language – Frameworks SDK • The iOS SDK has all the tools and applicaons needed to develop apps for iOS • The SDK is installed on the laptops in ATLAS • You will need to download and install the SDK on your Mac • iOS Dev Center hLp://developer.apple.com/ – Register as an Apple Developer – Join the Developer Program – Download the iOS SDK from the Mac App store Developer Programs • Free program – Can’t run it on a device – Can’t submit it to the app store • University Program – Invitaon only – Can run on a device (good for tes,ng) – Can’t submit it to the app store • $99 Standard Program – Allows you to distribute your apps in the Apple App Store SDK • hLp://developer.apple.com/devcenter/ios • Downloads • Xcode 4 and iOS SDK 5.1 – Xcode 4 requires Lion Mac OSX 10.7 or later • We will be staying on this version all semester, do NOT upgrade during the semester SDK Components • Xcode – Integrated Development Environment (IDE) to create and manage development projects – Interface Builder • Tool to build your applicaon user interfaces • Frameworks – So:ware libraries that provide specific func,onality • Simulator – Simulates running your apps on your Mac • Instruments – Gather and analyze data on your apps behavior iOS Development Center • Explore all the resources available in the development center • iOS Reference Library – Geng started documents – Reference documents – Sample code • Videos • Forums For Thursday • Download and install the iOS SDK on your Mac • Explore the iOS Development Center • Play with an iPhone and iPad if you’re not familiar with them (hey, it could happen) .
    [Show full text]
  • Final Readme Xcode 4.2 for Lion
    Xcode 4.2 Includes SDKs for Mac OS X 10.7 Lion and iOS 5 Contents Introduction About SDKs Installation Deprecation Notice Introduction Xcode is the complete developer toolset for creating applications for Mac, iPhone, and iPad. This package installs the Xcode IDE, the Instruments analysis tool, iOS Simulator, and OS framework bundles in the form of Mac OS X SDKs and iOS SDKs. What’s New in Xcode 4.2 for Lion • Support for Mac OS X 10.7 Lion and iOS SDK 5 • Apple LLVM compiler 3.0 with Automatic Reference Counting (ARC) • Storyboarding support in Interface Builder to design multi-view workflows for iOS • OpenGL ES graphical debugger within the main Xcode debugging interface • LLVM compiler support for C++’0x features using the new LLVM libc++ standard library • Additional bug fixes, stability, and performance improvements What’s New in Xcode 4 • Xcode 4 has a brand new, single window interface for all major workflows • Interface Builder is now integrated within the main Xcode IDE • Assistant shows a paired editor with complementary files, e.g.: header or UI controller • Live Issues display coding errors as you type, and Fix-it can correct the mistake for you Compatibility: Xcode 4 requires an Intel-based Mac running Mac OS X 10.7.0 Lion or later, and includes Mac OS X SDK 10.7 and 10.6, and iOS SDK 5. To develop apps targeting prior versions of Mac OS X or iOS, see the section titled About SDKs and the iOS Simulator below. Developer Resources: The Mac and iOS Developer Programs provide access to the App Store, additional support and documentation, as well as provisioning resources to enable testing and deployment on an iPhone, iPod touch, or iPad device.
    [Show full text]
  • Iphone Ios 6 Development Essentials
    i iPhone iOS 6 Development Essentials ii iPhone iOS 6 Development Essentials – First Edition ISBN-13: 978-1479211418 © 2012 Neil Smyth. All Rights Reserved. This book is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited. All rights reserved. The content of this book is provided for informational purposes only. Neither the publisher nor the author offers any warranties or representation, express or implied, with regard to the accuracy of information contained in this book, nor do they accept any liability for any loss or damage arising from any errors or omissions. This book contains trademarked terms that are used solely for editorial purposes and to the benefit of the respective trademark owner. The terms used within this book are not intended as infringement of any trademarks. Rev 1.0 iii Table of Contents 1. Start Here .......................................................................................................................................................... 1 1.1 For New iOS Developers ...................................................................................................................................... 1 1.2 For iOS 5 Developers ........................................................................................................................................... 1 1.3 Source Code Download ....................................................................................................................................... 2 1.4 Feedback ............................................................................................................................................................
    [Show full text]
  • Apple® Ios SDK – Objective-C
    Getting Started with Apple® iOS Development – Apple® iOS SDK – Objective-C A Zebra Technologies Application Note 2 Overview This document describes the end to end process of designing, packaging, deploying and running an Apple® iPhone/iPod application using the ZebraLink SDK The sample code used in this guide is from the MyFirstZebraApp sample code article. Target Audience The information delivered in this document assumes the reader has reasonable technical competence covering Apple®iOS environment, core programming concepts and rationales. System Prerequisites You must install all the system prerequisites listed in this section. Note: The default installation options for all these prerequisites are satisfactory. MAC OS X Unlike development for other mobile device environments, development for Apple®iOS based mobile devices must be conducted on Mac OS X. Refer to Mac OS X. XCode and iOS SDK XCode is the development environment for apps that run on the Apple® iOS operating system. For more information and to download links, refer to for XCode and the iOS SDK. Zebra Multiplatform SDK The ZebraLink for Apple® iOS digital devices SDK contains all the required components to develop applications for Zebra label printers. The SDK includes the header files to scan for and connect to network based Zebra label printers. For more information, including system prerequisites and downloads, refer to ZebraLink SDK, A Zebra Technologies Application Note 3 Zebra Network-Enabled Label Printer In order to fully test the application that you create, you must have a network-enabled Zebra printer capable of understanding ZPL. For more information, refer to Zebra label printers. Apple® iOS Device While the Apple® iOS simulator included in the XCode toolkit satisfies most of the anticipated requirements for developing with Apple® iOS, we recommend that you test all of your development with a physical device.
    [Show full text]
  • Internal Structure of Ios and Building Tools for Ios Apps
    International Journal Of Computer Science And Applications Vol. 6, No.2, Apr 2013 ISSN: 0974-1011 (Open Access) Available at: www.researchpublications.org Internal structure of iOS and Building tools for iOS apps Miss Priyanka V. Kanoi Miss Payal N. ingole 2nd yr Information and Technology 3rd yr Computer sc and Engineering JDIET , Yavatmal JDIET, Yavatmal [email protected] [email protected] operating system: "iPhone OS".In June 2010, Apple rebranded Abstract : iOS is world’s most advanced operating system. With iPhone OS as "iOS". The trademark "IOS" had been used by its easy-to-use interface, amazing features, and rock-solid Cisco for over a decade for its operating system, IOS, used on stability, iOS is the foundation of iPhone, iPad, and iPod touch. It its routers. To avoid any potential lawsuit, Apple licensed the is the most user friendly operating system. With better GUI "IOS" trademark from Cisco. Apple provides major updates to performance. iOS consists of four layers – cocoa touch layer, the iOS operating system approximately once a year over media layer, core service layer, core OS layer. Some of the developmental tools used for preparing iOS apps include iTunes and also, since iOS version 5.0, over the air. The latest XCODE, Instruments and developer library. With thousands of major update is iOS 6, publicly announced on June 11, 2012 apps in practically every category, iOS is the platform for the and released on September 12, 2012. Over 200 new features world’s largest collection of mobile apps. And every app starts debut in iOS 6, including Apple's new Passbook service, with the right DNA.
    [Show full text]