- (BOOL)isProbablyAppStoreBuild {
#if TARGET_IPHONE_SIMULATOR
return NO;
#else
// BugshotKit by Marco Arment https://github.com/marcoarment/BugshotKit/
// Adapted from https://github.com/blindsightcorp/BSMobileProvision
NSString *binaryMobileProvision = [NSString stringWithContentsOfFile:[NSBundle.mainBundle pathForResource:@"embedded" ofType:@"mobileprovision"] encoding:NSISOLatin1StringEncoding error:NULL];
if (!binaryMobileProvision) {
return YES; // no provision
}
NSScanner *scanner = [NSScanner scannerWithString:binaryMobileProvision];
NSString *plistString;
if (![scanner scanUpToString:@"<plist" intoString:nil] || ! [scanner scanUpToString:@"</plist>" intoString:&plistString]) {
return YES; // no XML plist found in provision
}
plistString = [plistString stringByAppendingString:@"</plist>"];
NSData *plistdata_latin1 = [plistString dataUsingEncoding:NSISOLatin1StringEncoding];
NSError *error = nil;
NSDictionary *mobileProvision = [NSPropertyListSerialization propertyListWithData:plistdata_latin1 options:NSPropertyListImmutable format:NULL error:&error];
if (error) {
return YES; // unknown plist format
}
if (!mobileProvision || ! mobileProvision.count) {
return YES; // no entitlements
}
if (mobileProvision[@"ProvisionsAllDevices"]) {
return NO; // enterprise provisioning
}
if (mobileProvision[@"ProvisionedDevices"] && [mobileProvision[@"ProvisionedDevices"] count]) {
return NO; // development or ad-hoc
}
return YES; // expected development/enterprise/ad-hoc entitlements not found
#endif
}
判断是否是appstore版本的应用
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 成长记录-连载(三十六) ——我的第一篇五千字长文,说了什么,你一定想不到 并不是不想每天写公众号,而是之前思考怎...
- R•阅读原文片段 《接受不完美的勇气》 如果父母反对你的婚事,你该怎么办?许多人由于“不想伤了父母的心”,而陷入“...
- 讀《王陽明全集》之《傳習錄》的讀書筆記 今天讀到徐愛問道於先生,《大學》中的『止於至善』,徐愛說朱子等先儒認為事事...