I looked rest of the code to check to look it was perfect, no missed by the followed the StoreKit tutorials by Apple Inc, and YouTube channel, too. I believed I was very closer to completed IAP! somehow, I noticed I got three codes to show the gray error that shows up after the app has frozen while it appeared sandbox account UIAlertController to purchase the products.
One Code Results:
Error: Enqueued from com.apple.main-thread (Thread 1)
func purchase(product: IAPProduct) {
				
				guard let productToPurchase = products.filter({
																												
						$0.productIdentifier == product.rawValue
						
				}).first else {
					
						return
						
				}
			 let payment = SKPayment(product: productToPurchase)
				/* Code Crashed
				paymentQueue.add(payment)
				*/
		}
I built UITableView to show an Episode with the Purchase version. The error was the same as the previous code.
		if indexPath.row == 3 {
												
				 /* code crashed
				 IAPService.shared.purchase(product: .epsiode4non_consumable)
				 */
		}
Now This is a final code that has shown one word by the error that says; "Thread" without mentioning any what is the issues.
extension IAPService: SKPaymentTransactionObserver {
		func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
				for transaction in transactions {
						
						print(transaction.transactionState.status(), transaction.payment.productIdentifier)
						
						switch transaction.transactionState {
						
						case .purchased:
								
							 SKPaymentQueue.default().finishTransaction(transaction)
							 SKPaymentQueue.default().remove(self)
								print("Successful Purchased!")
								queue.finishTransaction(transaction)
								
						case .failed:
								
								SKPaymentQueue.default().finishTransaction(transaction)
								SKPaymentQueue.default().remove(self)
								print("Purchase is Failed.")
								queue.finishTransaction(transaction)
								
						case .restored:
								
								SKPaymentQueue.default().finishTransaction(transaction)
								SKPaymentQueue.default().remove(self)
								print("Purchase Restore is Successful.")
								queue.finishTransaction(transaction)
								
						case .deferred:
								
								SKPaymentQueue.default().finishTransaction(transaction)
								SKPaymentQueue.default().remove(self)
								print("Purchase is Deferred.")
								queue.finishTransaction(transaction)
								
								
								/* code crashed
							 default: queue.finishTransaction(transaction)
								*/
						}
				}
		 }
	}
I have no idea what is thread stands for? Someone can give me some tips about Thread for IAP issues?
Post
Replies
Boosts
Views
Activity
I have a SF Symbol 2.0 Beta 1 app installed, it has show up Translate SF Symbol. However, I never been updated since SF Symbol 2 announced it.
However, I just noticed SF Symbol 2 was officially public released in the few months ago. So I updated it and translate has gone, even few of SF Symbol, too!
Did Apple removed those of new SF Symbols in SF Symbol 2 in public version?
It's could be nice if Apple add the Apple Cash, or Apple Cards in the Bank to earning the money from the App sales as much known IAP; In App Purchases.
Could Apple allow (non-Bank account) cards add in the App Connect Bank for earning the money in the card without Bank?
Thank you.