For now, grab the sample SpriteBuilder (w/Xcode) project here:
LINK
Quick screenshot:
Please see THIS forum thread for more information.
seeming to just hang upon presentation; no keyboard pop-up or input but I could cancel/close just fine.MFMailComposeViewController
REBOOT THE DEVICE!
Full disclosure: I also added a boolean flag so that the GKPeerStateConnected "state" will only fire once, regardless of "where" it came from.- (void)peerPickerController:(GKPeerPickerController *)picker didConnectPeer:(NSString *)thePeerID toSession:(GKSession *)theSession{self.session = theSession;self.session.delegate = self;self.peerID = thePeerID;[self.session setDataReceiveHandler:self withContext:NULL];[picker dismiss];picker.delegate = nil;float sysVersion = [[[UIDevice currentDevice] systemVersion] floatValue];if (sysVersion > 6.9) {if (!didConnect)[self session:self.session peer:self.peerID didChangeState:GKPeerStateConnected];}}
case GKPeerStateConnected:if (!didConnect) {didConnect = TRUE;NSLog(@"Peer %@ Connected", self.peerID);[self performSelector:@selector(promptForQty) withObject:self afterDelay:1.0];self.statusLabel.text = @"Connected";[self.launchShareButton setTitle:@"Stop" forState:UIControlStateNormal];[self.launchShareButton setTitle:@"Stop" forState:UIControlStateHighlighted];[self.connectingActivityIndicatorView stopAnimating];}break;
- (id)initWithTitle:(NSString *)title yoffset:(int)yoffset minValue:(int)minValue setValue:(int)setValue maxValue:(int)maxValue message:(NSString *)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle okButtonTitle:(NSString *)okButtonTitle image:(NSString*)imageName {self = [super init];if (!(self = [self initWithTitle:title message:message delegate:delegate cancelButtonTitle:cancelButtonTitle otherButtonTitles:okButtonTitle, nil])) return nil;CGFloat xCenter = kTTMaxContentFrameWidth * 0.5f;self.mySlider = [[UISlider alloc] initWithFrame:CGRectMake(xCenter-110, kSliderOffsetForY, 220, (kIsAniPad ? 48.0 : 36.0))];self.mySlider.minimumValue = (float)minValue;self.mySlider.maximumValue = (float)maxValue;self.mySlider.tag = 0;if (yoffset == -1) {self.mySlider.value = 0;}else {self.mySlider.value = (float)setValue;}self.mySlider.continuous = YES;[self.mySlider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];// Setup custom slider imagesUIImage *minImage = [UIImage imageNamed:@"leftSide.png"];UIImage *maxImage = [UIImage imageNamed:@"rightSide.png"];UIImage *thumbImage = [UIImage imageNamed:@"thumb.png"];UIImage *thumbPressedImage = [UIImage imageNamed:@"thumbpressed.png"];minImage=[minImage stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];maxImage=[maxImage stretchableImageWithLeftCapWidth:10.0 topCapHeight:0.0];// Setup the sliders[self.mySlider setMinimumTrackImage:minImage forState:UIControlStateNormal];[self.mySlider setMaximumTrackImage:maxImage forState:UIControlStateNormal];[self.mySlider setThumbImage:thumbImage forState:UIControlStateNormal];[self.mySlider setThumbImage:thumbPressedImage forState:UIControlStateHighlighted];[self.containerView addSubview: self.mySlider];if (minValue == maxValue) {self.mySlider.hidden = TRUE;}self.myLabel = [[UILabel alloc] initWithFrame:CGRectMake(xCenter-120, kLabelOffsetForY, 240, 22)]; //20self.myLabel.backgroundColor = [UIColor clearColor];self.myLabel.textColor = [UIColor blueColor];self.myLabel.font = kTTAlertSliderFont;self.myLabel.textAlignment = UITextAlignmentCenter;self.myLabel.text = [NSString stringWithFormat:@"Selected Amount: %i", (int)self.mySlider.value];if (yoffset == 23) {self.myLabel.text = [NSString stringWithFormat:@"Selected Amount: %i", (int)self.mySlider.value];}else {self.myLabel.text = [NSString stringWithFormat:@"Selected Amount: %i", setValue];}[self.containerView addSubview:self.myLabel];NSString *imagePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:[NSString stringWithFormat:@"Alert/%@", imageName]];CGRect iframe = CGRectMake(8.0, 12.0+yoffset, 156.0, 60.0);if (kIsAniPad)iframe = CGRectMake(12.0, 14.0+yoffset, 312.0, 120.0);self.myImageView = [[UIImageView alloc] initWithFrame:iframe];self.myImageView.image = [UIImage imageWithContentsOfFile:imagePath];[self.containerView addSubview:self.myImageView];return self;}- (void)alertView:(TTAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {pressedButton = buttonIndex;}
Invalid Signature - Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target.
So in summary: you can run both copies of Xcode on your Mac but if you need to submit to the store you may need to remove the beta and reinstall 4.0.2.Invalid Code Signing Entitlements - Your application bundle's signature contains ubiquity code signing entitlements that are not supported.Specifically, value "( xxxxxxxxxx.* )" for key "com.apple.developer.ubiquity-container-identifiers" in is not supported.