我正在寻求使用In App购买实施新的Auto Renewable订阅,但我不确定如何或何时检查用户当前是否已订阅.我的理解是,当用户最初订阅该应用时,可以使用购买日期和订阅日期来计算他们的订阅将持续多长时间.这个日期过后会发生什么?我们如何检查用户是否已自动续订或取消?
如果我用于restoreCompletedTransactions获取每次续订的交易和收据,系统将提示用户输入其iTunes密码.这是否意味着如果他们购买了7天的订阅,那么当应用程序检查订阅是否仍然有效时,他们必须每7天输入一次密码?
在两个线程上同时使用任何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) 我有一个应用程序,它结合使用startMonitoringForRegion:并startMonitoringSignificantLocationChanges在应用程序处于后台时了解用户的位置.这是否意味着我需要location在UIBackgroundModes键中包含键的值Info.plist?
这是文档的引用:
对于不需要高精度位置数据的应用,强烈建议使用重要更改位置服务.使用此服务,仅当用户的位置发生显着变化时才会生成位置更新; 因此,它非常适合为用户提供非关键的,与位置相关的信息的社交应用或应用.如果在更新发生时暂停应用程序,系统会在后台将其唤醒以处理更新.如果应用程序启动此服务然后终止,系统会在新位置可用时自动重新启动应用程序.此服务在iOS 4及更高版本中可用,并且仅在包含蜂窝无线电的设备上可用.
...
为用户提供连续位置更新的应用程序(即使在后台)可以通过在其Info.plist文件中包含UIBackgroundModes键(具有位置值)来启用后台位置服务.在UIBackgroundModes键中包含此值并不妨碍系统暂停应用程序,但它确实告诉系统,只要有新的位置数据要传递,它就应该唤醒应用程序.因此,此密钥有效地允许应用程序在后台运行,以便在发生时处理位置更新.
我对此的解释是,只有当应用程序需要连续的位置更新时才需要密钥的location值UIBackgroundModes,例如sat导航应用程序.
我还尝试在没有密钥location值的设备上运行应用程序,UIBackgroundModes并继续报告重要的位置更改以及何时输入退出的区域.
此外,CLLocationManager类参考中UIBackgroundModes提到的唯一位置是在讨论中,我没有使用.startUpdatingLocation
我们即将进入iOS开发者计划更新日期,我想确保完全了解设备限制的工作原理,以便最大限度地增加测试设备的数量.
我是否正确地认为每年100台设备是我们已经拥有的?因此,我们是否应该在更新之前添加尽可能多的100个设备以充分利用限制?
这是否意味着在两年的会员资格后,您最多可以拥有200台设备?
我在开发人员支持中心找到了这个,但它并没有真正回答我的问题:
我可以注册多少iOS设备进行测试和Ad Hoc分发?
您可以在每个会员年度注册多达100个iOS设备进行测试和Ad Hoc分发.请注意:虽然您可以从帐户中删除某个设备,但它会继续计入您的100设备限制.
如何在iOS Provisioning Portal中重置iOS开发设备列表?
在新会员年度开始时,团队代理或管理员可以登录iOS Provsioning Portal以删除列出的设备,并将可用设备数量恢复为100台设备.在添加任何新设备之前,请务必删除不再用于开发的所有设备.