I would add a template image at a button to change its color runtime.I used Preview to draw and save it as a pdf.But it is rendered only as a uniform square color (which color I can change runtimne).How can I obtain the template pdf image?Why the pdf saved by Preview is not working?
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Studing SwiftUI in Apple's HandlingUserInput, I'm blocked in this error:No ObservableObject of type UserData found. A View.environmentObject(_:) for UserData may be missing as an ancestor of this view.The code is:final class UserData: ObservableObject {
@Published var showFavoritesOnly = false
@Published var landmarks = landmarkData
}struct LandmarkList: View {
@EnvironmentObject var userData: UserData
var body: some View {
NavigationView {
List(landmarkData) { landmark in
if !self.userData.showFavoritesOnly || landmark.isFavorite {
NavigationLink(destination: LandmarkDetail(landmark: landmark)) {
LandmarkRow(landmark: landmark)
}
}
}
.navigationBarTitle(Text("Landmarks"))
}
}
}
struct LandmarkList_Previews: PreviewProvider {
static var previews: some View {
LandmarkList()
.environmentObject(UserData())
}
}".environmentObject(UserData())" is present in the preview."@EnvironmentObject var userData: UserData" in the View.But the use of userData (if !self.userData.showFavoritesOnly) cause the fatal error.Can someone help me in undertanding how to proceed?
In iOS 12 and 13, up to 13.4, few lines of codes:navigationController?.navigationBar.isTranslucent = falsenavigationController?.navigationBar.barTintColor = .blacknavigationController?.navigationBar.tintColor = .redallow to hide the status bar under the navigation bar.With swiftUI is perhaps even simpler.statusBar(hidden: hideStatusBar)but it requires to rewrite the whole app from storyboard to swiftUI.Hiding the status bar, or go to full screen, is still be possible without using swiftUI on legacy code?
After uploading a new App to the App Store Connect i receive an e-mail stating:ITMS-90034: Missing or invalid signature - The bundle '...' at bundle path 'Payload/...' is not signed using an Apple submission certificate.The App don't use any capability.I've used Xcode to upload, as in a previous App which now is on the App Store.All the apps use the default configuration: "Automatically manage signing", Provisioning profile "Xcode Managed Profile", Signing Certificate Apple Development: ############The requested Signing Certificate is present in the keychain in 3 versions, the last one is valid (the older 2 are revoked).What I should correct?
Since Xcode 11 setting iPad and Mac in General / Deployment Info fo a target enable it to run in iPad as well as in iMac.
When I try to run on the iMac a document app, even the very simple one created by the Xcode on its template, it fails with the error:
If the app is a document app running it in a Mac fails with the error: [OpenSavePanels] ERROR: Unable to display open panel: your app is missing the User Selected File Read app sandbox entitlement. Please ensure that your app's target capabilities include the proper entitlements.
What have to be added in the project to let a document app running on iPad as well as on iMac?
DoubleColumnNavigationViewStyle, on iPad, left an unusable space at the top.
It seems to be a navigation bar's title, but the navigation bar code apply to the main navigation bar.
Is there a way to hide, or at least use, the inner navigation bar?
The sample code below reveals part of the screen unused by the App.
import UniformTypeIdentifiers
@main struct RugbyTimeApp: App {
@SceneBuilder var body: some Scene {
DocumentGroup(
newDocument: {() -> ReferenceDocument in ReferenceDocument()},
editor: {_ -> MainView in MainView()}
)
}
}
struct MainView: View {
var body: some View {
NavigationView {
Text("Side View")
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.green)
Text("Hello world")
.frame(maxWidth: .infinity, maxHeight: .infinity)
.background(Color.red)
}
.navigationViewStyle(DoubleColumnNavigationViewStyle())
.navigationTitle("Nav Title")
.toolbar
{
ToolbarItem(placement: .navigation, content: {Button("Next page", action: {})})
}
}
}
class ReferenceDocument: ReferenceFileDocument {
static var readableContentTypes = [UTType.plainText]
init() {}
required init(configuration: ReadConfiguration) throws {}
func snapshot(contentType: UTType) throws -> Int {return 0}
func fileWrapper(snapshot: Int, configuration: WriteConfiguration) throws -> FileWrapper {
let data: Data = try JSONEncoder().encode(snapshot)
return FileWrapper(regularFileWithContents: data)
}
}
I'd have a speech at a begin of a long pressure:
class Cell: UITableViewCell
{
override func awakeFromNib()
{
...
let willSpeech = UILongPressGestureRecognizer(target: self, action: #selector(longPress(gesture:)))
button.addGestureRecognizer(willSpeech)
}
@objc func longPress(gesture: UILongPressGestureRecognizer)
{
switch gesture.state
{
case .began:
let utterance = AVSpeechUtterance(string: "hello")
let speechSynthesizer = AVSpeechSynthesizer()
speechSynthesizer.speak(utterance)
...
}
}
}
But the speech start only when the button is released.
Is there a way to let the speech start immediately even during a long pressure gesture recogniser?
I have a storyboard based project with UIPickerView and I like to port it on the Mac with "Optimised Interface for Mac".
My idea was to: In the storyboard disable installation of the UIPickerView for idiom=Mac variation.
In the code substitute UIPickerView with SwiftUI Picker.
What I obtained is the error: "UIPickerView is not supported when running Catalyst apps in the Mac idiom".
This error is caused by the SwiftUI Picker (it is present even if remove UIPickerView and all its references).
If both the UIPickerView and the SwiftUI Picker cannot be used in a storyboard based project, how can a generic Picker behaviour be obtained in a storyboard based project compatible with Mac idiom?
In App Store Connect Trends tab the Sales graph show one sale happened the last day of the period; all other graphs (App Units, Top Apps, Territories) have don't have the corresponding app.
On Xcode 13.3 and iOS15.4 I don't found a way to add something in the bottom bar without Xcode warning. This sample of swiftUI code:
{
var body: some View {
Text("Hello, World!")
.toolbar {
ToolbarItem(placement: .bottomBar) {
Text("Bottom Bar")
}
}
}
}
causes: "Unable to simultaneously satisfy constraints." (a long list follows).
Am I missing something?
I added in the Xcode project:
<my App>/
Resources/
<my App>.help/
Content/
Info.plist
Resources/
search.helpindex /*localized */
index.html /*localized */
Page1.html /*localized */
And, in the Project's Info.plist:
<key>CFBundleHelpBookFolder</key>
<string><my App>.help</string>
<key>CFBundleHelpBookName</key>
<string><project' bundle id>.help</string>
But when I archive it, the book help has been moved:
<my App>/
Content/
Resources/
Info.plist
en.lproj/
search.helpindex
index.html
Page1.htm
So the help book, as is, is missing.
If I manually move the files and folders in the Package to reconstruct the help book structure, it works.
What I have to do in Xcode to let it archive the Help book?
On MacOS popups have opacity < 1.
in Dark Mode, text on popup over a clear background isn't visible clearly.
How to change the opacity of the popup?
The Apple Distribution certificate is present in the login Keychain, as well as the Development one.
In Xcode preferences both are visibile and valid.
In Xcode target only the development certificate is present and I'm unable to set the distribution one.
For this reason my last app has been refused on the Apple Store Connect.
How can I set the distribution certificate on the App target?
The sample code:
struct ContentView: View {
var count: Int = 0
var body: some View {
VStack {
Text("Order \(count) Tickets")
}
}
}
Apparently don't use the Localizable.stringsdict
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Order %d Tickets</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@Tickets@</string>
<key>Tickets</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>d</string>
<key>zero</key>
<string>zero</string>
<key>one</key>
<string>one</string>
<key>other</key>
<string>other</string>
</dict>
</dict>
</dict>
</plist>
What what am I doing wrong?
I agree with Apple Human Interface Guidelines that states "Design a launch screen that’s nearly identical to the first screen of your app", but:
A SwiftUI App for both macOS and iOS cannot have a storyboard Launch Screen
Images can be scaled only at: 2x/3x, Compact/Regular, iPhone/iPad
Launch Screen can have central, top (Navigation bar) and bottom (Tab Bar and Toolbar) images
Launch screen images are centered in the screen space
Launch screen images are stretched to fill the screen space
With the rules above, I'm unable to create launch screens for every screen size. If the image in the asset is sized for a small screen, i.e. an iPhone SE, it will be distorted in a 'long' screen, i.e. an iPhone 14, and viceversa.
Have I missed some possibility to better define how to define or manage the launch screen images?