Stupid forum software cut off the first line from the log report.<CIContext: 0x600003c57100 (metal-DG 738) MTLDevice=0x10d019000> priority: default workingSpace: <CGColorSpace 0x600001a44720> (kCGColorSpaceICCBased; kCGColorSpaceModelRGB; Generic HDR Profile) workingFormat: RGBAh downsampleQuality: High max sizes, in{16384 x 16384} out{16384 x 16384}
Post
Replies
Boosts
Views
Activity
Hi Frank,Your point on tiling might well be spot on, while for this test I am not doing any tiling myself, I wonder if it's CoreImage's own tiling system is incompatible with the 2010 Mac Pro. I have no idea what resolution Core Image auto tiles or the size of the tiles. I wonder if I try manually tiling the image via a CIImageAccumulator (like I did for my complex filters) if that would help.I am not doing anything fancy with Core Image for this test, simply creating a CIImage from a CGImage, applying the CILinearToneCurveTosRGB and then getting the pixel data back via [CIContext render:toBitmap:rowBytes:bounds:format:colorSpace:] I have also tried creating a CIContext from a CGBitmapContext and drawing the CIImage into the CIContext (so I can get at the RAW pixels), but that yields the same result, 1 row of pixels and the rest is black.I am amazed that this customer has the patience to persist with me, while I been trying a great many things, but no luck in solving it for them (doesn't help that I am not able to reproduce it here).These kind of issues with Core Image are simply driving me nuts.
> The strangest thing is that one row of pixels is there...Agreed> Are you sure rowBytes and the other properties are computed correctly?I am pretty certain ( although never 100% ), the numbers seem right and it works on the two machines I have to hand that run the same OS version as the customer, with the customers images. It works for the customer when using images just shy of 8192 in width.> Also, if you just want to achieve linear -> sRGB, you don't need any CIFilter. Just use the sRGB color space when rendering the image. Core Image will perform the conversion automatically.It's my understanding that this only changes the color profile, for this step I'm doing a tone curve adjustment. I can get close by using pow(), but I don't know the exact ratios, I also want to try to avoid changing the look of images unless I am left with zero choice.If I knew what the exact tone curve adjustments are, I would drop Core Image for this process in a heartbeat, I have everyhing else working in C++ code and using GCD, there is very little perceived performance penalty (at the moment).
Thanks Frank,I'll have a play with it as soon as I can get back into working on this project.Any ideas (apart from Tiling) for what I can try if this doesn't solve the problem? I am thinking that there's potentially something wrong with the install of macOS 10.14.6 on this customers machine and that his GPU driver is borked.However I am very hesitant to ask the customer to re-install his OS, incase it's not or for it to cause the customer more problems. Which is why for this function, I've been gradually replacing the Core Image with C++ via GCD, the conversion to the sRGB Tone Curve is the last function that I have to convert.
Tried it again today and it's working now.
I've now obliterated the SSD & performed a clean installed macOS 10.15.4. Reset NVRAM & PRAM.The problem continues to occur on a clean factory default setup.Just to be sure, I've also tested it on a different network and no change.I suspect now that I have a dud MacBook Pro.
Thanks for responding to my post.In my SKPaymentTransactionObserver delegate,I receive the event "paymentQueue:updatedTransactions:".I process the array of transactions and read their status.If it encounters the status "purchased", I then unlock the application.I call transactionFinished for everything but "purchasing" and "deffered" transactions.On t'other two machines.After calling paymentWithProduct on the defaultQueue, the second dialog asks me if I want to extend the subscription. Click "OK".On quitting and relaunching the application, the app reads the new item from the receipt and carries on.On this 16" MacBook Pro.After calling paymentWithProduct on the defaultQueue, the second dialog tells me that I've already purchased this item and it will be restored for free. Click "OK".Moments after calling "finishTransaction", I get asked to login, it's auto populated the account e-mail, so I enter the password and click Login. The dialog goes away, only to re-appear shortly after. The most # of times I tried this was 30, before clicking on Cancel.On quitting and relauching the application, there's no new item in the receipt, so the application reverts back to it's "Subscription Expired" state. Once again asking the user to Renew their subscription.Now one time on Sunday night (after clearing all the App Store caches I could find), the 16" MacBook Pro did *almost* work correctly, I got the dialog asking if I wanted to extend the subscription. Clicked "OK" and still got stuck in the Log-in loop, but on cancelling the loop, the new transaction was written to to the receipt.In both cases the "paymentQueue:removedTransactions:" event fires with the transaction.I hope that this all makes sense. I have several concerns.1. Why does this only happen for this one machine out of three (same account) even same OS?2. Does this mean that this 16" MacBook Pro is somehow faulty, I have until the 18th of April to swap it for another one?3. If this happened to me, I must assume it can happen to a customer, so I need to prepare for it somehow and hopefully offer a suggestion to the user to help resolve it.
When developing for Auto-Renewal; this was a common problem that I ran into. I wouldn't always receive all 6 transactions. More often I'd receive just the first one, then nothing else. Sometimes it would 3 or 4.In the end I re-wrote my whole system with the aim of capturing enough information to try to determine if this was my problem or Apple's. I stored the date and time of the last unexpected restored transaction, (you know when the user has tried a restoredCompletedPurchases as you request that, so when you get a restoredTransaction that wasn't trigger by this, then it's highly likely it's a Auto-Renewal).I then displayed a screen to the user, showing this information and when the receipt was last updated. I then offered the user a series of numbered options.1. Restore Purchases.2. Refresh Recipt.3. Manually Renew.4. Contact us.When the user clicked on Contact Us, it provided all this information and a human readable version of IAP transactions in the receipt, also what steps the user had tried to get this to work. I used a mailto: url, which would then create an e-mail in the users prefered e-mail client, allowing the user see exactly what information is being shared with us.I never got to see how this performed in the real world as Apple rejected my usage of Auto-Renwal and told me I need to make it non-Renewal Subscriptions, to which I'm currently stuck as on a brand new 16" MacBook Pro I can't renew a subscription.> When exactly should the renewal transaction arrive on the SKPaymentQueue?I found when it works, the only time I received a transaction was on application launch. But it can take several minutes to proogate.Hope that this helps.
Not that I can help you with this, except to say that there's others reporting the same issue, just using non-Apple channels to do so.Check out https://twitter.com/stroughtonsmith
I am having a similar problem with finishTransaction, but only on a brand new 16" MacBook Pro. I've now tested it on 3 other machines and it works on those. I am awaiting a response from Apple's DTS.In my case, the 16" MacBook Pro is returning an existing transaction to the queueUpdated event, the other machines are return new transactions.Are you using a 16" MacBook Pro?Below is a link to my thread.https://forums.developer.apple.com/thread/131110
Further information:I have now tested this on a 2009 17" MacBook Pro running macOS 10.11.6, this fault doesn't occur there either.I have added a non-consumable IAP item and was able to purchase this item on the 16" MacBook Pro without a problem. The IAP item that I'm having problems with is a non-renewing subscription.In a final test, I tried to repurchase the non-consumable item again. As expected it offered to restore the item for FREE, then it got stuck in the log-in loop.Attempting to re-purchase the non-consumable item on the other machines, works as expected.Another thing that I've noticed, is that IAP transactions or at least the display of dialogs are much slower on the 16" MacBook Pro than other machines. Running speedtest.net in a browser, shows that download speed is 4x times faster than a 2012 MacBook Pro, while upload speed is about the same, the speedtest.net upload indicator would hesitate for a few seconds, while the other machines would continue to animate. I realize that this is not an actual indicator of an issue with the MacBook as it could be a lot of things.I now beleive this problem is actually two issues.1. Trying to extend a non-renewing subscription (on the 16" MacBook Pro), returns an existing IAP transaction instead of a new one.2. Trying to call finishTransaction on an SKPaymentTransaction that is being purchased a subsequent time, sends the machine into a log-in loop.
For me personally, the problems only started when I received this 16" MacBook Pro running macOS 10.15.4 on April the 4th. I spent the entire weekend trying various things to resolve it myself (see above).The problem doesn't occur on the following machines.* 2015 12" MacBook running macOS 10.15.4.* 2012 15" MacBook Pro running macOS 10.14.6.* 2009 17" MacBook Pro running macOS 10.11.6.For one of the tests, I added a new non-consumable product and attempted to purchase it on the 16". The first time worked, the second time it got stuck in the endless loop. Again performing the same test on t'other 3 machines works.Feedback report: FB7657917DTS case # 101060342886As it's a brand new machine I also have an AppleCare case # 101060171758
This is Apple's sample code for IAP.https://developer.apple.com/documentation/storekit/in-app_purchase/offering_completing_and_restoring_in-app_purchases?language=objc
I've been facing a similar problem, whereby when I call finishTransaction it sends my app into an endless log-in loop, but only on a brand new 16" MacBook Pro running macOS 10.15.4. I also cannot extend a non-rewable subscription on this machine, while other machines do not exhibit this behavior, including one which is also running macOS 10.15.4.I have spent over a week trying to debug this issue, working with Apple's DTS & Customer Support (because this 16" MBP arrived on the 4th of April). The last message I received from DTS indicates that they think this may be a hardware issue with the machine.I see many others who're having similar issues, I can't help but wonder if this problem is either at their server or maybe with the last few OS updates, or maybe even both.I hope that this gets resolved shortly, if our customers encounter these problems, they'll instantly blame us developers, and we'll lose business over this.
Update.1. I have created and tested with a new testing account [no change].2. 2015 12" MacBook running macOS 10.15.4 continues to extend non-renewing subscriptions, but has now started showing the endless log-in loop when calling finishTransaction.3. 2020 16" MacBook Pro will still not extend an non-renewing subscription (returns an existing item) and continues to show endless log-in loop after calling finishTransaction.4. When the endless log-in loop in going, it does not display the application icon, meanwhile the first request to log-in does.5. 2012 15" MacBook Pro with macOS 10.14.6 extends the non-renewing subscription and DOES NOT fall into the endless log-in loop after calling finishTransaction.I now believe that the endless log-in loop is an issue in the macOS, especially as it's started occurring on a second machine running 10.15.4. Because the log-in loop doesn't appear to actually affect purchases, and looking in this forums, appears quite wide spread, I do not consider it a major issue. However the problem that's preventing purchases from occurring is still present and that IMHO is a major issue.Problem:Attempting to extend a non-renewing subscription fails on this brand new 16" MacBook Pro running macOS 10.15.4What should happen:The user should be asked to extend the non-renewing subscription, and a new item is then issued through the App Store IAP API.What actually happens:The user is informed that the item has already been purchased and it will be restored for FREE. An existing item is then issued through the App Store IAP API.Reproduction steps:1. Download the sample code from https://developer.apple.com/documentation/storekit/in-app_purchase/offering_completing_and_restoring_in-app_purchases?language=objc2. Make sure you have an IAP item configured in App Store connect, that is a non-renewing subscription.3. Add your product identifier to the project and the IAP item identifiers to the productIDs.plist file.4. Run the project and purchase the non-renewable subscription.5. Attempt to purchase the non-renewing subscription a second time, if you are told that you've already purchased this item and it will be restored for FREE, this is the show stopping issue with this 16" MacBook Pro.