小编Hyp*_*ole的帖子

使用StoreKit的未记录的NSURLErrorDomain错误代码(-1001,-1003和-1004)

我正在编写与StoreKit相关的代码,当我尝试将一个购买添加到队列时,我得到一些相当麻烦的错误代码.

到目前为止,我遇到过错误代码-1003和-1004,我在互联网上找不到关于这些代码的任何信息.

运行产品请求会返回有效的产品编号,因此我不知道为什么调用[[SKPaymentQueue defaultQueue] addPayment:aPayment];会因此未记录的问题而失败.

相同的代码也可以在一个设备上没有错误但在另一个设备上没有错误.

到目前为止,我所提出的问题没有答案:

这些代码是什么意思?我该如何缓解这个问题?为什么他们发生购买尝试而不是产品请求?

我已完成的故障排除包括重新生成签名证书和配置文件,更改WiFi网络,清理和构建以及重新安装所有相关软件和组件,这些内容中没有一个单独或一起帮助解决问题.

编辑:

在Apple开发论坛上找到了关于此问题的讨论,但Apple没有人回复:https://devforums.apple.com/thread/107121? tstart = 75(要查看iOS开发人员帐户)

编辑:

今天我被错误代码-1001击中,添加到这个无法解释和间歇性问题的列表中.我仍然没有找到Apple的责任.

编辑:

我怀疑这些错误代码是随机生成的,实际上只表示Sandbox已关闭.其他人遇到这个问题?

storekit ios nsurlerrordomain

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

libz.dylib与libz.1.2.3.dylib对比libz.1.2.5.dylib

我在评论中提到了这一点,但这似乎是一个值得回答的问题.

我有一个项目,它在三个不同的XCode安装和两个不同的iOS SDK安装之间共享.目前,统一所涉及的开发人员不是一种选择.

当我安装iOS 5 Beta和XCode 4.2 libz.1.2.3.dylib时无处可寻.我发现链接反对libz.1.2.5.dylib处理了这个,但这与XCode和iOS SDK的其他活动安装不兼容.

我在网上研究了这个,并发现了上述建议和这个建议.前者不适合我,后者让我感到紧张.

那么,有什么之间的区别libz.dylib,libz.1.2.3.dyliblibz.1.2.5.dylib和我能安全地跨越Xcode和iOS SDK中的所有安装链接到第一张?

xcode linker libz ios xcode4.2

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

如何弃用整个协议?

是否可以弃用整个协议?我正在使用iOS SDK 5.0 Beta 7附带的GCC编译器.

DEPRECATED_ATTRIBUTE 似乎不起作用.

例如,以下两个语句不编译.

  • @protocol DEPRECATED_ATTRIBUTE MyProtocol
  • @protocol MyProtocol DEPRECATED_ATTRIBUTE

gcc protocols objective-c deprecated

30
推荐指数
1
解决办法
6622
查看次数

在Xcode 4中本地化iPhone App名称

当我选择Info.plist文件以便可以本地化App名称并尝试构建项目时,构建失败并显示错误,指出无法找到Info.plist文件.

如果我将Info.plist文件路径更改为PROJECTNAME/en.lproj/Info.plist它build,但App的名称未本地化; 如果我在Portugues iPhone上运行它有英文名称.

为什么?

谢谢,

RL

iphone localization

25
推荐指数
1
解决办法
9002
查看次数

自动续订订阅收据日期格式

我正在努力弄清楚以下日期的格式:

2011-05-24 19:02:32 Etc/GMT

此日期从Apple的收据验证服务返回,我需要将其转换为NSDate进行一些比较操作.真正的麻烦与时区有关.

