小编Ada*_*den的帖子

如何检查应用程序内购买自动可续订订阅有效

我正在寻求使用In App购买实施新的Auto Renewable订阅,但我不确定如何或何时检查用户当前是否已订阅.我的理解是,当用户最初订阅该应用时,可以使用购买日期和订阅日期来计算他们的订阅将持续多长时间.这个日期过后会发生什么?我们如何检查用户是否已自动续订或取消?

如果我用于restoreCompletedTransactions获取每次续订的交易和收据,系统将提示用户输入其iTunes密码.这是否意味着如果他们购买了7天的订阅,那么当应用程序检查订阅是否仍然有效时,他们必须每7天输入一次密码?

iphone objective-c subscription in-app-purchase ios

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

在iOS 6中,UIStringDrawing方法似乎不是线程安全的

在两个线程上同时使用任何UIStringDrawing方法都会导致崩溃.我的理解是所有UIStringDrawing方法都是iOS 4.0中的线程安全的.

这段代码(没有任何用处)演示了这个问题:

dispatch_queue_t queue = dispatch_queue_create("com.queue", NULL);

for (int i = 0; i < 10000; i++) {

    dispatch_async(queue, ^{

        NSString *string = @"My string";
        CGSize size = [string sizeWithFont:[UIFont boldSystemFontOfSize:13]];
    });
}

for (int i = 0; i < 10000; i++) {

    NSString *string = @"My string";
    CGSize size = [string sizeWithFont:[UIFont boldSystemFontOfSize:13]];
}

dispatch_release(queue);
Run Code Online (Sandbox Code Playgroud)

应用程序在循环几次迭代后崩溃,并带有以下回溯:

* thread #1: tid = 0x2403, 0x00ad40c8, stop reason = EXC_BAD_ACCESS (code=2, address=0xad40c8)
  frame #0: 0x00ad40c8
  frame #1: 0x36bc4252 WebCore`WebCore::Font::Font(WebCore::FontPlatformData const&, WTF::PassRefPtr<WebCore::FontSelector>) + …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios ios6

22
推荐指数
1
解决办法
4766
查看次数

UIBackgroundModes位置和重要的位置变化与区域监测

我有一个应用程序,它结合使用startMonitoringForRegion:startMonitoringSignificantLocationChanges在应用程序处于后台时了解用户的位置.这是否意味着我需要locationUIBackgroundModes键中包含键的值Info.plist

这是文档的引用:

对于不需要高精度位置数据的应用,强烈建议使用重要更改位置服务.使用此服务,仅当用户的位置发生显着变化时才会生成位置更新; 因此,它非常适合为用户提供非关键的,与位置相关的信息的社交应用或应用.如果在更新发生时暂停应用程序,系统会在后台将其唤醒以处理更新.如果应用程序启动此服务然后终止,系统会在新位置可用时自动重新启动应用程序.此服务在iOS 4及更高版本中可用,并且仅在包含蜂窝无线电的设备上可用.

...

为用户提供连续位置更新的应用程序(即使在后台)可以通过在其Info.plist文件中包含UIBackgroundModes键(具有位置值)来启用后台位置服务.在UIBackgroundModes键中包含此值并不妨碍系统暂停应用程序,但它确实告诉系统,只要有新的位置数据要传递,它就应该唤醒应用程序.因此,此密钥有效地允许应用程序在后台运行,以便在发生时处理位置更新.

我对此的解释是,只有当应用程序需要连续的位置更新时才需要密钥的locationUIBackgroundModes,例如sat导航应用程序.

我还尝试在没有密钥location值的设备上运行应用程序,UIBackgroundModes并继续报告重要的位置更改以及何时输入退出的区域.

此外,CLLocationManager类参考中UIBackgroundModes提到的唯一位置是在讨论中,我没有使用.startUpdatingLocation

iphone objective-c core-location cllocationmanager ios

16
推荐指数
1
解决办法
1万
查看次数

Apple iOS配置设备限制是否累计?

我们即将进入iOS开发者计划更新日期,我想确保完全了解设备限制的工作原理,以便最大限度地增加测试设备的数量.

我是否正确地认为每年100台设备是我们已经拥有的?因此,我们是否应该在更新之前添加尽可能多的100个设备以充分利用限制?

这是否意味着在两年的会员资格后,您最多可以拥有200台设备?

我在开发人员支持中心找到了这个,但它并没有真正回答我的问题:

我可以注册多少iOS设备进行测试和Ad Hoc分发?

您可以在每个会员年度注册多达100个iOS设备进行测试和Ad Hoc分发.请注意:虽然您可以从帐户中删除某个设备,但它会继续计入您的100设备限制.

如何在iOS Provisioning Portal中重置iOS开发设备列表?

在新会员年度开始时,团队代理或管理员可以登录iOS Provsioning Portal以删除列出的设备,并将可用设备数量恢复为100台设备.在添加任何新设备之前,请务必删除不再用于开发的所有设备.

iphone provisioning ipad ios ios-provisioning

8
推荐指数
2
解决办法
6745
查看次数