I need to start developing an app to publish interactive magazines for the iPad. However I don't have any idea how I can make the reader. I've been using web views to display normal pdf's, however now I need to use magazines created using Adobe Indesign. Have been looking all over and haven't found anything besides businesses that already provide their own apps for publishing.
If anyone can point me somewhere I can start, I've already looked at a very good tutorial to set up the store and possibly the library:
http://ios-blog.co.uk/articles/tutorials/how-to-make-a-magazine-app-in-ios-part-i/
but i don't think QuickLook is what I need for the reader.
Take a look at this PDF rendering library:
http://pspdfkit.com/
We used it in a similar app, and were very pleased. Peter Steinberger (the author) also gives great support and is very helpful. Previous to purchasing this library, I wrote my own PDF renderer, and I can guarantee you that it's MUCH cheaper to just buy Pete's library. Otherwise, you will spend months to optimize it enough that it runs on iPad 1.
Related
Is it possible to create an API inside an iOS app to let 3rd party developers create app add-on that are downloadable for users inside the app?
I could not find any ressources for this topic online.
I think that's going to go against the app store guidelines if your intention is that the 3rd party developers write code, which will be downloaded and executed.
There's something of a grey area between legitimate uses and illegitimate uses of downloaded code:
Legitimate Example 1: Something like Hopscotch where children are creating simple fun shared games. These can be considered user generated content.
Legitimate Example 2: A game which is driven by scripts allows for the run-time downloading of patches to fix bugs in the scripts or even to add new levels. I believe such usages have been rejected occasionally in the past, but are generally accepted these days.
The relevant guideline from the guidelines is (emphasis mine):
2.5.2 Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code, including other iOS, watchOS, Mac OS X, or tvOS apps.
And the all-encompassing:
We will reject apps for any content or behavior that we believe is over the line. What line, you ask? Well, as a Supreme Court Justice once said, "I'll know it when I see it". And we think that you will also know it when you cross it.
If your idea is to create some sort of app-store within your app-store app, then I would abandon it immediately, because that's going to be way over Apple's line.
That said, you haven't given much detail about your app, so I might have made wrong assumptions about where you're thinking of going.
I'm having a problem with making roll overs work in an interactive pdf for iPad and mobile devices. I've spent hours looking for a resolution, but have found nothing for this specific issue...
What I have is sections in the document where the viewer can answer questions via check boxes. The check boxes work fine. However the check boxes for the incorrect answers trigger, on roll over, a 'pop-up' window that will nudge them to the correct answer. I have tried doing this through InDesign at the design stage and through Acrobat. Right now the functionality is primarily through Acrobat (seems to be closer to the end goal).
I'm not sure if it's as simple as a setting or what? Any assistance would be greatly appreciated. More specific information can be given if needed. Thanks!
You have to look at the "documentation" for the various PDF viewers for iOS, and see what they support.
Opposed to the Windows and OSX platforms, Adobe Reader for iOS (and Android) is mediocre at best, when it comes to JavaScript support (which is most likely the base for the rollovers). For iOS, the leader of the pack is PDFExpert by Readdle. With some luck, this PDF viewer may support what you want to accomplish.
I'm looking at building some form of an eBook for iOS. By 'some form', I'm not yet sure what/how to build it.
The variables:
My skills: I'm fairly adept at front-end development, using HTML5, jQuery, CSS, etc. I've built an iOS app via Phonegap. I'm also a graphic designer so would like to retain some control over layout/typography/etc.
The type of book: It's primarily a picture book. Swipe between pages, perhaps a 'tap to see caption/details'. Perhaps some simple animations on some pages (fade out, slide-in...etc). Maybe a bit of sound (though that's not a priority). The one feature I'd really like to have is that it have an in-app purchase. For instance, 10 page book for free, in-app purchase do get the other 40 pages.
The options that I can think of off the top of my head:
built it from scratch in Phonegap
Use Apple's iBook Author
Use another framework (within Phonegap our outside).
Regarding #1, that certainly seems viable, though I'd worry that I'm not taking advantage of some prebuilt frameworks already tailored towards book-type apps.
Regarding #2, this looks appealing for building. Does it handle simple animation OK? I'm also not sure if one can do in-app purchases in the context of an iBook (though there is some appeal in that, on average, it appears iBooks sell at a higher price than Apps).
Regarding #3, that's probably my main question: are there frameworks out there that have come out in the past year or two that I'm unaware of that are tailored specifically for making iBooks and/or iBook-like Apps?
I've built both Phonegap applications and iBooks applications for my company -- for Phonegap, we used Monocle to get the paging behavior we wanted. It doesn't work perfectly (swiping proved problematic so we ended up only supporting tapping), but it allows HTML/JS/CSS and works well in the iOS UIWebView. We re-wrote it to use some CSS3 transitions, and we had to optimize it some more for performance (it doesn't handle huge books well), but it mostly works.
For iBooks Author, there's no way to do in-app purchases, but it's better in terms of re-flowable text, and the transitions between pages are much nicer. If you're trying to build a picture book, I'd start off looking at iBooks Author (there's also the ability to build HTML widgets, although that might not help you), since you can control the experience much better.
I have a big question about how newsstand works.
When you have to create a new magazine(issue), how do you do it?
I mean, Do I have to implement new code for each magazine (with new views and new view controllers) which doesn't look the same as the others and has interactive content? In this case, how do I add/upload/integrate them to my newsstand app which is already in the market?
In the case that It doesn't work in this way, How does it work?
Thank you very much in advance.
Your question really goes to the heart of how Apple has chosen to implement Newsstand. Basically, there are three possibilities for using Newsstand: use image/pdf content, use HTML5 content, and use the CoreText native API.
I take it from what you are saying that you would like to use the CoreText API. This is difficult to do in the Newsstand framework for the reason you suggest: you really are not supposed to upload a whole new app with each edition.
There are two possible solutions. The first is simply not to use Newsstand. Instead you can publish your magazine as an app, and simply upload a new app for each edition. This means you miss out on things such as subscriptions and the "double-listing" promotion of Newsstand, but you can make high-quality, native, custom interfaces.
The second is to do what I am in the process of doing right now, which is to develop something like an XML encoding that when loaded into your base app will generate the kind of interface you want.
At least that is my analysis so far. I would be so pleased to be told I'm wrong, really. But I do think this is one of those cases where Apple hasn't really thought through what they are offering. Maybe next year it will get better!
If you use the Baker framework you can download the interface elements (html, images) as "issues" and the code part (Baker framework) will stay the same.
To add a new issue you do the same as you do with downloading the PDFs using NKAssetDownload. If you're using Baker you will want to extract the whole "book" into the documents directory.
I am just starting iOS development. I read some tutorials, watched stuff on iTunes U and wrote some sample code myself. Now I want to take the next step. I want to learn about best practices for iOS development in XCode.
Are there any well written and well organized iOS projects that one could take a look at?
(As I see it, iOS is not exactly the place for open source enthusiasts, however.)
Thanks
Mike.
I agree with several of the other answers that state that looking at many, many projects for mini-examples of what you want to do in your own app is the way to go.
However, you asked for an example of an app demonstrating best practices.
You could do worse than to read Matt Gallagher's blog, Cocoa with Love from beginning to end. However, the app example you asked for is right here.
Not only will it show a variety of techniques, some novel design and best-practices, but also he points out where he feels that he might have done something better.
It's a great read.
I would suggest the following process: (it worked for me)
Think of an advanced app. that you eventually want to be proficient enough to create.
Make a top-down problem-solving tree containing the necessary skills required to build your final app.
Use this tree to divide your final app. into 'sub apps'. Start at the bottom of the tree, find a tutorial specifically for that skill, and make a "Hello World" app. that uses that skill.
Keep progressing upwards, creating 'sub apps' as you go.
When you are finally ready to make your final app. (it will take a while), you will have a good handle on how iOS development works. It will also be a great test of your knowledge via direct application!
Getting the hang of iOS development can be tricky; it really does require a top-down approach, and every online resource I've found takes a linear one. The only way that I think a linear approach to learning iOS development would be manageable, is to take it one small task at a time.
As for specific resources, I always google "[what I want to do] iPhone SDK" and browse the tutorials and forum posts that come up.
Here are some open source iOS apps. However, they aren't very well documented and are also very advanced.
TKAWebView - A subclass of UIWebView that handles authentication and downloading.
Welcome to your Mac - An iOS app. to VNC into a PC/Mac and do some cool stuff.
InAppSettingsKit - A settings screen creator for your apps.
Good luck!
The people behind the Parse platform have made two complete projects.
For each project there is the complete source code, a tutorial and the resulting app is also available from the AppStore.
Anywall: https://parse.com/anywall
Anypic: https://parse.com/anypic
They both rely heavily on the Parse platform as the data source, but you still get a feel for an iOS project.
Molecules is a great open-source app that uses 3D OpenGL to render complex models of molecules.
Just keep coding my friend. You'll learn over a period of time. The best way to get dirty in a mud fight is to jump into it... Weird analogy but you get the point.
Maybe someday, we all will learn from you then !
Like you said there many and many source codes are available internet, but most are incomplete.
I found some Open source codes of REAL application currently available through Apple app store are given here
Free iPhone App Source Codes of real apps
and also, you can find many answers here on stackoverflow question - Are there any Open-source iPhone applications around?
You can download free IOS sample projects from http://devcodemarket.com
I realize this is an old thread but I've also been looking for good objective-c code examples recently and I just realized that TextEdit's source code is available at the Mac Developer Library webpage.
Also, here are some popular objective-c libraries that have caught my attention:
CocoaPods
AFNetworking.
you can also go through UICatalog from Developers Library and download the sample code. just google it and you will find a project containing all basics of iphone.
I don't think there is any perfect project that can demonstrate all the qualities of great code. Developers have stylistic preferences and may make mistakes. That said, you should look at a lot of different projects and try to look at the conventions used.
I'd suggest starting on GitHub. Besides for seeing code, you'll see what libraries are out there, which may help further your projects later on. Here's the Objective-C page on GitHub.
(Also, I (GitHub link) think you're wrong about iOS devs not being in favor open source. Yes, there's money to be made, but you can't sell a CSV paring library on the App Store as is.)
Have a look at https://github.com/mozilla/firefox-ios
That is Firefox for iOS, written in Swift.
Cocoacontrols has a wide range of controls written using Objective-C & Swift.
I believe these days, this is one of the most famous website for iOS Developers.
But, before you jump onto this, you have to learn Objective-C & Swift very well, so that you will understand how to use the controls in your app which makes your app smooth.