Posts

Post not yet marked as solved
0 Replies
280 Views
I know with macOS 11 and iOS 14, iOS apps will run on Apple Silicon. I have a Catalyst version of my app, that I would like to add to the same AppStore Connect entry. I know I have to remove my Mac App Store entry, but I can't figure out how to change the App bundle name in the App Store Connect for the the Catalyst app. Do I have to build a native Mac Version with the same bundle ID as the iOS version to have it on the same App Connect entry? My app is free and I want people who have it on iOS to have access on macOS.
Posted Last updated
.
Post marked as solved
1 Replies
343 Views
I have tried to connect my Apple TV 4K to Xcode, via wireless. I get to the point where I enter the six digit code displayed on the Apple TV, and then Xcode just redisplays the messages to Pair the TV. Any suggestions?
Posted Last updated
.
Post marked as solved
3 Replies
583 Views
I am seeing this with Xcode 12.0 (all betas) Process:&#9;&#9;&#9;&#9;&#9;&#9;&#9; Xcode [1211] Path:&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;/Applications/Xcode-beta.app/Contents/MacOS/Xcode Identifier:&#9;&#9;&#9;&#9;&#9;&#9;com.apple.dt.Xcode Version:&#9;&#9;&#9;&#9;&#9;&#9;&#9; 12.0 (17210.1) Build Info:&#9;&#9;&#9;&#9;&#9;&#9;IDEFrameworks-17210001000000000~14 (12A8189n) Code Type:&#9;&#9;&#9;&#9;&#9;&#9; X86-64 (Native) Parent Process:&#9;&#9;&#9;&#9;??? [1] Responsible:&#9;&#9;&#9;&#9;&#9; Xcode [1211] User ID:&#9;&#9;&#9;&#9;&#9;&#9;&#9; 501 Date/Time:&#9;&#9;&#9;&#9;&#9;&#9; 2020-09-08 16:06:15.967 -0400 OS Version:&#9;&#9;&#9;&#9;&#9;&#9;Mac OS X 10.16 (20A5364e) Report Version:&#9;&#9;&#9;&#9;12 Bridge OS Version:&#9;&#9; 5.0 (18P50370a) Anonymous UUID:&#9;&#9;&#9;&#9;627D7A1F-DDFC-8DCE-8ACF-0ECBAB9020EA Time Awake Since Boot: 460 seconds System Integrity Protection: enabled Crashed Thread:&#9;&#9;&#9;&#9;0&#9;Dispatch queue: com.apple.main-thread Exception Type:&#9;&#9;&#9;&#9;EXC_BAD_INSTRUCTION (SIGILL) Exception Codes:&#9;&#9;&#9; 0x0000000000000001, 0x0000000000000000 Exception Note:&#9;&#9;&#9;&#9;EXC_CORPSE_NOTIFY Termination Signal:&#9;&#9;Illegal instruction: 4 Termination Reason:&#9;&#9;Namespace SIGNAL, Code 0x4 Terminating Process:&#9; exc handler [1211] Application Specific Information: ProductBuildVersion: 12A8189n Crashing on exception: The window has been marked as needing another Update Constraints in Window pass, but it has already had more Update Constraints in Window passes than there are views in the window. <DVTDevicesWindow: 0x7fbaa5739c30> 0x160 (352) {{181, 204}, {1040, 700}} Devices en Application Specific Backtrace 1: 0&#9; CoreFoundation&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x00007fff2433b0df __exceptionPreprocess + 242 1&#9; DVTFoundation&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x000000010a36eba5 DVTFailureHintExceptionPreprocessor + 424 2&#9; libobjc.A.dylib&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9; 0x00007fff2419d469 objc_exception_throw + 48 3&#9; CoreFoundation&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x00007fff2433af43 +[NSException raise:format:] + 189 4&#9; AppKit&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x00007fff26d11119 -[NSWindow(NSDisplayCycle) _postWindowNeedsUpdateConstraintsUnlessPostingDisabled] + 1721 5&#9; AppKit&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;0x00007fff26cf616d -[NSView ...... Any suggestions on how to get beyond this.
Posted Last updated
.
Post not yet marked as solved
0 Replies
290 Views
I am working on a setup screen with a dollar value and a picker. I have the dollar value setup with a currencyFormatter, and a .keyboardType(.decimalPad), if the user touches outside of the field, the .resignFirstResponder doesn't happen, so I added it to my Picker. However, If the user touches the picker, the .currencyFormatter is not applied.  private var currencyFormatter: NumberFormatter = {         let formatter = NumberFormatter()         formatter.isLenient = true         formatter.numberStyle = .currency         return formatter     }()     var body: some View {         GeometryReader { geometry in             VStack{                 VStack{                     HStack{                         Text("Burden Rate: ")                             .padding(.trailing)                         Spacer()                         TextField("Enter Burden Rate",                                   value: $meetingSetup.saveRateValue,                                   formatter: currencyFormatter,                                   onEditingChanged: {_ in                                     logger.log("editing changed")                                   },                                   onCommit: {                                     logger.log("updated")                                   }                         )                         .textFieldStyle(RoundedBorderTextFieldStyle())                         .multilineTextAlignment(.trailing)                         .padding(.leading)                         .keyboardType(.decimalPad)                     }                     HStack{                         Text("Select One: ")                         Spacer()                         Picker("Calculation", selection: $selectedRateCalc) {                             ForEach( 0 ..< rateCalc.count) {                                 Text(self.rateCalc[$0]).tag($0)                             }                         }                         .pickerStyle(SegmentedPickerStyle())                         .onChange(of: selectedRateCalc, perform: { value in                             switch selectedRateCalc {                             case 0:                                 meetingSetup.hourlyEnabled = false                                 meetingSetup.salaryEnabled = true                                 print("Salary Selected")                             case 1:                                 meetingSetup.hourlyEnabled = true                                 meetingSetup.salaryEnabled = false                                 print("Hourly Selected")                             default:                                 print("ERROR")                             }                             self.hideKeyboard()                         })                     }                 }             }             Spacer()         }     } } #if canImport(UIKit) extension View {     func hideKeyboard() {     UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)     } } #endif I've reduced some of the other screen to make this cleaner for review. How can I correctly clear the keyboard AND have it format the currency correctly. Thanks!
Posted Last updated
.
Post not yet marked as solved
2 Replies
425 Views
I am in the process of building my first Watch app as an extension of my iPhone App. I am having problems with the Watch app, but would like to submit the updates I have made for my iOS app. Is there a best practice or guide to help me submit my iPhone app, without the embedded watch components. Right now, iTunes Connect keeps including my watch App, which is not ready, and therefore won't let me submit my app for review.Thanks
Posted Last updated
.
Post marked as solved
4 Replies
867 Views
I am getting the following error when I try launching my iPhone app in the simulator. I had just finished a SiriKit Lab session and the last thing that was done was helping me "attach" the extension I was creating. I have since rebooted, etc. but it is happening every time. Any ideas how to remove the attached session, or is this something else? Path:&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;&#9;/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/CoreServices/SpringBoard.app/SpringBoard Identifier:&#9;&#9;&#9;&#9;&#9;&#9;SpringBoard Version:&#9;&#9;&#9;&#9;&#9;&#9;&#9; 1.0 (50) Code Type:&#9;&#9;&#9;&#9;&#9;&#9; X86-64 (Native) Parent Process:&#9;&#9;&#9;&#9;launchd_sim [800] Responsible:&#9;&#9;&#9;&#9;&#9; SimulatorTrampoline [746] User ID:&#9;&#9;&#9;&#9;&#9;&#9;&#9; 501 Date/Time:&#9;&#9;&#9;&#9;&#9;&#9; 2020-06-24 15:49:40.114 -0400 OS Version:&#9;&#9;&#9;&#9;&#9;&#9;Mac OS X 10.16 (20A4299v) Report Version:&#9;&#9;&#9;&#9;12 Bridge OS Version:&#9;&#9; 5.0 (18P50310o) Anonymous UUID:&#9;&#9;&#9;&#9;627D7A1F-DDFC-8DCE-8ACF-0ECBAB9020EA
Posted Last updated
.
Post marked as solved
3 Replies
471 Views
I have taken a simple view in my app and made a widget from it; however, the background gradient color I use does not fill the entire widget, it leaves a white band at the top and bottom.     var entry: Provider.Entry     var body: some View {         HStack {             VStack {                 Text("Wasted Time")                     .fontWeight(.bold)                 LifetimeTotalsView()             }         }         .foregroundColor(.black)         .background(LinearGradient(gradient: Gradient(colors: [ .red,.orange,.yellow,.green, .blue, .purple]), startPoint: .top, endPoint: .bottom))     } } I assume these bands relate to the safe area for the widget. How can I expand to fill the entire widget? Thanks
Posted Last updated
.
Post marked as solved
1 Replies
333 Views
I've been working on adding shortcuts to my app. The Intent handler extension causes my app to crash when it is embedded in the app. I am looking for any guidance on how to debug this, as I went to the Shortcuts Lab and the code was deemed correct. //  IntentHandler.swift //  SiriExtension import Intents class IntentHandler: INExtension, INSendMessageIntentHandling, INSearchForMessagesIntentHandling {     override func handler(for intent: INIntent) -> Any {         // This is the default implementation.  If you want different objects to handle different intents,         // you can override this and return the handler you want for that particular intent.         switch intent {         case is AddAttendeeIntent:             return AddAttendeeIntentHandler()         case is RemoveAttendeeIntent:             return RemoveAttendeeIntentHandler()         case is StartMeetingIntent:             return StartMeetingIntentHandler()         case is EndMeetingIntent:             return EndMeetingIntent()         case is ResetMeetingIntent:             return ResetMeetingIntent()         case is QuorumReachedIntent:             return QuorumReachedIntent()         default:             fatalError("No handler for this intent")         }     }     func resolveRecipients(for intent: INSendMessageIntent, with completion: @escaping ([INSendMessageRecipientResolutionResult]) -> Void) {         if let recipients = intent.recipients {             // If no recipients were provided we'll need to prompt for a value.             if recipients.count == 0 {   completion([INSendMessageRecipientResolutionResult.needsValue()])                 return             }             var resolutionResults = [INSendMessageRecipientResolutionResult]()             for recipient in recipients {                 let matchingContacts = [recipient] // Implement your contact matching logic here to create an array of matching contacts                 switch matchingContacts.count {                 case 2  ... Int.max:                     // We need Siri's help to ask user to pick one from the matches.                     resolutionResults += [INSendMessageRecipientResolutionResult.disambiguation(with: matchingContacts)]                 case 1:                     // We have exactly one matching contact                     resolutionResults += [INSendMessageRecipientResolutionResult.success(with: recipient)]                 case 0:                     // We have no contacts matching the description provided                     resolutionResults += [INSendMessageRecipientResolutionResult.unsupported()]                 default:                     break                 }             }             completion(resolutionResults)         }     }     func resolveContent(for intent: INSendMessageIntent, with completion: @escaping (INStringResolutionResult) -> Void) {         if let text = intent.content, !text.isEmpty {             completion(INStringResolutionResult.success(with: text))         } else {             completion(INStringResolutionResult.needsValue())         }     }     // Once resolution is completed, perform validation on the intent and provide confirmation (optional).     func confirm(intent: INSendMessageIntent, completion: @escaping (INSendMessageIntentResponse) -> Void) {         // Verify user is authenticated and your app is ready to send a message.         let userActivity = NSUserActivity(activityType: NSStringFromClass(INSendMessageIntent.self))         let response = INSendMessageIntentResponse(code: .ready, userActivity: userActivity)         completion(response)     }     // Handle the completed intent (required).     func handle(intent: INSendMessageIntent, completion: @escaping (INSendMessageIntentResponse) -> Void) {         // Implement your application logic to send a message here.         let userActivity = NSUserActivity(activityType: NSStringFromClass(INSendMessageIntent.self))         let response = INSendMessageIntentResponse(code: .success, userActivity: userActivity)         completion(response)     }         // MARK: - INSearchForMessagesIntentHandling     func handle(intent: INSearchForMessagesIntent, completion: @escaping (INSearchForMessagesIntentResponse) -> Void) {         // Return success to launch your Watch application with userActivity containing information for the message search on the interaction.         let userActivity = NSUserActivity(activityType: NSStringFromClass(INSearchForMessagesIntent.self))         let response = INSearchForMessagesIntentResponse(code: .success, userActivity: userActivity)         completion(response)     } }
Posted Last updated
.
Post marked as solved
3 Replies
573 Views
I noticed that the downloaded code had intents setup, so changed the code to be StaticConfiguration. everything worked the correctly, however when I tried to add in the .isPlaceHolder(true) I get the message that it is not valid, Here's the code: import WidgetKit import SwiftUI import Intents struct Provider: TimelineProvider {     public func snapshot(with context: Context, completion: @escaping (SimpleEntry) -> ()) {         let entry = SimpleEntry(date: Date(), character: .panda)         completion(entry)     }     public func timeline(with context: Context, completion: @escaping (Timeline&lt;Entry&gt;) -> ()) {         let entries: [SimpleEntry] = [SimpleEntry(date: Date(), character: .panda)]         let timeline = Timeline(entries: entries, policy: .atEnd)         completion(timeline)     } } struct SimpleEntry: TimelineEntry {     public let date: Date     let character: CharacterDetail } struct PlaceholderView : View {     var body: some View {         AvatarView(.panda)         .isPlaceHolder(true) /* ERROR - Value of type 'AvatarView' has no member 'isPlaceHolder' */     } } struct EmojiRangerWidgetEntryView : View {     var entry: Provider.Entry     var body: some View {         AvatarView(entry.character)     } } @main struct EmojiRangerWidget: Widget {     private let kind: String = "EmojiRangerWidget"     public var body: some WidgetConfiguration {         StaticConfiguration(kind: kind, provider: Provider(), placeholder: PlaceholderView()) { entry in             EmojiRangerWidgetEntryView(entry: entry)         }         .configurationDisplayName("Emoji Rangers Detail")         .description("Keep track of your favorite emoji ranger.")         .supportedFamilies([.systemSmall])     } } struct EmojiRangerWidget_Previews: PreviewProvider {     static var previews: some View {         Group {             AvatarView(.panda )                 .previewContext(WidgetPreviewContext(family: .systemSmall))             PlaceholderView()                 .previewContext(WidgetPreviewContext(family: .systemSmall))         }     } }
Posted Last updated
.
Post marked as solved
3 Replies
409 Views
While homesharing is supported on iOS in the Music and TV App, it seems to have been taken away in MacOS Catalina (I've checked every beta since dev beta 1)... I have raised a feedback, but have gotten zero reaction from Apple. Since my iTunes library consists of both Music and Videos that I have digitized ... this is a big loss... Is anyone else missing homesharing?
Posted Last updated
.
Post marked as solved
1 Replies
1.9k Views
After changing my Combine code to the new @ObservedObject and ObservableObject changes in Xcode Beta 5, I am now getting "Type of expression is ambiguous without more context" on the following code: Var body: some View { ScrollView{ VStack{ HStack{ Image(systemName: "clock.fill") Text("Text") &lt;====TYPE OF EXPRESSION IS AMBIGUOUS WITHOUT MORE CONTEXT Image(systemName: "dollarsign.circle.fill") } } } }Any suggestions???
Posted Last updated
.
Post marked as solved
1 Replies
3.5k Views
I have a swiftUI native Watch app I Am working on. I have a combine based class that allows me to store userdefaults, one of which is a simple toggle ..import SwiftUI import Foundation import Combine class MeetingSetup: BindableObject { let willChange = PassthroughSubject&lt;Void, Never&gt;() var twitterEnabled: Bool = false { didSet { willChange.send() } } init() { let prefs:UserDefaults = UserDefaults(suiteName: "group.com.appname")! twitterEnabled = prefs.bool(forKey: "keyTwitterEnabledBool") } }In the SwiftUI I am getting the error messages that 'Bool' is not convertible to 'Binding&lt;Bool&gt;'import SwiftUI import Combine struct SetupView : View { @ObjectBinding var meetingSetup: MeetingSetup = delegate.meetingSetup var body: some View { HStack{ Toggle(isOn: self.meetingSetup.twitterEnabled){ // &lt;== 'Bool' in not convertible to 'Binding&lt;Bool&gt;' Text("Twitter") } } }I don't understand why this is getting the message since the code is @ObjectBinding, should it not be 'Binding&lt;Bool&gt;' by definition? If not how do I address this correctly??
Posted Last updated
.
Post marked as solved
6 Replies
799 Views
I am getting an error after the download saying:Could not create a preboot volume for APFS install.Is anyone else seeing this? How can you get around it?
Posted Last updated
.
Post marked as solved
12 Replies
3.7k Views
Is anyone else getting this message? I am on a Series 2 with iPhone 7Plus - I installed the Dev. beta 5 and it has been very problematic, and keeps saying there is another update available, however, when I go to General -&gt; Software update I get the message:”Unable to Check for UpdateChecking for a software update failed because you are not connected to the Internet.Cancel / Try Again”Obviously I am connected to the internet, and if I hit Try Again, I get the same message.Other symptoms I am seeing with Beta 5 include:1) Watch can’t unlock Mac2) Swim measurements in work out are all wonky3) Watch get’s notifications but can’t seem to see the iPhone
Posted Last updated
.