2013-01-14 35 views
7

Tôi có một câu hỏi đơn giản, nhưng tôi đã xem qua tài liệu của Apple và thực hiện một số tìm kiếm và tôi không thể tìm thấy câu trả lời cho nó.ios: yêu cầu đăng ký chương trình Game Center theo chương trình?

Có thể lập trình chế độ xem đăng nhập của Game Center theo cách lập trình không? Tôi có số UIButton yêu cầu Trung tâm trò chơi và nếu khách hàng không đăng nhập khi ứng dụng được mở (iOS kéo màn hình đăng nhập khi khởi chạy), tôi muốn cung cấp cơ hội thứ hai để người dùng đăng nhập.

+1

Bạn đã thử sử dụng phương pháp authenticateHandler của GKLocalPlayer chưa? – san

Trả lời

3

tôi giả sử bạn đang gọi phương pháp này GKLocalPlayer trên mắt: -setAuthenticateHandler: (> = iOS7) hoặc -authenticateWithCompletionHandler: (< = iOS6)

Nếu người dùng hủy bỏ màn hình đăng nhập được trình bày, kêu gọi các phương pháp này một lần nữa không có gì, hay đúng hơn, trình xử lý hoàn thành được gọi với một lỗi. Sau đó, người dùng sẽ cần đăng nhập vào GameCenter thông qua ứng dụng GameCenter hoặc thông qua ứng dụng Cài đặt. (Trong khi thử nghiệm, bạn có thể đăng nhập thông qua ứng dụng GameCenter, sau đó đăng xuất. Sau đó màn hình có thể được hiển thị lại trong ứng dụng của riêng bạn.) Bạn có thể hiển thị UIAlertView yêu cầu người dùng đăng nhập thông qua ứng dụng GameCenter.

Ngoài ra, và tôi không biết nếu điều này được cho phép/phê duyệt, nhưng trong iOS7, authenticateHandler có thông số viewController giữ màn hình đăng nhập. Nếu bạn lưu trữ bộ điều khiển xem đăng nhập này trong một biến mẫu và người dùng hủy đăng nhập, bạn có thể hiển thị lại màn hình đăng nhập sau bằng cách sử dụng UINavigationController.

Nếu bạn cố gắng trình bày bộ điều khiển chế độ xem đăng nhập đã lưu với -presentViewController:animated:completion: nút Hủy của bộ điều khiển xem không còn hoạt động nữa, nhưng sử dụng nút UINavigationController ẩn nút Hủy và cho phép điều hướng quay lại bộ điều khiển chế độ xem của riêng bạn.

Bạn cũng sẽ cần ẩn màn hình đăng nhập theo cách thủ công sau khi người dùng đăng nhập bằng cách trả lời GKPlayerAuthenticationDidChangeNotificationName. Có vẻ như các nhà phát triển không có ý định làm điều này, vì vậy nó có thể không được chấp thuận, nhưng nó hoạt động!

+0

tuyệt vời, tôi chưa xem xét bất kỳ nội dung nào trong trung tâm trò chơi kể từ khi iOS7 được phát hành. Tôi sẽ xem xét đề xuất của bạn, cảm ơn Joseph – anders

Các vấn đề liên quan