2011-02-08 24 views
5

Tôi đã thiết lập mua hàng trong ứng dụng để khi người dùng nhấp vào nút mua, chế độ xem "Vui lòng đợi" xuất hiện và thêm thanh toán vào hàng thanh toán. Điều này luôn luôn gây ra một cuộc gọi lại ngay lập tức của người quan sát hàng đợi nói rằng giao dịch đã nhập trạng thái "Mua".SKPaymentTransactionObserver không nhận được cuộc gọi lại trên công tắc ứng dụng

Sự cố của tôi xảy ra khi người dùng quay lại màn hình chính trước khi hộp thoại xác nhận để mua bật lên, sau đó hủy. Nếu tôi chờ đợi trên màn hình chính một thời gian trước khi chuyển trở lại ứng dụng, ứng dụng sẽ không bao giờ nhận bất kỳ cuộc gọi lại nào về trạng thái chuyển đổi giao dịch hoặc bị xóa. Nếu tôi kiểm tra hàng đợi thanh toán, tôi có thể thấy rằng giao dịch vẫn còn trong hàng đợi, vẫn ở trạng thái "Mua hàng". Có bất cứ điều gì tôi có thể làm để làm cho nó gọi lại và loại bỏ nó khỏi hàng đợi sau khi nối lại ứng dụng?

+0

có cùng sự cố ... bạn có tìm cách giải quyết nó không? – nico

Trả lời

5

Nếu tôi hiểu tình hình của bạn một cách chính xác, bạn đã gặp phải vấn đề này:

In App Purchase user cancels tx while app in background: tx state stays on purchasing

này dường như là một lỗi trong bộ Store của Apple. Sự cố có thể dễ dàng được sao chép nếu bạn gửi ứng dụng của mình sang nền sau khi bắt đầu mua hàng và sau đó nhấn nút hủy khi cửa sổ bật lên xác nhận mua được nhắc. Ứng dụng của bạn sẽ không bao giờ nhận được thông báo giao dịch thất bại (bị hủy) và sẽ nhập trạng thái bị chặn (nếu bạn tắt giao diện người dùng đang cố gắng ngăn người dùng tương tác với ứng dụng cho đến khi giao dịch mua kết thúc).

Chúng tôi phải đợi bản sửa lỗi từ Apple. Trong thời gian chờ đợi, nếu ứng dụng của bạn đang nhập trạng thái bị chặn vì bạn tắt giao diện người dùng trong khi mua hàng; bạn nên thực hiện một số cơ chế để cho phép người dùng rời khỏi trạng thái đó.

Chúc may mắn!

+0

Vâng, cảm ơn. Ít nhất tôi không phải là người duy nhất. –

0

Tôi có cùng một vấn đề, tuy nhiên, tôi chỉ quản lý để tạo lại nó khi sử dụng tài khoản appbox sandbox.

Có ai đã quản lý để tạo lại bằng tài khoản táo thực không?

Tôi chưa thử điều này, nhưng tôi đang suy nghĩ về việc xóa SKPaymentTransactionObserver của mình tại thời điểm ứng dụng mất tiêu điểm và thêm lại lần nữa khi ứng dụng tiếp theo hoạt động.

Điều kỳ lạ về lỗi này là bạn gặp khó khăn với giao dịch trong trạng thái mua, tuy nhiên khi bạn tắt ứng dụng và khởi động lại đúng cách, bạn sẽ mong đợi giao dịch đó ở trạng thái mua vẫn còn đó, tuy nhiên nó không phải là ... Như thể việc thêm lại SKPaymentTransactionObserver đã kích hoạt nó để đánh giá đúng trạng thái của nó.

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