这是我已经写过的一些代码:

        NSDictionary *receiptData = [info valueForKey:@"expires_date"];

        NSDateFormatter *f = [[NSDateFormatter alloc] init];

        [f setLocale:[NSLocale currentLocale]];
        [f setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
        [f setDateFormat:@"yyyy-MM-dd HH:mm:ss vvvv"];

        NSLog(@"%@", [f stringFromDate:[NSDate date]]);

        NSDate *subPurchaseDate = [f dateFromString:[receiptData valueForKey:@"original_purchase_date"]];

        [f release];
Run Code Online (Sandbox Code Playgroud)

我已经尝试过'v'和'Z'的所有组合,我能想到的.任何见解?

iphone objective-c subscription nsdateformatter ios

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

如何在应用程序中在运行时获取控制台读数?

出于调试目的,我想在运行时以类似于App Store上的Console app(可在此处找到)的方式访问控制台打印输出.

我做了一些搜索文档,我找不到Apple提供的任何东西,但我觉得我错过了一些重要的东西.任何见解?

谢谢.

console objective-c ios

12
推荐指数
1
解决办法
9256
查看次数

打破无法识别的选择器

是否可以在控制台中设置这一点反馈的断点?这将使处理这个问题变得更加容易.

debugging cocoa-touch breakpoints ios unrecognized-selector

11
推荐指数
1
解决办法
3319
查看次数

崩溃报告指示第0行崩溃?

任何人都可以帮助揭开崩溃报告的神秘面纱吗?

没有异常名称或原因,并且回溯显示在包含init崩溃方法的文件的第0行发生崩溃. 什么?

Incident Identifier: TODO
CrashReporter Key:   TODO
Hardware Model:      iPhone7,2
Process:         AppName [1112]
Path:            /private/var/mobile/Containers/Bundle/Application/2632C5D7-6A07-4002-A27B-D547E9A7345C/AppName.app/AppName
Identifier:      com.app.name
Version:         67
Code Type:       ARM-64
Parent Process:  launchd [1]

Date/Time:       2015-06-26 18:20:18 +0000
OS Version:      iPhone OS 8.3 (12F70)
Report Version:  104

Exception Type:  SIGTRAP
Exception Codes: TRAP_BRKPT at 0x10008c370
Crashed Thread:  0

Application Specific Information:
*** Terminating app due to uncaught exception '', reason: ''
Run Code Online (Sandbox Code Playgroud)

第一对象征着崩溃线程的行:

0    AppName 0x000000010008c370 init (article, $metatype) (ArticleImageProvider.swift:0)
1    AppName 0x000000010006b0c4 shareArticleActivityViewController (article, …
Run Code Online (Sandbox Code Playgroud)

crash-reports ios swift

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

如何恢复丢失的SKPaymentTransactions?

我有一个测试帐户,在其交易历史记录中只有两次购买.这两种产品都是非消耗品.

我在iPad 1上登录并购买了产品A.

然后我退出iPad 1并登录iPad 2并购买了产品B.

然后我尝试使用[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];在iPad 2上解锁产品A 来恢复以前的交易.

当呼叫回来时,只有产品B在可恢复交易列表中.

此外,当我尝试在iPad 2上再次购买产品A.

SKPayment *payment = [SKPayment paymentWithProduct:productA];
[[SKPaymentQueue defaultQueue] addPayment:payment];
Run Code Online (Sandbox Code Playgroud)

我得到一个弹出窗口说'你已经购买了它.点按"确定"即可免费下载.

如果我已经购买了产品A,当我尝试恢复之前的购买时,为什么它不在产品列表中?为什么我必须让用户再次尝试购买?

编辑:
我发现无论我使用哪种iPad(iPad 1或iPad 2)都没关系,只有产品B出现在可恢复交易列表中,而产品A需要重新购买.

编辑:
我将产品请求,恢复和购买工作外推到自己的项目中,使用与原始相同的捆绑包ID和产品ID.

现在,可恢复交易列表中没有任何内容,但是当我尝试购买任一产品时,会出现相同的弹出窗口.

用破碎的Apple工具再次沿着兔子洞走下去.

编辑:
这次调查的灵感来自用户对丢失权利的一系列投诉.当用户从iPad 2切换到新的iPad 3时,这在很大程度上开始成为一个问题.这在我的所有用户中并不一致,但是他们中的很多人已经提出了将其作为优先事项的恶臭,并且Apple客户支持已经将它们发回给我,但我不确定这是我可以解决的问题特别是因为Apple坚持要成为应用内购买的收银机.

storekit ios

9
推荐指数
1
解决办法
2497
查看次数

如何检索证书的到期日期?

我正在尝试编写一个脚本,以便密切关注我正在运行的构建服务器的签名凭据.我几乎肯定我可以使用security(1)在bash脚本中完成此操作,但我找不到任何关于如何在给定的钥匙串中找到已安装身份的过期信息的示例(一切看起来都是加密的).

有没有人做过类似的事情,可以帮助我得到这些日期?

security macos ios

3
推荐指数
1
解决办法
1822
查看次数