too much security
> NSDate dateWithTimeIntervalSince1970:23510262*60
2014-09-13 13:42:00 +0000
> NSDate dateWithTimeIntervalSince1970:23510262*60
2014-09-13 13:42:00 +0000
I use Instacast to manage my NSScreencast and Sketchcasts video subscriptions. It's a convenient way to search the descriptions, watch the videos, and keep track of what I've already watched.
I wanted something similar for Apple's WWDC videos but couldn't find anything, so I put one up at http://camazotz.com/wwdc/index.xml. It's an Atom feed for the years 2010–2014.
Gist of Ruby code used to generate the feed here.
Jetsammed, really? Was jettisoned unavailable?
Yes, the Right Way is to define another build configuration for ad hoc builds, but I've always regretted making Xcode projects any more complicated than they already are. This works and the runtime cost is minimal.
Update: As of 09/16/15, the file embedded.mobileprovision
is still found in adhoc builds, but no longer seems to be present in TestFlight builds. Based on this, I'm also checking for an App Store receipt URL where the filename is sandboxReceipt
.
typedef NS_ENUM(NSUInteger, AppBuildType) {
AppBuildTypeDebug,
AppBuildTypeAdHoc,
AppBuildTypeAppStore,
};
[...]
@property (assign, readwrite, nonatomic) AppBuildType appBuildType;
[...]
#ifdef DEBUG
self.appBuildType = AppBuildTypeDebug;
#else
#ifdef RELEASE
NSString *embeddedProfilePath = [NSBundle.mainBundle pathForResource:@"embedded" ofType:@"mobileprovision"];
NSString *appStoreReceiptFilename = [NSBundle.mainBundle.appStoreReceiptURL lastPathComponent];
if ([NSFileManager.defaultManager fileExistsAtPath:embeddedProfilePath] ||
[appStoreReceiptFilename isEqualToString:@"sandboxReceipt"]) {
self.appBuildType = AppBuildTypeAdHoc;
}
else {
self.appBuildType = AppBuildTypeAppStore;
}
#else
#error Halt and catch fire.
#endif
#endif