小编Nav*_*ved的帖子

iOS 5不允许将下载的数据存储在Documents目录中?

我已经通过将目标iOS保持为4来为我的客户端创建了一个应用程序.
但由于该应用程序仍未提交给Apple商店,我的客户端计划将其升级到iOS 5.0.

为此,我阅读了Apple指南,发现"只有用户生成的数据或者应用程序无法重新创建的数据应存储在/ Documents目录中,其余部分应存储在/ Library/Caches目录中"

在我的应用程序中,我正在使用针对非消费品的应用程序内购买的服务器模型.为此,我将所有下载的数据(基本上是书籍或杂志)存储到Documents目录中.数据库也存在于同一目录中,该目录包含有关下载产品的详细信息.

我的问题是,
1.我是否必须更改我的代码以将下载的数据存储到Library/Caches目录而不是Documents目录?
2.我的数据库文件应该放在哪里(到文档或缓存)?

如果我把它放在缓存中,那么我也必须改变检索的逻辑,因为如果记录存在于数据库中,则不需要改变文件的存在,并且当用户点击时它直接打开它该杂志.

请指导我这个问题.
提前致谢.

更新:
我正在为那些仍然不确定这个问题的人更新这个.
使用已接受答案的指导原则,我已在我的2个应用程序中实现了此功能并将其提交给Apple Store.两者都经过审查批准.
这可能会促使在接受的答案中建议的解决方案是正确的.

iphone objective-c in-app-purchase ios5

50
推荐指数
3
解决办法
2万
查看次数

如何测试推送通知正在我的应用程序中工作

在我的应用程序中,我正在实现推送通知服务.
我有一个Content Provider服务器,其中包含一些产品.
我已生成SSL客户端证书并将其附加到我的开发配置文件.此配置文件也会添加到我的应用程序中.
我已经在委托方法中编写了代码(由Apple指南实施推送通知).搞定.

现在我想测试我的应用程序是否按照要求处理推送通知.关于如何测试它的任何想法都会对我有所帮助.
我是否必须将新产品添加到内容提供商服务器以进行测试?

如果是,APNS将推送通知发送到我的设备需要多少钱?

objective-c push-notification ios

42
推荐指数
5
解决办法
9万
查看次数

Java隐式定义对类中使用的对象的引用是真的吗?

在阅读书籍,浏览关于Java中引用类型的网络之后,我仍有一些疑问(或者我可能已经将这个概念解释错了).
如果有人明白我的疑虑,对我来说将是一个很大的帮助.

让我举一个包含类变量,实例变量和局部变量的类的例子.

public class Test {
  public static ArrayList<String> listCommon = new ArrayList<String>();
  private HashMap<String, String> mapInstance;

  public Test() {
    mapInstance = new HashMap<String, String>();
  }

  public void doSomething(String key) {
    ArrayList<String> local = new ArrayList<String>();
    if(key != null){
      local.add(mapInstance.get(key));
    }

    System.out.println("Value is added in instance Map: ", mapInstance.get(key));
  }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是;
1. listCommon(静态变量)和mapInstance(实例变量)对垃圾收集器的强引用?
2.变量local(在方法中定义和使用)是弱参考吗?
3. Phantom参考和Soft参考如何出现?
4.或以上3个概念无效; 是否只有在显式使用java.lang.ref包中定义的类型时,Java才定义引用?

任何帮助对我来说都很棒.

java reference

13
推荐指数
1
解决办法
938
查看次数

如何使用Java(Servlet)验证针对应用内结算Android Market的签名数据

在为Android应用程序实施应用内结算时,我遇到了一个问题.

让我首先解释一下这个场景
我们有一个内容服务器(数据服务器),它有产品列表.
当用户从列表中选择一个时,他就可以购买它.
使用我的测试帐户输入信用卡详细信息后,购买逻辑运行完美.
在回报中,我在Android设备中获得了签名数据.

我的问题是
1.我是否必须验证Android设备中的签名数据,然后将一些信息或数据发送到内容服务器,然后内容服务器发送产品(我认为这可能不太好,因为服务器端没有流量验证请求是否有效或更准确;签名数据是否由谷歌市场生成)?
2.如果我必须在服务器端验证数据,我该怎么做?我是否必须将其发送到Google市场(如果是,使用哪种网络服务或API)?

请帮我纠正这个.
提前致谢.

java android servlets in-app-billing

10
推荐指数
1
解决办法
1479
查看次数

NSNotificationCenter接收事件方法正在执行多次

我基本上是一个Java开发人员,最近在Objective C(iPhone)上分配了一个任务.

我已开始使用该语言进行编码.但在实施NSNotificationCenter时,我遇到了一个非常奇怪的问题.

解释我的问题非常困难.

我的类A有一个名为NSMutableArray指针类型的数组的全局变量.class的init方法看起来像

- (id) init  
{  
  if(self = [init])  
  {  
    [NSNotificationCenter defaultCenter] addObserver:self @selector(successLogin) name:"successLogin" object:nil];  
    [NSNotificationCenter defaultCenter] addObserver:self @selector(failureLogin) name:"failureLogin" object:nil];  
   ... <some code>  

}
Run Code Online (Sandbox Code Playgroud)

收到事件方法看起来像

- (void) successLogin: (NSNotification * ) notification
{  
   ... <some code of writing data to db using **array**>  
   [self showSuccessAlert]; // it is showing UIAlert
}
Run Code Online (Sandbox Code Playgroud)

sendEvent方法(其他类B)的代码类似于

[[NSNotificationCenter defaultCenter] postNotificationName:@"successLogin" object:nil];
Run Code Online (Sandbox Code Playgroud)

A类有一个按钮" Validate ",它调用B类的方法并验证用户输入的用户ID和密码.如果登录成功,则观察者通知观察者然后将登录信息添加到数据库.该应用程序允许更新db以进行5种不同的登录.(用户ID和密码)

如果我输入第一条记录,它就有效.当我再添加一个登录信息时,通知警报会出现两次.当我再添加一个时,它需要三次,依此类推.它还使用第一个记录添加时的数组值更新db

但是当我输入第一条记录并退出应用程序时(通过从最小化的iPhone和模拟器列表中删除应用程序)并再次运行它并尝试添加第二条记录.它正确添加它.因此,对于5次添加,我必须重复上述循环,这对用户来说当然不方便.

请帮我把这个问题拖出来.

iphone objective-c

4
推荐指数
1
解决办法
2120
查看次数