- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
此方法 appStoreReceiptURL 替代了 SKPaymentTransaction 上已弃用的 transactionReceipt 方法。每个人都说只使用这个调用:
NSURL *theURL = [[NSBundle mainBundle] appStoreReceiptURL];
如果有收据,这应该返回一个 url 到收据。但对我来说没有一个,因为这个值是零,据我所知它不应该是。我在 iOS 7 上运行并完成了一些应用内购买(设备上的沙盒)。现在我正在尝试添加另一个应用程序内购买,一个自动续订订阅,我需要深入研究收据以获取订阅到期日期。但我无法通过这个简单的步骤,因为该值始终为零。
有人知道为什么吗?
最佳答案
有点晚了,但可能对某人有用:
-(void) someMethod {
NSURL *receiptUrl = [[NSBundle mainBundle] appStoreReceiptURL];
if ([[NSFileManager defaultManager] fileExistsAtPath:[receiptUrl path]])
{
NSData *ios7ReceiptData = [NSData dataWithContentsOfURL:receiptUrl];
//Do stuff
} else {
NSLog(@"iOS 7 AppReceipt not found %@, refreshing...",iapID);
SKReceiptRefreshRequest *refreshReceiptRequest = [[SKReceiptRefreshRequest alloc] initWithReceiptProperties:@{}];
refreshReceiptRequest.delegate = self;
[refreshReceiptRequest start];
}
}
- (void)requestDidFinish:(SKRequest *)request {
if([request isKindOfClass:[SKReceiptRefreshRequest class]])
{
//SKReceiptRefreshRequest
NSURL *receiptUrl = [[NSBundle mainBundle] appStoreReceiptURL];
if ([[NSFileManager defaultManager] fileExistsAtPath:[receiptUrl path]]) {
NSLog(@"App Receipt exists");
//Do stuff
} else {
NSLog(@"Receipt request done but there is no receipt");
// This can happen if the user cancels the login screen for the store.
// If we get here it means there is no receipt and an attempt to get it failed because the user cancelled the login.
//[self trackFailedAttempt];
}
}
}
`
关于ios - mainBundle 上的 appStoreReceiptURL 总是返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20027322/
我在 iPad 上使用 Split View模板。 在我的 MasterViewController代码: NSBundle * bundle = [NSBundle mainBundle]; 有效。
这个问题在这里已经有了答案: modifying a plist is not working (3 个答案) 关闭 10 年前。
在一些流行的开源 swift 项目中。我注意到以下方法用于从主包加载文件。 @objc class TestClass: NSObject { } let bundle = NSBundle(forC
我正在尝试将几个图像文件从 MainBundle/SampleImages 文件夹复制到应用程序 NSDocumentDirectory/Library 文件夹,但无法执行此操作。我已检查图像是否位于
基本上问题正是标题所说的。 我的应用程序在模拟器上运行顺畅,没有任何崩溃。 事实上,以前的版本在应用商店。我在这里和那里做了一些小改动,突然它开始在一个非常奇怪的地方崩溃。 我用 [NSBundle
我刚刚重新安装了我的 mac 和 Xcode。然后[NSBundle mainBundle]由于某种我不知道的原因,总是返回 nil。 非常感谢你! 这是我的调试 Pane 的屏幕截图: 最佳答案 您
我正在使用 GLKit 使用 OpenGL ES 2.0 制作一个 iPhone 应用程序。我正在使用 GLKTextureLoader 加载纹理。当我的纹理位于 mainBundle 中时 - 一切
我想不出关于 pathForResource 是如何工作的任何韵律或原因……或者更恰本地说,不是。 我的应用程序中有一堆 nib,它们都在/Build Phases/Copy Bundle Resou
在我的代码中我想打开一个html文件,所以添加了下面这行代码: NSString* path = [[NSBundle mainBundle] pathForResource:@"cheese"ofT
我有一个正在运行的 iOS 项目,在 git 分支上工作时,该项目突然不会从主 Bundle 加载任何资源...我正在为一个简单的 AVAudioPlayer 加载一个音频文件: NSURL *url
问题:[NSBundle mainBundle] pathForResource 返回 null (0x0) 我看了很多关于这个主题的帖子,这是我发现的: 确保您尝试获取路径的文件在项目中。要检查,请
我不知道检索我的 iphone 应用程序 mainBundle 中资源的所有文件名所需的确切代码。如果我能有这样的代码: NSArray *array = [[NSBundle mainBundl
RootViewController *rvController = [[RootViewController alloc] initWithNibName:@"RootViewController"
这让我发疯,因为我无法弄清楚世界上到底发生了什么。我一直从主包加载文件,xml 文件,html 文件等。但是,现在我试图获取 javascript 文件的内容,但它永远找不到它。我正在使用: NSDa
我从未加载过 bundle ,所以我不确定为什么这不起作用。我认为这并不重要,但这里有问题的 .xib 与我所有其他 .xib 位于同一个资源文件夹中。 NSArray *array = [[NSBu
此时我的应用程序在设备中崩溃了, [[NSBundle mainBundle] pathForResource 我在这里给出了 pdf 的路径。但在执行时它显示它没有到达那里的路径。这可能是崩溃的原因
此方法 appStoreReceiptURL 是 SKPaymentTransaction 上已弃用的 transactionReceipt 方法的替代品。每个人都说只使用这个调用: NSURL *t
friend , 我在仪器中运行我的代码,它显示 5 行内存泄漏(在以下代码之外)即 cell = [[[NSBundle mainBundle] loadNibNamed:@"ZoomCustomV
我正在尝试从 infoDictionary 中检索一些 URL。 10 次中有 9 次,URL 被正确返回。然而,极少数情况下,URLs 会返回 nil。知道是什么导致了这种行为吗?当这种奇怪的行为发
我有以下代码: NSString *folderPath = [NSString stringWithFormat:@"%@/Objects/", [[NSBundle mainBundle] bun
我是一名优秀的程序员,十分优秀!