Chapter 1 the Brand New Stuff

Total Page:16

File Type:pdf, Size:1020Kb

Chapter 1 the Brand New Stuff Chapter 1 The Brand New Stuff In 2007, the late Steve Jobs took the stage at Macworld and proclaimed that software running on iPhone was at least fi ve years ahead of the competition. Since its initial release, Apple has been iterating the operating system year after year, and has even added two new devices, the iPad and Apple TV, to the list of products capable of running it. As the operating system was customized to run on more devices than just the iPhone, it was rebranded as iOS. Today, it’s almost 5 years old, and iOS 5 is easily the biggest update to iOS since the original launch, possibly making the software fi ve years ahead of the competition again. This book is about programming with iOS 5. Targeting intermediate to advanced iOS developers, this book, unlike most others, covers advanced topics of iOS development. Rather than learning about frameworks and the features available on the iOS SDK, you learn about how to make the best use of those features to help push your apps to the next level. This chapter briefl y describes the new features covered in detail in the book and tells you the chapters in which they are discussed. The History of iOS The second version, iPhone OS 2, was the fi rst to have a public SDK. From then on, with every release of the operating system, Apple introduced several major features and a lot more minor API changes. This section briefl y describes the history of the iOS. The remaining sections in the chapter provide an overview of what’s new in iOS 5. iPhone OS 3 brought Core Data from Mac to iPhone. Other additions include Apple Push Notifi cation Service, External Accessory Kit, In App Purchases through the StoreKit.framework, in app email sheets, the MapKit.framework that allows developers to embed Google Maps into their apps, read-only access to the iPod library, and keychain data sharing. OS 3.1 added video editor support, a minor update. iPhone OS 3.2 added Core Text and gesture recognizers, fi le sharing, and PDF generation support, another minor (yet so major) update. OS 3.2 also added a whole new product, iPad, support for developing apps that run on iPad, and universal apps that run on iPad (3.2) and iPhone (3.1.3). 3.2 was iPad only and didn’t run on iPhone or iPod touch devices. COPYRIGHTED MATERIAL iPhone OS 4 (rebranded as iOS 4) introduced much-awaited multitasking support, local notifi cations, read-only access to calendar (Event Kit framework, EventKit.framework), blocks, Grand Central Dispatch (GCD), in app message composer sheets (SMS), and Retina display support. This version was iPhone only and didn’t support developing apps for iPad. A minor update, iOS 4.2, unifi ed iPhone and iPad operating systems. 005_9781119961321-ch01.indd5_9781119961321-ch01.indd 9 111/14/111/14/11 77:31:31 PPMM 10 Part I: What’s New? What’s New iOS 5 introduces several important features like iCloud, Automatic Reference Counting (ARC), Storyboards, built- in Twitter framework, and several other minor features. The next few sections introduce you to the key features added to iOS 5 and the chapters in which they are discussed in detail and where I provide guidance about how to push your apps to the next level. iCloud iCloud is a new cloud service provided by Apple. iCloud diff ers from competing similar off erings in that it’s more a cloud-based service than cloud-based storage. Developers have been using third-party services for synchronizing data across multiple devices. Dropbox is the most popular of these services; however, even Dropbox API version 0 (the latest version as of this writing), doesn’t support confl ict handling, something that’s critical for data integrity. While Dropbox has confl ict resolution, it’s not exposed to developers via their API. iCloud, on the other hand, supports fi le storage and has confl ict resolution built into the iOS 5 SDK. iCloud also supports storing key-value data on the cloud, which is good enough for apps that need settings and other similar data to be kept in sync. iCloud is not just a hard disk on the cloud. Think of iCloud as a cloud-based service that just happens to support data storage. iOS 5 adds several new APIs for adding iCloud support: ■ UIDocument (very similar to its kin, NSDocument, on Mac) ■ UIManagedDocument, for managing your Core Data storage ■ Additions to NSFileManager to move and restore fi les from iCloud iCloud is covered in detail in Chapter 17. LLVM 3.0 Compiler LLVM (Low Level Virtual Machine) is a new compiler project partly funded by Apple. While technically not a part of iOS 5, developers should be equipped with the knowledge of the new features available in LLVM. Improved auto complete and speedier compilation are just a part of LLVM’s new features. In Chapter 2 you learn about the features of LLVM and how LLVM augments Xcode 4’s features. Automatic Reference Counting Another important feature of iOS 5 is Automatic Reference Counting (ARC). It is a compiler-level feature provided by the new LLVM compiler. This means that you can use it without increasing the minimum SDK support to iOS 5. ARC can be used in apps targeting iOS 4 onward, and Xcode 4.2 also provides support for migrating your code to use ARC using the Convert to Objective-C ARC tool. With the new LLVM compiler slowly becoming mainstream, ARC will supercede the current retain/release memory management. 005_9781119961321-ch01.indd5_9781119961321-ch01.indd 1010 111/14/111/14/11 77:31:31 PPMM Chapter 1: The Brand New Stuff 11 Automatic Reference Counting is not like garbage collection off ered on Mac OS X from version 10.5 (Leopard). Garbage collection is automatic memory management. This means that developers don’t have to write a matching release for every retain statement. The compiler automatically inserts them for you. ARC adds two new lifetime qualifi ers—strong and weak—and it also imposes new rules, such as that you can no longer invoke release, retain on any object. This applies to custom dealloc methods as well. When using ARC, your custom dealloc methods should only release resources (fi les or ports) and not instance variables. ARC is covered in detail in Chapter 3. Storyboards—Draw Your Flow Storyboards is a new way to design your user interface. Prior to iOS 5 you used Interface Builder nib fi les to defi ne your UI one view controller at a time. With Storyboards, you can defi ne in one fi le the complete UI fl ow of your app, including interaction among the diff erent view controllers. You can use Storyboards to defi ne all view controllers in your app. You don’t have to create multiple Storyboards or worry about performance. The Interface Builder build tool automatically splits your storyboard fi le into parts and loads it individually at runtime without aff ecting performance. On iOS 5, storyboards replace MainWindow.xib nib fi le (and possibly every other view controller’s nib fi le). The new project template in Xcode 4.2 helps in creating storyboards. You can also add a storyboard to your old projects and optionally make it the main storyboard by adding an entry to the Info.plist fi le. Storyboards, unlike ARC, is an iOS 5-specifi c feature, and using Storyboards means that you need to raise your minimum supported OS to iOS 5. You will learn more about storyboards in Chapter 5. UIKit Customization—Appearance Proxy Apple (and even Microsoft) has always been against UI customization, or theming. Its reasoning is that theming makes it diffi cult for users to understand the user interface. The Web, on the other hand, has made a huge revolution on this front and this has had an eff ect on the latest release of iOS as well. Beginning with iOS 5, some native apps like Reminders get some rich customization. With iOS 5, most properties of UIKit elements can be customized. This includes backgroundColor, tintColor, and a lot more. Customization is supported by a UIView subclass if it implements the UIAppearance protocol. The protocol also allows customization based on the contained view. For example, you can have a diff erent tint when a custom view of yours is within a navigation bar. Chapter 5 covers UI customization. 005_9781119961321-ch01.indd5_9781119961321-ch01.indd 1111 111/14/111/14/11 77:31:31 PPMM 12 Part I: What’s New? Twitter Framework and Accounts Framework iOS 5 integrates Twitter experience right into the OS. This means sending a tweet from your app is as easy as sending an email using an in app email sheet. The framework also handles authentication for you, which means you no longer need to do the oAuth/xAuth authentication yourself. Twitter framework on iOS 5 integrates with Accounts framework to provide account authentication. As of this writing, Twitter is the only third- party authentication system supported natively on iOS 5. But, by looking at the decoupled design of Twitter framework and Accounts framework, there is a possibility that additional services might be introduced later on. While there are some advantages of using these frameworks, it’s still an iOS 5-specifi c feature, which means that using it requires you to limit your app to devices running iOS 5 and later. Additionally, when you send out a tweet through iOS, you will not be able to customize the sender (via text).
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]
  • Memory Management and Garbage Collection
    Overview Memory Management Stack: Data on stack (local variables on activation records) have lifetime that coincides with the life of a procedure call. Memory for stack data is allocated on entry to procedures ::: ::: and de-allocated on return. Heap: Data on heap have lifetimes that may differ from the life of a procedure call. Memory for heap data is allocated on demand (e.g. malloc, new, etc.) ::: ::: and released Manually: e.g. using free Automatically: e.g. using a garbage collector Compilers Memory Management CSE 304/504 1 / 16 Overview Memory Allocation Heap memory is divided into free and used. Free memory is kept in a data structure, usually a free list. When a new chunk of memory is needed, a chunk from the free list is returned (after marking it as used). When a chunk of memory is freed, it is added to the free list (after marking it as free) Compilers Memory Management CSE 304/504 2 / 16 Overview Fragmentation Free space is said to be fragmented when free chunks are not contiguous. Fragmentation is reduced by: Maintaining different-sized free lists (e.g. free 8-byte cells, free 16-byte cells etc.) and allocating out of the appropriate list. If a small chunk is not available (e.g. no free 8-byte cells), grab a larger chunk (say, a 32-byte chunk), subdivide it (into 4 smaller chunks) and allocate. When a small chunk is freed, check if it can be merged with adjacent areas to make a larger chunk. Compilers Memory Management CSE 304/504 3 / 16 Overview Manual Memory Management Programmer has full control over memory ::: with the responsibility to manage it well Premature free's lead to dangling references Overly conservative free's lead to memory leaks With manual free's it is virtually impossible to ensure that a program is correct and secure.
    [Show full text]
  • Develop-21 9503 March 1995.Pdf
    develop E D I T O R I A L S T A F F T H I N G S T O K N O W C O N T A C T I N G U S Editor-in-Cheek Caroline Rose develop, The Apple Technical Feedback. Send editorial suggestions Managing Editor Toni Moccia Journal, a quarterly publication of or comments to Caroline Rose at Technical Buckstopper Dave Johnson Apple Computer’s Developer Press AppleLink CROSE, Internet group, is published in March, June, [email protected], or fax Bookmark CD Leader Alex Dosher September, and December. develop (408)974-6395. Send technical Able Assistants Meredith Best, Liz Hujsak articles and code have been reviewed questions about develop to Dave Our Boss Greg Joswiak for robustness by Apple engineers. Johnson at AppleLink JOHNSON.DK, His Boss Dennis Matthews Internet [email protected], CompuServe This issue’s CD. Subscription issues Review Board Pete “Luke” Alexander, Dave 75300,715, or fax (408)974-6395. Or of develop are accompanied by the Radcliffe, Jim Reekes, Bryan K. “Beaker” write to Caroline or Dave at Apple develop Bookmark CD. The Bookmark Ressler, Larry Rosenstein, Andy Shebanow, Computer, Inc., One Infinite Loop, CD contains a subset of the materials Gregg Williams M/S 303-4DP, Cupertino, CA 95014. on the monthly Developer CD Series, Contributing Editors Lorraine Anderson, which is available from APDA. Article submissions. Ask for our Steve Chernicoff, Toni Haskell, Judy Included on the CD are this issue and Author’s Guidelines and a submission Helfand, Cheryl Potter all back issues of develop along with the form at AppleLink DEVELOP, Indexer Marc Savage code that the articles describe.
    [Show full text]
  • 129 Practical Drawing for Ios Developers V4 DD F
    Practical Drawing for iOS Developers Taking advantage of the Core Graphics API Session 129 Bill Dudney Secret Service Captain or whatever… These are confidential sessions—please refrain from streaming, blogging, or taking pictures 1 What?! I could draw this with Quartz?! 2 3 4 5 6 7 8 9 Agenda 10 11 Gradient Background 12 Gradient Background Clipped 13 Data Grid 14 Clipped Horizontal Grid 15 Clipped Linear Fill 16 Closing Data 17 Volume Data 18 Text Labels 19 Simple Stocks 20 Drawing 21 22 Color Fill @implementation MyView ... - (void)drawRect:(CGRect)rect { ... } ... @end 23 Color Fill @implementation MyView ... - (void)drawRect:(CGRect)rect { [[UIColor redColor] setFill]; UIRectFill(self.bounds); } ... @end 24 Color Fill @implementation MyView ... - (void)drawRect:(CGRect)rect { [[UIColor redColor] setFill]; UIRectFill(self.bounds); } ... @end 25 Gradient Fill - (void)drawRect:(CGRect)rect { CGContextRef ctx = UIGraphicsGetCurrentContext(); CGGradientRef gradient = [self gradient]; CGPoint startPoint = CGPointMake(CGRectGetMidX(self.bounds), 0.0); CGPoint endPoint = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMaxY(self.bounds)); CGContextDrawLinearGradient(ctx, gradient, startPoint, endPoint, 0); } 26 Core Graphics Is a C API Quartz 2D Documentation 27 …just now. —Bill Dudney 28 UIKit to the Rescue Much of Core Graphics is covered by UIKit 29 Gradient Fill Get the context - (void)drawRect:(CGRect)rect { CGContextRef ctx = UIGraphicsGetCurrentContext(); CGGradientRef gradient = [self gradient]; CGPoint startPoint = CGPointMake(CGRectGetMidX(self.bounds),
    [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]
  • Legal-Process Guidelines for Law Enforcement
    Legal Process Guidelines Government & Law Enforcement within the United States These guidelines are provided for use by government and law enforcement agencies within the United States when seeking information from Apple Inc. (“Apple”) about customers of Apple’s devices, products and services. Apple will update these Guidelines as necessary. All other requests for information regarding Apple customers, including customer questions about information disclosure, should be directed to https://www.apple.com/privacy/contact/. These Guidelines do not apply to requests made by government and law enforcement agencies outside the United States to Apple’s relevant local entities. For government and law enforcement information requests, Apple complies with the laws pertaining to global entities that control our data and we provide details as legally required. For all requests from government and law enforcement agencies within the United States for content, with the exception of emergency circumstances (defined in the Electronic Communications Privacy Act 1986, as amended), Apple will only provide content in response to a search issued upon a showing of probable cause, or customer consent. All requests from government and law enforcement agencies outside of the United States for content, with the exception of emergency circumstances (defined below in Emergency Requests), must comply with applicable laws, including the United States Electronic Communications Privacy Act (ECPA). A request under a Mutual Legal Assistance Treaty or the Clarifying Lawful Overseas Use of Data Act (“CLOUD Act”) is in compliance with ECPA. Apple will provide customer content, as it exists in the customer’s account, only in response to such legally valid process.
    [Show full text]
  • Memory Management with Explicit Regions by David Edward Gay
    Memory Management with Explicit Regions by David Edward Gay Engineering Diploma (Ecole Polytechnique F´ed´erale de Lausanne, Switzerland) 1992 M.S. (University of California, Berkeley) 1997 A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Computer Science in the GRADUATE DIVISION of the UNIVERSITY of CALIFORNIA at BERKELEY Committee in charge: Professor Alex Aiken, Chair Professor Susan L. Graham Professor Gregory L. Fenves Fall 2001 The dissertation of David Edward Gay is approved: Chair Date Date Date University of California at Berkeley Fall 2001 Memory Management with Explicit Regions Copyright 2001 by David Edward Gay 1 Abstract Memory Management with Explicit Regions by David Edward Gay Doctor of Philosophy in Computer Science University of California at Berkeley Professor Alex Aiken, Chair Region-based memory management systems structure memory by grouping objects in regions under program control. Memory is reclaimed by deleting regions, freeing all objects stored therein. Our compiler for C with regions, RC, prevents unsafe region deletions by keeping a count of references to each region. RC's regions have advantages over explicit allocation and deallocation (safety) and traditional garbage collection (better control over memory), and its performance is competitive with both|from 6% slower to 55% faster on a collection of realistic benchmarks. Experience with these benchmarks suggests that modifying many existing programs to use regions is not difficult. An important innovation in RC is the use of type annotations that make the structure of a program's regions more explicit. These annotations also help reduce the overhead of reference counting from a maximum of 25% to a maximum of 12.6% on our benchmarks.
    [Show full text]
  • Lotus Notes Traveler
    Lotus ® Notes Version 8.5.2 Lotus Notes Traveler Lotus ® Notes Version 8.5.2 Lotus Notes Traveler Note Before using this information and the product it supports, read the information in the Notices section. Second Edition (September, 2010) This edition applies to the version 8.5.2 release and to all subsequent releases and modifications until otherwise indicated in new editions. © Copyright IBM Corporation 2005, 2009. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Overview ..............1 Planning for installation and configuration ............45 Planning for installation and Choosing a deployment configuration .....45 configuration ............3 Planning your network topology ......45 Choosing a deployment configuration ......3 Using a virtual private network .....46 Planning your network topology ......3 Using a reverse proxy .........47 Using a virtual private network ......4 Direct connection ..........48 Using a reverse proxy .........5 Remote and local mail file considerations . 48 Direct connection ...........6 Supporting multiple Lotus Domino domains . 49 Remote and local mail file considerations ....6 Server capacity planning .........50 Supporting multiple Lotus Domino domains . 7 Clustering and failover ..........50 Server capacity planning .........8 Downlevel Domino directory servers ......51 Clustering and failover ...........8 Setting auto sync options ..........51 Downlevel Domino directory servers ......9 Configuring scheduled sync ........51 Setting auto sync options ..........9 Using SMS mode for auto sync .......52 Configuring scheduled sync ........9 Setting the heartbeat algorithm maximum Using SMS mode for auto sync .......10 interval ...............53 Setting the heartbeat algorithm maximum Language support ............53 interval ...............11 Lotus mobile installer ...........54 Language support ............11 Planning for security ...........55 Lotus mobile installer ...........12 Moving Lotus Notes Traveler to a new server .
    [Show full text]
  • Ipad Voiceover (VO) Controller
    RJ Cooper & Assoc., Inc. 1-800-RJCooper 949-582-2571 Fax: 949-582-3169 Internet: www.rjcooper.com Email: [email protected] iPad VoiceOver (VO) Controller This Controller allows control over those apps that are "VoiceOver-Compliant." This is not all apps! In fact, there are probably only several hundred apps that are VO-compliant. Most are not. Fortunately, and most importantly, most of Apple's are: Camera, Photos, Music, Messages, Notes, Mail, iBooks and several others. "VoiceOver" is a technology that Apple created for Macs, then its i-devices, for blind people to be able to hear what's under their finger. To find out if an app is VO-compatible, and also, to make my VO Controller work with your i-device: 1) Settings; 2) General; 3) Accessibility (scroll down to it); 4) VoiceOver; 5) Turn it on and wait and you will hear it. Now move your finger around slowly and things under your finger will highlight and speak. To activate the selected item, double-tap anywhere on the screen (remember that!). To scroll with VO, use 3 fingers. And that's how VO is supposed to work. Now press your Home button, and launch one of your desired apps, and move your finger around. Do things get highlighted and spoken? If so, then you're good to go! If not, you can write to the developer and beg ;-) But Apple soon discoverd that blind people don't use a mouse or their finger; they use a keyboard with keyboard "shortcuts," that is combinations of keys to navigate and hear their screen.
    [Show full text]
  • Evolution of Ios New Iphone? Whats Ios? Fourteen Updates and Counting! Evolution of Ios Karina Iwabuchi & Sarah Twun-Ampofo
    Karina Iwabuchi & Sarah Twun-Ampofo Evolution of iOS New IPhone? whats iOS? fourteen updates and counting! Evolution of iOS Karina Iwabuchi & Sarah Twun-Ampofo The Apple iOS (iPhone Operating System) greatly be noted as the blueprint to all iOS systems influences many app entrepreneurs, developers after. The iPhone had ground-breaking features and companies. iOS is a core mobile operating such as Visual Voicemail, Multi-Touch Screen, system that powers all Apple products software and Integration of iTunes were considered a from the iPad to the Apple TV, the system has revolutionary advancement too. The iPhone OS been popularized due to its user friendly and 1 was a major key factor in the iOS development progressive interface which can be accredited to history, the first iPhone lacked elements that the 14 innovative updates since 2007. would become an inherent part of the iOS What is an iOS system? operating system such as Photos, Calendar, Notes, Camera, Mail, support for third-party apps, and The iOS system can be simply described as more. It offered a 3.5-in. screen, a 2-megapixel Apple’s special programming that runs specific camera and won plaudits for the then-new applications tailored to the software of their multitouch features. devices, meaning the iOS system allows for new Apple only applications and updates on their iPhone 3Gs and iOS 3 products. It is a core system that powers all In 2009 the iOS 3 system was released alongside devices from Apple iPhone, iPod, iPad, iWatch, the iPhone 3GS, a new model came with massive Apple TV and Mac.
    [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]