Post not yet marked as solved
A few customers are experiencing this :They make a purchase on a non consumable item.The purchase apparently process normalyThe device trigger a paymentQueue:updatedTransactions: in the observer, that we send to our server to register a pending transaction. The transaction is acknowledged (finishTransaction:)Then the device pick-up the application receipt and send it to our server for further processing.This receipt has no IAP in the array.Restoring purchase triggers again a new transaction, receipt is not updated eitherThe receipt eventually got updated, sometime a few minutes, hours or even 3 days later.We monitor this because customer contact our support. So we are able to manually activate the purchase, asking them to restore transaction some time later just for a checking purpose. So at some point we receive a valid application receipt to consolidate our server side purchase database.We have about ten years experience with IAP on iOS. Our Mac companion application launched a few months ago and most purchases process as they should.We suspected a payment issue. Recently a customer reported that the payment was dated on the day or purchase, while the receipt came 3 days later. So we have no clue beside some kind of inconsistency on Apple servers. So payement should not be involved.Related or not we logged some rare errors while validating receipt :Receipt: {"status":21199, "environment":"Production", "is_retryable":true, "exception":"com.apple.jingle.commercelogic.inappcache.MZInAppCacheAccessException"}There have been other thread about the application receipt not being updated. Mainly involving auto-renewable subscription. Before postin a bug report, I'd like to know if this is a known issue
Post not yet marked as solved
While upgrading my app to Watch series 4, I faced a bug in height rendering for the SK scene. I workaround it as described in this thread.In the process of observing carefully the rendering of the scene I noticed that the spritekit scene has now a frame width 2 points narrower than the screen. This is annoying if you setup an image to fit perfectly the content frame of the controller. It is now rescaled for 2 points which can lead to artefacts. By setting the skscene.scaleMode = SKSceneScaleModeResizeFill, one gan workaround the rescale and get the image cropped to lose 2 points (4 pixels) of the image.The controller.contentFrame displays correct full width valuethe skscene -calculateAccumulatedFrame displays correct full width valuethe skscene.frame is 2 point inset and narrower.Tested the same on simulator and device.I can't figure out if there is an invalling setting to create that inset or if this is a bug in WatchKit/SpriteKit integration.Interesting enough, but reverting to XCode 9/ iOS11, I observed that all frame are said to be equal to the full width BUT the image is in fact rescaled as well ! By toggling display of watch simulator upon original image the scaling is obvious, unless the scaleMode is set to resize as mentioned above.Tested only on simulator for XC9/iOS11;
I recently updated my application with embedded Watch app. Some users reported that the application does not install on their watch. Mine was ok. I had to completely remove iPhone application to reinstall it and reproduce the problem. iPhone is on 11.3 Watch on 4.3. One user report the problem while his iPhone is not yet upgraded to 11.3.My application have accented character in its name but it has been there for years.The tricky point is that the error message on the console gives no indication at all :11:45:55.331887 +0200
appconduitd
0x16bdcb000 -[ACXServerInstallOperation receivedDictionaryOrData:]: 591: Got error 17 in install done from remote side (MI error (null) ; Extended 0x0 ; Desc (null))
11:45:55.332599 +0200
appconduitd
0x16bdcb000 -[ACXServerInstallOperation receivedDictionaryOrData:]: com.iphigenie.3.10: Got install done
11:45:55.333436 +0200
appconduitd
0x16bdcb000 -[ACXServerInstallOperation _onQueue_callCompletion:]: Resetting socket because of error Error Domain=ACXErrorDomain Code=17 "Got error 17 in install done from remote side (MI error (null) ; Extended 0x0 ; Desc (null))" UserInfo={SourceFileLine=591, NSLocalizedDescription=Got error 17 in install done from remote side (MI error (null) ; Extended 0x0 ; Desc (null)), FunctionName=-[ACXServerInstallOperation receivedDictionaryOrData:]}
11:45:55.334420 +0200
appconduitd
0x16bcb3000 -[ACXInstallQueue _onQueue_deQueueNextOperation]_block_invoke_2: Failed to install app com.iphigenie.3.10.watchkitapp (p = N, ui = N) : Error Domain=ACXErrorDomain Code=17 "Got error 17 in install done from remote side (MI error (null) ; Extended 0x0 ; Desc (null))" UserInfo={SourceFileLine=591, NSLocalizedDescription=Got error 17 in install done from remote side (MI error (null) ; Extended 0x0 ; Desc (null)), FunctionName=-[ACXServerInstallOperation receivedDictionaryOrData:]}
11:45:55.337546 +0200
appconduitd
0x16bee3000 -[ACXCompanionSyncConnection _onQueue_processPendingGizmoState]_block_invoke_3: Failed to install app com.iphigenie.3.10.watchkitapp : Error Domain=ACXErrorDomain Code=17 "Got error 17 in install done from remote side (MI error (null) ; Extended 0x0 ; Desc (null))" UserInfo={SourceFileLine=591, NSLocalizedDescription=Got error 17 in install done from remote side (MI error (null) ; Extended 0x0 ; Desc (null)), FunctionName=-[ACXServerInstallOperation receivedDictionaryOrData:]}The error is on line 591 in the internal method, that's all we know. What could it be ?Edit: A user installed Xcode and looked at the iPhone console. He found the error with a signature issue:appconduitd 0x16bf73000 -[ACXInstallQueue _onQueue_deQueueNextOperation]_block_invoke_2: Failed to install app com.iphigenie.3.10.watchkitapp (p = N, ui = Y) : Error Domain=ACXErrorDomain Code=17 "Got error 17 in install done from remote side (MI error ApplicationVerificationFailed ; Extended 0xe8008017 ; Desc Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.LGdrVt/extracted/Payload/iPhiGéNie W.app : 0xe8008017 (A signed resource has been added, modified, or deleted.))" UserInfo={SourceFileLine=591, NSLocalizedDescription=Got error 17 in install done from remote side (MI error ApplicationVerificationFailed ; Extended 0xe8008017 ; Desc Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.LGdrVt/extracted/Payload/iPhiGéNie W.app : 0xe8008017 (A signed resource has been added, modified, or deleted.)), FunctionName=-[ACXServerInstallOperation receivedDictionaryOrData:]}So we have a "A signed resource has been added, modified, or deleted" clue. No Swift in the application. Maybe it is related to TestFlight ? This build was uploaded and testflight loaded before publication.
Post not yet marked as solved
This mornig, European time, I surprised myself hitting like a ***** on Safari's reload button, desesperatly trying to display the local Apple Store page to order an iPhone X. When it finally came up at T:08, delivevery date did already slip to 21-23 of November.So whatever effort you put in keeping your application up-to-date with latest devices, you'r still facing that some customers will have it running on X while you can't validate your work.There was a similar struggle when iWatch first came out, and then Apple give us a chance to get a device only a bit latter than the launch date. I don't see anything similar this time.Even if an application sells several hundreds of thousand $ / year on the store, developer still is nobody.
Post not yet marked as solved
This is a duplicate post because I have been unable to achieve the first one. When trying to add image links the post is put in moderator queue and cant be edited. Please see the sibling post on Stack Overflow. I'll try to add a link as a reply to this one.I'm facing a difficult situation using hitTest:options: in SceneKit on iOS 11.In a maping application I have a terrain node. Using hitTest:options: I was able for long to spot a point on the terrain from a touch on the screen. It still work as expected with released binary on iOS 11, and also on Xcode 9 compiled binary for iOS 10 simulator.But iOS 11 binary on iOS 11 SDK gives totaly eratic results. Return array from hitTest:options: may contain no result or too many. Moreover, most of the time none of the result is valid.All point returned are aligned in the correct "ray" from the camera through the touched point on the screen. But they are positioned at random (or what?) along the line. Sometimes one of the hit is on the terrain, but most of the time not.As it has been reported elsewhere the simulator 3D runtime is broken on XC9, so wa have to test on device. Now this problem is worse since no XC9 binary is working correctly on device.
I've been working hard, searching the internet on that problem for 3 days and I'm now running out of ressource. Currently porting an iOS app to MacOS (deployment 10.11). The problem:I have a view hierarchy as below:NSScrollview documentView grouping view tiling view one array of NSImageView (each one being a tile) tiling view two array of NSImageView (each one being a tile)The two tiling views are overlaying completely, depending of UI one may be hidden or the second one has opacity set below 1.0 to blend the two tiled view.Because of opacity requirement, as well as performance, views are CAlayer backed. This is done from IB where the to NSScrollview is checked for Core Animation. Thereoff, all the view tree is (implicitly) layer backed.Works as expected, scroll, magnify, etc.Then I need to make an image out of the document view to generate an SCNMaterial content (3D view). On iOS the documentView renderInContext works as expected, and allows an image to be created. On Appkit the context stay transparent, so is the image, a valid object while as if clearColor.If document view canDawSubviewsIntoLayers is set at creation, the view tree renders OK.This can't be the solution since it prevents opacity setting to work.Even when one tiling view is hidden (no opacity compositing) rendering fails.I read that some kinds of views are not rendered. I don't use them. There are no filters, no masks, beside a default masksToBounds setting on all the view tree. I don't know why and where it is set. I tried to unset it on all the views at creation with no success. It is set again somehow, on the grouping view below the documentView. This may be the problem but why this property is out of my control ?There are plenty of posts, mainly on SO, complaining about CALayer renderInContext and code to custom render a layer tree. Nevertheless, most are quite old and now there must be a simple standard way to achieve it.Alternative way to get view tree rendering, bitmapImageRepForCachingDisplayInRect + cacheDisplayInRect:toBitmapImageRep: works the same : OK with canDawSubviewsIntoLayers , KO otherwise. Apple code examples to make a texture out of a view are using either one of the two methods.Among other attempts, I tried to set each view wantsLayer, with no success.
Post not yet marked as solved
Hi,I'm currently developping a new Mac OS target built along the iOS one. When launching the Mac app from within Xcode, it crashes in within the 30 secondes. The crash log is not related to my application but to Xcode. When running my app stand-alone. It runs ok, no crash.The crash is on a very common mistake (invalid string range), and I can't figure why this bug is not widely reported.More intringuing is that there are time ranges (not always the same) where Xcode stops crashing. !?Here Below is the beginning of a crash log, if anyone has a clue.Process: Xcode [42747]
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 8.3.3 (12175.1)
Build Info: IDEFrameworks-12175001000000000~12
App Item ID: 497799835
App External ID: 822319371
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Xcode [42747]
User ID: 501
Date/Time: 2017-08-13 16:52:54.372 +0200
OS Version: Mac OS X 10.12.6 (16G29)
Report Version: 12
Anonymous UUID: F9270CC0-2D36-9A8E-EC2F-95106C92C413
Sleep/Wake UUID: E383A60D-2027-405E-B4F0-C32BD26C60F4
Time Awake Since Boot: 370000 seconds
Time Since Wake: 13000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Application Specific Information:
ProductBuildVersion: 8E3004b
UNCAUGHT EXCEPTION (NSRangeException): -[__NSCFConstantString substringWithRange:]: Range {0, 63} out of bounds; string length 0
UserInfo: (null)
Hints:
Backtrace:
0 __exceptionPreprocess (in CoreFoundation)
1 DVTFailureHintExceptionPreprocessor (in DVTFoundation)
2 objc_exception_throw (in libobjc.A.dylib)
3 +[NSException raise:format:] (in CoreFoundation)
4 -[__NSCFString substringWithRange:] (in CoreFoundation)
5 -[iCloudClientConnection processOutput] (in iCloudSupport)
6 __45-[iCloudClientConnection stream:handleEvent:]_block_invoke (in iCloudSupport)
7 DVTInvokeWithStrongOwnership (in DVTFoundation)
8 -[iCloudClientConnection stream:handleEvent:] (in iCloudSupport)
9 _signalEventSync (in CoreFoundation)
10 _cfstream_shared_signalEventSync (in CoreFoundation)
11 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ (in CoreFoundation)
12 __CFRunLoopDoSources0 (in CoreFoundation)
13 __CFRunLoopRun (in CoreFoundation)
14 CFRunLoopRunSpecific (in CoreFoundation)
15 RunCurrentEventLoopInMode (in HIToolbox)
16 ReceiveNextEventCommon (in HIToolbox)
17 _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox)
18 _DPSNextEvent (in AppKit)
19 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] (in AppKit)
20 -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in DVTKit)
21 -[NSApplication run] (in AppKit)
22 NSApplicationMain (in AppKit)
23 start (in libdyld.dylib)
abort() called
Application Specific Signatures:
NSRangeException
Application Specific Backtrace 1:
0 CoreFoundation 0x00007fffba99d2cb __exceptionPreprocess + 171
1 DVTFoundation 0x0000000107341aeb DVTFailureHintExceptionPreprocessor + 194
2 libobjc.A.dylib 0x00007fffcf7ae48d objc_exception_throw + 48
3 CoreFoundation 0x00007fffbaa1bc3d +[NSException raise:format:] + 205
4 CoreFoundation 0x00007fffba8eb37b -[__NSCFString substringWithRange:] + 171
5 iCloudSupport 0x0000000120a706a0 -[iCloudClientConnection processOutput] + 398
6 iCloudSupport 0x0000000120a70c2c __45-[iCloudClientConnection stream:handleEvent:]_block_invoke + 460
7 DVTFoundation 0x000000010726c39d DVTInvokeWithStrongOwnership + 75
8 iCloudSupport 0x0000000120a70a36 -[iCloudClientConnection stream:handleEvent:] + 124
9 CoreFoundation 0x00007fffba953d64 _signalEventSync + 228
10 CoreFoundation 0x00007fffba96fe8d _cfstream_shared_signalEventSync + 461
11 CoreFoundation 0x00007fffba933321 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
12 CoreFoundation 0x00007fffba91421d __CFRunLoopDoSources0 + 557
13 CoreFoundation 0x00007fffba913716 __CFRunLoopRun + 934
14 CoreFoundation 0x00007fffba913114 CFRunLoopRunSpecific + 420
15 HIToolbox 0x00007fffb9e74ebc RunCurrentEventLoopInMode + 240
16 HIToolbox 0x00007fffb9e74cf1 ReceiveNextEventCommon + 432
17 HIToolbox 0x00007fffb9e74b26 _BlockUntilNextEventMatchingListInModeWithFilter + 71
18 AppKit 0x00007fffb840da54 _DPSNextEvent + 1120
19 AppKit 0x00007fffb8b897ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796
20 DVTKit 0x00000001079052e4 -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 394
21 AppKit 0x00007fffb84023db -[NSApplication run] + 926
22 AppKit 0x00007fffb83cce0e NSApplicationMain + 1237
23 libdyld.dylib 0x000000010a9b9235 start + 1