我正在编写与StoreKit相关的代码,当我尝试将一个购买添加到队列时,我得到一些相当麻烦的错误代码.
到目前为止,我遇到过错误代码-1003和-1004,我在互联网上找不到关于这些代码的任何信息.
运行产品请求会返回有效的产品编号,因此我不知道为什么调用[[SKPaymentQueue defaultQueue] addPayment:aPayment];
会因此未记录的问题而失败.
相同的代码也可以在一个设备上没有错误但在另一个设备上没有错误.
到目前为止,我所提出的问题没有答案:
这些代码是什么意思?我该如何缓解这个问题?为什么他们发生购买尝试而不是产品请求?
我已完成的故障排除包括重新生成签名证书和配置文件,更改WiFi网络,清理和构建以及重新安装所有相关软件和组件,这些内容中没有一个单独或一起帮助解决问题.
编辑:
在Apple开发论坛上找到了关于此问题的讨论,但Apple没有人回复:https://devforums.apple.com/thread/107121? tstart = 75(要查看iOS开发人员帐户)
编辑:
今天我被错误代码-1001击中,添加到这个无法解释和间歇性问题的列表中.我仍然没有找到Apple的责任.
编辑:
我怀疑这些错误代码是随机生成的,实际上只表示Sandbox已关闭.其他人遇到这个问题?
我在评论中提到了这一点,但这似乎是一个值得回答的问题.
我有一个项目,它在三个不同的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.dylib
并libz.1.2.5.dylib
和我能安全地跨越Xcode和iOS SDK中的所有安装链接到第一张?
是否可以弃用整个协议?我正在使用iOS SDK 5.0 Beta 7附带的GCC编译器.
DEPRECATED_ATTRIBUTE
似乎不起作用.
例如,以下两个语句不编译.
@protocol DEPRECATED_ATTRIBUTE MyProtocol
@protocol MyProtocol DEPRECATED_ATTRIBUTE
当我选择Info.plist文件以便可以本地化App名称并尝试构建项目时,构建失败并显示错误,指出无法找到Info.plist文件.
如果我将Info.plist文件路径更改为PROJECTNAME/en.lproj/Info.plist
它build,但App的名称未本地化; 如果我在Portugues iPhone上运行它有英文名称.
为什么?
谢谢,
RL
我正在努力弄清楚以下日期的格式:
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'的所有组合,我能想到的.任何见解?
出于调试目的,我想在运行时以类似于App Store上的Console app(可在此处找到)的方式访问控制台打印输出.
我做了一些搜索文档,我找不到Apple提供的任何东西,但我觉得我错过了一些重要的东西.任何见解?
谢谢.
是否可以在控制台中设置这一点反馈的断点?这将使处理这个问题变得更加容易.
任何人都可以帮助揭开崩溃报告的神秘面纱吗?
没有异常名称或原因,并且回溯显示在包含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) 我有一个测试帐户,在其交易历史记录中只有两次购买.这两种产品都是非消耗品.
我在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坚持要成为应用内购买的收银机.
我正在尝试编写一个脚本,以便密切关注我正在运行的构建服务器的签名凭据.我几乎肯定我可以使用security(1)在bash脚本中完成此操作,但我找不到任何关于如何在给定的钥匙串中找到已安装身份的过期信息的示例(一切看起来都是加密的).
有没有人做过类似的事情,可以帮助我得到这些日期?
ios ×8
objective-c ×3
iphone ×2
storekit ×2
breakpoints ×1
cocoa-touch ×1
console ×1
debugging ×1
deprecated ×1
gcc ×1
libz ×1
linker ×1
localization ×1
macos ×1
protocols ×1
security ×1
subscription ×1
swift ×1
xcode ×1
xcode4.2 ×1