Posts

Post marked as solved
5 Replies
1.2k Views
I submitted a new App yesterday and included a video preview file for several size devices (6.7, and a copy of 6.7 for 6.5, 5.5 and 12.9). The iPhone files each took 5-10 minutes of processing (where the file icon shows a cloud image) but each eventually worked. The iPad file uploaded fine, but now 18 hours later is still showing a cloud icon. All these uploaded files are about the same size at about 40M. The AppStore will not allow me to submit the App for review due to: Preview File Still Processing! What is my recourse?
Posted Last updated
.
Post not yet marked as solved
0 Replies
188 Views
I have a 600 item Collection view for which I implemented a quick access section Index. The implementation uses the usual: indexTitles(for collectionView) and CollectionView(indexPathForIndexTitle: title: at:) All is well, except that the collection titles are in a foreign language (latinized Coptic) and 3 of the 25 title glyphs are not in the SystemFont, so the index is drawn with these titles as question marks in boxes. The problem glyphs are "Ꜣ"(unicode A722), "꟣"(A7E3), and "Ꜥ"(A725) I drilled down on the subviews of the CollectionView and found I could access the index using: let subviews = myCollectionView.subviews if let indexView = subviews.first(where: {String(describing: type(of: $0))=="UIIndexBarAccessoryView"}) { print(indexView) } Examining the contents of this UIIndexBarAccessoryView (which seems to be Private), it contains a _visualStyle property object which holds a _font. How can I "legally" change the font for the indexBarAccessory to one that has the required glyphs? The rest of the App requires the local language to be English(US)
Posted Last updated
.
Post not yet marked as solved
3 Replies
399 Views
I have an app where I just created a new, working viewController in a separate project. I copy/pasted the code and xibs (several subviews) into the new project. All compiles fine. Relevant code: `let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) //let nextViewController = storyBoard.instantiateViewController(withIdentifier: "NewManualGlyphVC") as! NewManualPickGlyphViewController //old Selector let nextViewController = storyBoard.instantiateViewController(withIdentifier: "GlyphSelectVC") as! GlyphSelectViewController //new Selector self.navigationController?.pushViewController(nextViewController, animated: true) ` The commented out line was the vector to the old, working VC. The new code crashes inside the push. the new nextViewController is fine, the Xcode quick view shows the expected view, and the navController is also just fine. The reported error is: `myApp[42661:963870] -[NSNull set]: unrecognized selector sent to instance 0x7ff86599bc30 ` Environment is Xcode 14.3.1 compiled to ios13, target device iOS 16. Any thoughts? Thanks!!
Posted Last updated
.
Post not yet marked as solved
3 Replies
1.4k Views
I have an older App using SpriteKit and have updated to Xcode 14.3. Compilation and linking is ok. App never gets to my code but crashes in AppDelegate with: Metal API Validation Enabled -[MTLDebugDevice newLibraryWithURL:error:]:2250: failed assertion `url must not be nil.' I do not anywhere explicitly init() or call Metal. Using LLDB at the point of crash, I tried to peek into the App Bundle but po Bundle.main.paths(forResourcesOfType: "URL", inDirectory: "nil") 0 elements likewise: po Bundle.main.paths(forResourcesOfType: "*", inDirectory: "nil") 0 elements I suspect a build script or preformed bundle.main got screwed up, but I do not know how to investigate. I should that this seems to be isolated to one MacBook Pro, compiles and runs fine on an iMac! Any thoughts?
Posted Last updated
.
Post not yet marked as solved
0 Replies
519 Views
I am working on a simple SpriteKit App which has a sprite based game which I would like to superimpose on a complex UIImageView ( > 100 subviews) and which I will need to access during game play (ie change alpha of subviews and other animations) I have tried to get this effect a number of ways but none work. First I tried to make the background a Node filled with substrates, but the subsprites do not position correctly. The most promising approach so far is to combine the views of the main ViewController and the Scene: √ 1) Desired background UIImageView ("bg") is placed in view of main ViewController and draw into it √ 2) Create a Protocol with delegate methods that can be called from the game's GameScene.swift √ 3) Create Scene in main VC in the usual way. Set the scene background color to .Clear √ 4) in GameScene.swift set up the reference to the protocol delegate √ 5) prove I have access to the bg image from didMove(to view: SKView) by changing alpha or background color. Delegate access from didBegin(contact) also works The problem is: that my bg imageView is drawn IN FRONT OF my game scene and I can not figure out how to change the draw order. The game scene is not in the subviews array of the mainVC, and the bg image view is not in the subViews of the game scene view. Without common references, I do not see how to modify the view hierarchy. Does anyone have a way to draw the bg image behind the mostly transparent game scene?
Posted Last updated
.
Post not yet marked as solved
0 Replies
1k Views
I've built an iOS App which looks at statistical models of the rate of change of an App's Ratings and Review Counts activity. I use the standard query form of: let prefix = "https://itunes.apple.com/\(countryCode!)/lookup?id=" let postfix = "&entity=software,iPadSoftware" let result = prefix + "\(devID)" + postfix // URL path This query results in a JSON object list of all current Apps by the the developer (with ID = devID). The results have iOS, iPadOS, WatchOS, TVOS, and MacOS apps with all the expected data, except the review counts and ratings are always Zero for MacOS apps. I have tried playing with a dozen permutations of <macOS, Mac, MacSoftware, etc> as a query entity. All of those permutation yield zero results. I know about using AppStoreConnect with Authorization tokens, but I prefer to use public domain data provided by Apple rather than the proprietary route. Has anyone been successful in grabbing macOS App average ratings and counts? What is the secret sauce?
Posted Last updated
.
Post not yet marked as solved
3 Replies
3.7k Views
Trying to use the UI version of Create ML in a MacOS Playground. Import always fails. It is no longer available? If it is available in the development system, why is it such a travail to use?
Posted Last updated
.
Post not yet marked as solved
0 Replies
659 Views
I am building a SpriteKit based Interface Controller for a Watch page. The page has just a SpriteKite Scene embedded with interface builder. The scene renders and animates just fine. The hierarchy is: App access An InterfaceController (One of many) SpriteKit Scene "brScene.sks" Graphic layout file "brScene.swift" Swift code to support Scene The problem is accessing the Crown rotation in the brScene.swift. I need the Crown data to control movement of a sprite. This is a problem that has historically been addressed a few times back in the 2015-2016 timeframe for WatchOS 2 and 3, but the earlier solutions appear to all be broken now. Here is what I have tried: import Foundation import SpriteKit import WatchKit class brScene: SKScene, SKPhysicsContactDelegate, WKCrownDelegate { class func newGameScene() -> brScene { //Load brScene.sks as SKScene guard let scene = SKScene(fileNamed: "brScene.sks") as? brScene else { print("Scene Load Failed") abort() } //fill window scene.scaleMode = .aspectFill let wkExtShared = WKExtension.shared() let crownSequencer = WKExtension.shared().sharedInterfaceController!.crownSequencer crownSequencer.delegate = self //** Can not assign or cast crownSequencer.focus() return scene } The value of "self" at the failed delegate assignment is "AppChallenge_WatchKit_Extension.brScene". It has no delegate compatibility. Of note, the protocol addition to the brScene Class of WKCrownDelegate is rendered in black by Xcode, not in green like SKPhysicsContactDelegate. I believe I could probably make the page's InterfaceController the delegate for the crown and then post notifications back to the brScene.swift to move the sprite, but that seems highly inelegant and inefficient! What is going on? Any help would be appreciated!
Posted Last updated
.
Post not yet marked as solved
1 Replies
815 Views
I have a new "independent" watchOS 8 app that I wish to put in the App Store. I archive it and try to push the archive via Xcode Organizer/Distribute. It passes all the tests and uploads roughly the correct about of data (size of .ipa) to a blobstore.apple.com URL. Then it just stops, for up to hours before I kill the process. Is there a log file somewhere which monitors the app upload process so I can try to diagnose the issue? I ran through a number on logs in Console but did not see anything related. Any suggestions?
Posted Last updated
.
Post not yet marked as solved
2 Replies
1.5k Views
I am updating an existing watchOS App previously paired to an iOS App to a new Independent App. The app uses the CoreMotion framework, specifically CMAltimeter. In the old version of the app, the user had to authorize CM access in the paired iphone for both the phone and watch.I am trying to find a watchOS equivalent of requestAuthorizationWhenInUse, but I can not find it. I must assume that Privacy Authorization is still required. Apple has examples for the Health and Notifications frameworks, but rooting around I can not find a similar request method to generate a permission alert dialog from CoreMotion. Per the Apple Dox, CoreMotion only exposes AuthorizationStatus(). The watchkit extension pList does contain the appropriate privacy permission descriptions.Anyone successfully climb this hill?
Posted Last updated
.
Post not yet marked as solved
3 Replies
1.4k Views
I have a working Mac Catalyst app which opens several ViewControllers simultaneously, each in their own Scene. Once the scenes are opened and all foreground, I would like each ViewController to be notified when the user taps that window so its Scene becomes Active, i.e., topmost, first Responder and focus. However, after the initial scene creation and activation, the Scene Delegate sceneDidBecomeActive method does not get triggered by any user interaction, despite the targeted window cycling between Active and Inactive. Neither does UIKit post the "didBecomeActiveNotification" event. Inside the ViewControllers, the "viewDidAppear" method does not get invoked either. Is there a UISceneConfigurationOption required to handle an activate event? How can I detect an Activate event on an existing scene/ViewController?
Posted Last updated
.
Post not yet marked as solved
0 Replies
681 Views
I have a UICollectionView of uniform square cells in default FlowLayout. In cellForItemAtIndexPath, if a cell has been selected a different custom view cell is dequeued. On selection of a cell, I reloadData. The different custom cell view is much larger, and has several additional UIControls within it. This effect gives a detail view without pushing a new viewController and works great. The only issue is that the transition between new layouts is instantaneous. Is there a way to animate the reflow. Note that I am not changing the layout, just the size of single cell and it would be more aesthetic to watch it grow or shrink and displace the adjacent cells.
Posted Last updated
.
Post marked as solved
4 Replies
4k Views
I recently updated a stable app which has been in the Store for over a year and well over a thousand downloads. Last updated 6/19. All fine.This week I added a unique UserID to my Flurry start up in App Delegate and few extra flurry event calls in various view controllers to help track rare crashes (maybe 3 crashes reported in a year). App runs fine in Xcode Sim on a variety of devices, and in my real hardware both in debug and untethered. GIT compare confirms no other changes to codebase or XIBs, etc. Last compile for store on Xcode 10.x, now 11.1App Store review fails with crash on launch, they tried three times and sent crash logs. I removed some of the mods (but not yet the UserID in AppDelegate) and resubmitted: same result. First time I sent it in the crash report said they tested on a 3rd Gen iPad, so I asked them to try the second time on an iPhone, the next set of crash reports had the device code as ***! They ran 13.1.2, I tested on 13.1.3 and on 12.1.4 all OKHere's the problem(s)1) I dont see how to symbolicate the crash reports. To do so, Xcode requires the App's binary and dSYM (I have those), I dont have the Flurry dSYM, and OS Symbols for the hardware/OS where the test ran. I dont have a 3rd gen iPad (iPad11,3) to plug in and get the symbols for Xcode. Is there an alternative path in this circumstance.2) I'm not sure that the symbols would help here anyway since it looks like the crash is deep in iOS frameworks (maybe abi, see below) after being called from my Main. I know that these kinds of launch crashes frequently occur when storyboards have a defect, but I cant see one and the app runs fine locally on phones and old iPads. What would be my next steps when I can't replicate the crash (aside from removing the Flurry set UserID!)?{"app_name":"QueensDB","timestamp":"2019-10-30 15:28:10.12 -0700","app_version":"1.7","slice_uuid":"2133ecf9-943d-380e-9d2b-eb881e02a76f","adam_id":1369301260,"build_version":"2","bundleID":"com.Aviametrix.QueensEgypt","share_with_app_devs":true,"is_first_party":false,"bug_type":"109","os_version":"iPhone OS 13.1.2 (17A860)","incident_id":"BB1B0B65-66BF-40B7-9017-7F8B14B57F58","name":"QueensDB"} Incident Identifier: BB1B0B65-66BF-40B7-9017-7F8B14B57F58 CrashReporter Key: 1f7448b682620a373ff01cf8ae95a9238488a987 Hardware Model: iPad11,3 Process: QueensDB [90772] Path: /private/var/containers/Bundle/Application/F72C50C8-86EB-4404-A689-C5F9CB2651DF/QueensDB.app/QueensDB Identifier: com.Aviametrix.QueensEgypt Version: 2 (1.7) AppStoreTools: 11A1002b Code Type: ARM-64 (Native) Role: Foreground Parent Process: launchd [1] Coalition: com.Aviametrix.QueensEgypt [2469] Date/Time: 2019-10-30 15:28:09.6488 -0700 Launch Time: 2019-10-30 15:28:09.5818 -0700 OS Version: iPhone OS 13.1.2 (17A860) Release Type: User Baseband Version: n/a Report Version: 104 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Triggered by Thread: 0 Application Specific Information: abort() called Last Exception Backtrace: (0x184f6bc30 0x184c860c8 0x184e5b3ac 0x18897c810 0x18897cb2c 0x18855b700 0x18855b934 0x1884f6428 0x1889c59bc 0x1049975b8 0x104993ab4 0x188c935d8 0x18855b700 0x18855b934 0x1884f6428 0x188c928cc 0x1889c5b74 0x188920b94 0x188c935d8 0x18855b700 0x1884f6428 0x188c97784 0x18855b700 0x18855b934 0x1884f6428 0x188c926b0 0x188c952e8 0x18915a7d0 0x18915a660 0x1890007c4 0x189000d3c 0x188fff46c 0x1887a7710 0x188c537e8 0x1887a8248 0x1887a7c78 0x1887a8064 0x1887a78e8 0x1887ac098 0x188c6d214 0x188b80e90 0x188c6d1cc 0x1887abdb0 0x188c6d0b4 0x1887abc0c 0x188617630 0x1886160f4 0x188617360 0x188ffd91c 0x188ba2d7c 0x18a0d5014 0x18a0fbbd0 0x18a0e00f8 0x18a0fb864 0x184c1300c 0x184c15d50 0x18a122384 0x18a122030 0x18a12259c 0x184ee7260 0x184ee71b4 0x184ee6920 0x184ee17ec 0x184ee1098 0x18f04b534 0x1890017ac 0x10494a1c8 0x184d60f30) Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000184d56ef4 0x184d31000 + 155380 1 libsystem_pthread.dylib 0x0000000184c77d1c 0x184c75000 + 11548 2 libsystem_c.dylib 0x0000000184c07a54 0x184b91000 + 485972 3 libc++abi.dylib 0x0000000184d1e3c8 0x184d1d000 + 5064 4 libc++abi.dylib 0x0000000184d1e5c0 0x184d1d000 + 5568 5 libobjc.A.dylib 0x0000000184c863a8 0x184c80000 + 25512 6 libc++abi.dylib 0x0000000184d2b634 0x184d1d000 + 58932 7 libc++abi.dylib 0x0000000184d2b5c0 0x184d1d000 + 58816 8 libdispatch.dylib 0x0000000184c13020 0x184c10000 + 12320 9 libdispatch.dylib 0x0000000184c15d50 0x184c10000 + 23888 10 FrontBoardServices 0x000000018a122384 0x18a0c8000 + 369540 11 FrontBoardServices 0x000000018a122030 0x18a0c8000 + 368688 12 FrontBoardServices 0x000000018a12259c 0x18a0c8000 + 370076 13 CoreFoundation 0x0000000184ee7260 0x184e39000 + 713312 14 CoreFoundation 0x0000000184ee71b4 0x184e39000 + 713140 15 CoreFoundation 0x0000000184ee6920 0x184e39000 + 710944 16 CoreFoundation 0x0000000184ee17ec 0x184e39000 + 690156 17 CoreFoundation 0x0000000184ee1098 0x184e39000 + 688280 18 GraphicsServices 0x000000018f04b534 0x18f048000 + 13620 19 UIKitCore 0x00000001890017ac 0x1885d1000 + 10684332 20 QueensDB 0x000000010494a1c8 0x104944000 + 25032 21 libdyld.dylib 0x0000000184d60f30 0x184d60000 + 3888 Thread 1: 0 libsystem_pthread.dylib 0x0000000184c7ec70 0x184c75000 + 40048
Posted Last updated
.