一种新的方式来分发杂志 Newsstand

应用程序设置

基本应用
  前提是要有跟随本教程XCode 4.2 SDK安装和iOS 5。即使大多数的新功能,可以直接在iPhone模拟器测试,推动notifcations和在应用程序购买本教程的一部分需要iOS开发者账户。

所以让我们从一个简单的方法:

打开XCode和创建一个新的“空”的项目,您可以自由地选择目标设备iPhone和iPad之间。然后创建一个新的视图控制器,称之为StoreViewController,进入应用程序委托实例化一个新对象,该控制器和把它放进一个新的导航控制器。最后定义一个新的图标,把它添加在您的项目并运行在模拟器。最明显的结果是这样的,我们的图标在跳板和应用程序显示一个空的屏幕:

启用的报摊

现在我们需要指示系统,我们希望我们的应用程序要兼容报摊。

第一个要求是创建一个特定于报摊的图标,这个图标是不同于通常的应用图标,它必须出现在一个我们的杂志的封面。在我们的例子中,我们准备了一个简单的130 x 190像素图标和进口在XCode。

此外,我们需要添加或修改三个新领域应用信息plist。第一个新字段是UINewsstandapp,必须添加和设置为YES。

第二个是创建或修改CFBundleIcons字典项通过添加报摊图标。最后,如果我们要支持背景下载新的资产,我们需要添加的应用背景报摊代码功能。新添加的plist物品将出现在xml语法为:

<key>CFBundleIconFiles</key>

<array>

<string>icon.png</string>

<string>icon@2x.png</string>

</array>

<key>CFBundleIcons</key>

<dict>

<key>CFBundlePrimaryIcon</key>

<dict>

<key>CFBundleIconFiles</key>

<array>

<string>icon.png</string>

<string>icon@2x.png</string>

</array>

<key>UIPrerenderedIcon</key>

<false/>

</dict>

<key>UINewsstandIcon</key>

<dict>

<key>CFBundleIconFiles</key>

<array>

<string>icon_newsstand.png</string>

</array>

<key>UINewsstandBindingEdge</key>

<string>UINewsstandBindingEdgeLeft</string>

<key>UINewsstandBindingType</key>

<string>UINewsstandBindingTypeMagazine</string>

</dict>

</dict>

<key>UINewsstandApp</key>

<true/>

<key>UIBackgroundModes</key>

<array>

<string>newsstand-content</string>

</array>

注意:

CFBundleIconFiles部分仍然存在为了向后兼容,但在新的iOS 5语法已经复制在CFBundlePrimaryIcon CFBundleIcons节。这些新的设置出现在XCode如下图所示,我们这里显示的值而不是关键参数的名称信息,只是为了让你看看新图标文件结构是标有一个iOS 5标签:

让我们构建并运行应用程序再一次,结果将出现如下:我们原来的图标被罢免了跳板和替换为封面像图标在报摊组;如果我们打开组然后我们就能在我们的应用程序图标,点击移动它到前台。注意,经典的风格图标仍系统所需的,因为它们被用于聚光灯,推送通知,在应用程序商店。

显示和下载杂志

现在是时候开始编写一些代码,将我们的项目加入NewsstandKit框架。

别忘了导入NewsstandKit标题的分类,需要它:

#import <NewsstandKit/NewsstandKit.h>

为简单起见,我们假设列表中可用的问题(所有免费的)是在一个plist文件,可以从服务器下载的出版商。所以为了我们定义一个类称为出版商将照顾下载当前的项目列表。一旦项目被下载他们将提交给用户。的plist是相当简单的:它是一个数组,每个字典词典代表一个问题通过提供识别名称(独特的)、标题(对用户可见),出版日期和url缩略图封面图片和内容(PDF文件)下载。

<dict>

<key>Name</key>

<string>Magazine-0</string>

<key>Title</key>

<string>Magazine Issue 0</string>

<key>Date</key>

<date>2011-10-01T06:00:00Z</date>

<key>Cover</key>

<string>http://www.viggiosoft.com/media/data/blog/newsstand/magazine-0.png</string>

<key>Content</key>

<string>http://www.viggiosoft.com/media/data/blog/newsstand/magazine-0.pdf</string>

</dict>

在启动时将下载的StoreViewController从服务器的问题清单,解析它并将提供这个表中列出。同时它将下载覆盖缩略图和表中会显示它们。这是很典型的代码还不相关,所以我不会解释报摊的细节。结束时的加载视图将以这种方式出现。你只会这个项目列表一起盖和暗示邀请丝锥下载。

