Posts

Post not yet marked as solved
1 Replies
205 Views
After a pen test it has been suggested we use kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly for keychain accessibility. It is currently using kSecAttrAccessibleAfterFirstUnlockValue We only store name, email, sms etc in our keychain but I've been asked to explore how much effort this would be My initial concern is what happens to users without a passcode? Is there a way to enforce this for users with a passcode but fallback to something else for other users? Thanks
Posted
by mjharper.
Last updated
.
Post not yet marked as solved
0 Replies
985 Views
We have a suite of UI tests managed by QA. They are developed on his machine (M1 MacBook Pro) and when they all pass he checks in We use fastlane and an M1 Mac-mini as our build machine/pipeline. When the tests are running in the pipeline we always get swipe failures such as XCTAssertTrue failed - Failed to swipe so not on the correct page XCTAssertTrue failed - Swipe not worked, delete not showing And so on. What I find really strange is I can login to the build machine itself, open the project from the source directory and manually run all the UI Tests - they all pass. I also ran the fastlane lane directly (ui_tests) from terminal to exactly mimic what the pipeline does and they all pass As soon as I re-enable them in the full pipeline (fast file) we get the swipe failures on the same machine and emulator! The only difference I can see is I ran them directly / standalone versus part of the pipeline. Also, they run immediately after our unit tests unit_tests ui_tests Could this potentially affect things? From reading around I wondered about the M1 architecture potentially being the cause but they are written on an M1 and the build machine is the same architecture (and as above, in isolation they work) Any ideas appreciated!
Posted
by mjharper.
Last updated
.
Post not yet marked as solved
3 Replies
4.2k Views
I've created a test app to play around with fast lane and want to remove it. A build has never reached App Store connect and it let me delete the app itself (though ideally I'd like it gone from the "removed" list too) When I try to remove the related app id / identifier it says App ID xxxx appears to be in use by the App Store, so it can not be removed at this time. When I look at the removed app its status is "prepare for submission" Is this a bug or correct behaviour? surely I'm going to end up with lots of orphaned app ids and a cluttered list of removed apps I guess I can pay for a personal/separate developer account for testing but it seems crazy! Thanks
Posted
by mjharper.
Last updated
.
Post not yet marked as solved
2 Replies
1.7k Views
I'm testing our app on the release candidate of Xcode 14 and while the app builds ok at runtime I get: Fatal error: UIViewRepresentables must be value types: PlayerView PlayerView is a class that handles an onload video - it has a published property and publishers that reference self (I'm quite new to iOS dev so haven't done much with combine) - it was obviously intended to be a class The UIViewRepresentable protocol is handled like this: extension PlayerView: UIViewRepresentable {     public func updateUIView(_ uiView: UIView, context: UIViewRepresentableContext<PlayerView>) { }     public func makeUIView(context: Context) -> UIView {         return PlayerUIView(frame: .zero, player: player)     } } private class PlayerUIView: UIView {     private let playerLayer = AVPlayerLayer()     init(frame: CGRect, player: AVPlayer) {         super.init(frame: frame)         playerLayer.player = player         playerLayer.videoGravity = .resizeAspectFill         layer.addSublayer(playerLayer)     }     required init?(coder: NSCoder) {         fatalError("init(coder:) has not been implemented")     }     override func layoutSubviews() {         super.layoutSubviews()         playerLayer.frame = bounds     } } Obviously this isn't the final release of Xcode 14 but does anyone know if this is a change in iOS 16 that means we'll have to make this a struct? Thanks!
Posted
by mjharper.
Last updated
.
Post not yet marked as solved
20 Replies
7.6k Views
Hi everyone, I'm new to iOS development and CI/CD and wondered if someone may be able to help We have a build machine that uses Fastlane to build the app and distribute to testers etc When the Xcode path is set to 13.1 it runs fine and it did on 13.2 (it looks like this version has automatically updated to 13.3 on the build machine) On my local machine everything compiles fine on 13.1 AND 13.3 but now when the pipeline runs it gets to a certain package/point in the build process and fails with: LLVM ERROR: out of memory Allocation failed The code branch is exactly the same, no changes to packages between Xcode builds. Any idea why 13.3 would throw a memory allocation error and what I could try next? Xcode 13.1 and 13.3 + command lines tools are both installed Thank you!
Posted
by mjharper.
Last updated
.
Post not yet marked as solved
1 Replies
1.2k Views
I'm new to SwiftUI and iOS and trying to investigate an issue in an existing codebase. There is a Text view that has a contextMenu attached for copying and pasting from the clip board. The issue I'm having is if the text field is empty the context menu doesn't appear. This would make sense for copying but obviously if a user has copied something they want to paste into the empty input field Is this by design or am I missing something?         Text("")             .contextMenu {             Button("do something") {             }         } In the above example the contextMenu won't appear - is there a way to trigger the context menu, or would you implement paste differently here? Many thanks
Posted
by mjharper.
Last updated
.
Post not yet marked as solved
0 Replies
1k Views
Our automated tester has a suite of ui tests he's been working on. When these are enabled on our release pipeline they are: Very slow While all tests pass, when building the app afterwards the build hangs indefinitely When disabling the tests the build is successful. The build machine is a 2020 M1 with 16GB ram running Xcode 13.1, I remoted in while it was running and the CPU usage / Ram seemed fine. The CI log / Fastlane gives no error indication, it just freezes trying to link a library and I have to manually cancel the build I'm wondering if the tests have exhausted something within Xcode build itself so it gives up at a certain point, is there anything obvious I can check? Thanks
Posted
by mjharper.
Last updated
.