iOS Newsstand 指导 报刊杂志 iOS开发相关推荐

  1. 《iOS开发完全上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C新手训练营

    编写Hello World应用程序通常被认为,是学习任何编程语言的第一步.在这一章,你将创建iOS版的Hello World应用程序作为起步,快速了解Xcode这个开发iOS应用程序的主要工具.   ...

  2. 《iOS开发全然上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C新手训练营...

         编写Hello World应用程序通常被觉得,是学习不论什么编程语言的第一步.在这一章,你将创建iOS版的Hello World应用程序作为起步,高速了解Xcode这个开发iOS应用程序的主 ...

  3. 《iOS开发完全上手——使用iOS 7和Xcode 5开发移动与平板应用》之Objective-C

    2019独角兽企业重金招聘Python工程师标准>>> 编写Hello World应用程序通常被认为,是学习任何编程语言的第一步.在这一章,你将创建iOS版的Hello World应 ...

  4. iOS 7: iPhone/iPad应用开发技术详解

    iOS 7: iPhone/iPad应用开发技术详解 作者:刘一道 出版社:机械工业出版社 出版年:2013-11 页数:507 定价:79.00元 ISBN:9787111440512 样章下载:h ...

  5. iOS 7 iPhone iPad应用开发技术详解

    2019独角兽企业重金招聘Python工程师标准>>> iOS 7 iPhone iPad应用开发技术详解 本书内容全面,从 Objective-C语法知识.iOS功能特 性,到高级 ...

  6. iOS应用内付费(IAP)开发步骤列表

    iOS应用内付费(IAP)开发步骤列表 前两天和服务端同事一起,完成了应用内付费(以下简称IAP, In app purchase)的开发工作.步骤繁多,在此把开发步骤列表整理如下.因为只是步骤列表, ...

  7. iOS 移动端生成工具开发

    代码地址如下: http://www.demodashi.com/demo/11284.html 一.准备工作 编译环境 xcode 用于生成冗余架构代码, 实现生成零耦合架构 二.程序实现 上个月的 ...

  8. iOS开发笔记:大小写敏感的iOS文件系统,而iOS模拟器对大小写不敏感

    一个程序在模拟器上运行正常,但在真机上运行就是出错,排除了下列多种可能性: (1)用5.0的SDK开发,部署在4.3的真机系统上 (2)越狱的iPhone机器 (3)文件的汉字编码不正确 (4)ZIP ...

  9. unity5.X简易的3d跑酷游戏源码。支持安卓+IOS双端 C#语言开发。

    unity5.X简易的3d跑酷游戏源码.支持安卓+IOS双端 C#语言开发.拿来学习研究和二次开发都很不错. 完整源码下载 unity5.X简易的3d跑酷游戏源码.支持安卓+IOS双端C#语言开发-U ...

最新文章

  1. 车辆2D/3D--Deep MANTA: A Coarse-to-fine Many-Task Network for joint 2D and 3D vehicle analysis
  2. 防止在iOS设备中的Safari将数字识别为电话号码
  3. jenkins中配置Ant
  4. python画二维散点图-python3实现绘制二维点图
  5. ORACLE查询表数据占用存储空间大小
  6. vs2019 更新安装错误_本月Windows 10累积更新再出BUG:安装时跳出错误代码
  7. 万年历升级版 Calendar
  8. Dynamic programming solving ULS
  9. MySQL 批量插入数据,单次插入多少条数据效率最高
  10. win10下 mysql5.7.19 winx64解压缩版安装配置教程
  11. int定义源码 python_Python代码保护 | pyc 混淆从入门到工具实现
  12. 婚恋职场人格-张晓文-武汉理工大学-中国MOOC-亲密关系测试题参考答案
  13. 打印日历程序php,C++实现的一个打印日历程序
  14. java eclipse计算器_eclipse编写计算器
  15. oracle的空间字段、空间函数,空间数据类型
  16. 给一些想要学习Java同学的一些建议
  17. JavaScript里的两个等于号和三个等于号的区别
  18. opencv3中的glob函数读取文件夹中数据
  19. jQuery权威指南(第2版)pdf
  20. [BZOJ4398]福慧双修/[BZOJ2407]探险

热门文章

  1. linux Makefile PHONY作用
  2. 那些年——2 心声共鸣
  3. 报表中引入图片并导出
  4. LIN资料整理(二): LIN协议层
  5. linux新增mysql用户_linux下mysql创建新的用户的方法
  6. Win10打印机IP地址哪里看?Win10打印机IP地址查看方法介绍
  7. 面向对象技术--面向对象开发技术
  8. Springfox-Swagger2
  9. 广东电子MES系统在电子厂实施的功能和流程
  10. 广东省专精特新企业有什么补助及奖励支持重点介绍,补贴20-100万