AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / coding / 问题

Perguntas[ios](coding)

Martin Hope
GarySabo
Asked: 2023-09-27 00:01:53 +0800 CST

Gráficos Swift: Como desenhar um gráfico de linhas com gradiente fixo independente dos dados?

  • 6

Intimamente relacionado a esta questão , o código do Gradiente Linear funciona bem, mas está sempre vinculado aos seus dados, por exemplo, este código abaixo, se você tiver uma matriz de frequências cardíacas de 70 a 110, as frequências cardíacas mais baixas serão sempre cinza e as superiores sempre roxo, mas também uma matriz de 90 a 195. Como mapear as paradas para que a cor corresponda à zona de frequência cardíaca? Em outras palavras, as frequências cardíacas de 70 a 110 mostrariam apenas, por exemplo, azul a laranja?

 Chart {
            ForEach(smoothHeartRatesEMA(customHeartRates, decayFactor: 0.3)) { heartRate in
                LineMark(
                    x: .value("Sample Time", heartRate.startDate, unit: .nanosecond), //changed these to .nanosecond to fix Nike Run Club bug (some how Nike Run Club gets more frequent HR samples than other apps?)
                    y: .value("Heart Rate", heartRate.doubleValue)
                )
                .lineStyle(StrokeStyle(lineWidth: 3.0))
                .foregroundStyle(
                    .linearGradient(
                        stops: [
                            .init(color: Color.gray, location: 0.0),
                            .init(color:  TrackerConstants.AppleFitnessBlue, location: 0.16),
                            .init(color: TrackerConstants.AppleFitnessYellow, location: 0.33),
                            .init(color: TrackerConstants.AppleFitnessOrange, location: 0.5),
                            .init(color: TrackerConstants.AppleFitnessRed, location: 0.66),
                            .init(color: TrackerConstants.AppleFitnessPurple, location: 1.0) //how do I get these to allign with a range of e.g. 170-210.  I.e. if no heart rate is above 170bpm, the line is never purple?
                        ],
                        startPoint: .bottom,
                        endPoint: .top)
                         )
            }
        }
        .chartYScale(domain: 50...210)
ios
  • 1 respostas
  • 22 Views
Martin Hope
alionthego
Asked: 2023-09-25 06:28:00 +0800 CST

Preciso alterar o identificador do AppGroup ao exportar meu aplicativo para IPA ou xarchive para ser usado por terceiros?

  • 5

Estou criando um arquivo ipa ou xarchive para terceiros que distribuirão internamente meu aplicativo para sua empresa.

Até agora eles estão recebendo a seguinte mensagem de erro:

error:container_create_or_lookup_app_group_path_by_app_group_identifier: client is not entitled

Eles estão criando seu próprio ID de pacote para o grupo de aplicativos usando seu próprio domínio reverso. Preciso alterar o arquivo de direitos ou o ID do grupo no meu aplicativo para corresponder ao deles na minha compilação? Ou eles deveriam corresponder ao meu ID de grupo de aplicativos? Ou esse problema não está relacionado a isso? Não tenho certeza de como resolver isso.

ios
  • 1 respostas
  • 14 Views
Martin Hope
David Kroukamp
Asked: 2023-09-24 23:17:03 +0800 CST

DownloadTask em segundo plano do Swift não chama willPerformHTTPRedirection

  • 5

Estou tendo um problema ao usar uma sessão de URL em segundo plano e a minha willPerformHTTPRedirectionnão é chamada:

private class BackgroundCachingDelegate: NSObject, URLSessionDelegate, URLSessionTaskDelegate, URLSessionDownloadDelegate
{
    func urlSession(_ session: URLSession, task: URLSessionTask, willPerformHTTPRedirection response: HTTPURLResponse, newRequest request: URLRequest) async -> URLRequest?
    {
        //... Never gets called
    }
}

Eu chamo assim:

private func createNewBackgroundSession()
{
    let backgroundCachingConfiguration = URLSessionConfiguration.background(withIdentifier: OfflineCacheService.entityBackgroundSessionIdentifier)
    backgroundCachingConfiguration.requestCachePolicy = .reloadIgnoringLocalCacheData
    let backgroundCachingDelegate = BackgroundCachingDelegate(/*params*/)
    self.backgroundCachingSession = URLSession(configuration: backgroundCachingConfiguration, delegate: backgroundCachingDelegate, delegateQueue: nil)
}
    
private func startRequest(url: URL)
{
    if self.backgroundCachingSession == nil
    {
        self.createNewBackgroundSession()
    }
        
    var request = self.uiViewController.getURLRequest(method: "GET", url: url)
    request.cachePolicy = .reloadIgnoringCacheData
    self.backgroundCachingSession!.downloadTask(with: request).resume()
}

O código funciona se eu pegar o URL redirecionado diretamente e tentar usá-lo.

Também tenho certeza de que o servidor está executando um redirecionamento: insira a descrição da imagem aqui

Alguma ideia?

Atualizar

Talvez também para mencionar que recebo uma resposta de 0 bytes com o URL redirecionado como URL de resposta. Eu poderia ter um caso extremo com base no acima e chamar o novo URL redirecionado, mas preferiria a abordagem correta, se não for essa.

ios
  • 1 respostas
  • 15 Views
Martin Hope
Guard P
Asked: 2023-09-24 21:32:49 +0800 CST

Problema de Cocoapods (AFNetworking) ao arquivar o projeto

  • 4

Estou tentando construir um projeto Obj-C legado, ele está obtendo cerca de 80% de progresso e falha com o seguinte erro. Tentei reinstalar os pods, limpar os dados derivados, reiniciar o Xcode/computador.

`mkdir -p /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-cghzlwxuhadyvrehqungfijxixti/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/BuildProductsPath/Release-iphoneos/MyApp.app/Frameworks

Symlinked...

rsync --delete -av --filter P .*.?????? --links --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" 

"../../../IntermediateBuildFilesPath/UninstalledProducts/iphoneos/AFNetworking.framework" "/Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-cghzlwxuhadyvrehqungfijxixti/Build/Intermediates.noindex/ArchiveIntermediates/MyApp/InstallationBuildProductsLocation/Applications/MyApp.app/Frameworks"

building file list ... rsync: link_stat
 "/Users/myusername/myapp_ios/MyApp/../../../IntermediateBuildFilesPath/UninstalledProducts/iphoneos/AFNetworking.framework" failed: No such file or directory (2)
done

sent 29 bytes  received 20 bytes  98.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files could not be transferred (code 23) at /AppleInternal/Library/BuildRoots/97f6331a-ba75-11ed-a4bc-863efbbaf80d/Library/Caches/com.apple.xbs/Sources/rsync/rsync/main.c(996) [sender=2.6.9]
Command PhaseScriptExecution failed with a nonzero exit code`
ios
  • 1 respostas
  • 24 Views
Martin Hope
isenwald2022
Asked: 2023-09-24 20:34:06 +0800 CST

Uso de ator rápido na fachada do delegado

  • 5

Eu estava lendo este blog, pois tenho um caso de uso semelhante: https://kelvas09.github.io/blog/posts/closure-delegate-to-async/

Notei o seguinte trecho:

actor BluetoothLEScanWrapper {

enum BluetoothLEScanError: Error {
    case bluetoothNotAvailable
}

private let bluetoothLEDelegate: BluetoothLEDelegate = BluetoothLEDelegate()
private var activeTask: Task<[BluetoothLEDevice], Error>?

func scan(for seconds: Double = 3.0) async throws -> [BluetoothLEDevice] {

    if let existingTask = activeTask {
        return try await existingTask.value
    }

    let task = Task<[BluetoothLEDevice], Error> {
        guard bluetoothLEDelegate.bluetoothIsOn else {
            activeTask = nil
            throw BluetoothLEScanError.bluetoothNotAvailable
        }

        self.bluetoothLEDelegate.central.scanForPeripherals(withServices: nil)

        try await Task.sleep(nanoseconds: (UInt64(seconds) * 1_000_000_000))

        let devices = bluetoothLEDelegate.foundPeripheral.compactMap { BluetoothLEDevice(peripheral: $0) }

        bluetoothLEDelegate.central.stopScan()
        bluetoothLEDelegate.foundPeripheral = []

        activeTask = nil

        return devices
    }

    activeTask = task

    return try await task.value

}
...

O autor chama especificamente a atenção para o uso do ator. Pelo que entendi, isso é para evitar corridas de dados activeTaskcaso scan()seja chamado repetidamente. Meu entendimento está correto? Obrigado pela ajuda.

ios
  • 1 respostas
  • 34 Views
Martin Hope
Chandan Sayed
Asked: 2023-09-24 19:04:13 +0800 CST

Como adicionar metatag nos metadados Next JS

  • 5

Estou tentando adicionar uma meta tag no Next JS 13.4, mas não consigo. Li a documentação e pesquisei no Google, mas não consegui encontrar a solução. Estou tentando adicionar essa meta tag HTML no método Next JS.

<meta name="apple-mobile-web-app-title" content="AppTitle">

O que estou tentando nos metadados do Next JS é

export const metadata = {
  title: 'MessageMoment - The real meaning to personal!',
  description: 'MessageMoment - The real meaning to personal!',
  creator: 'Chandan Sayed',
  short_name: 'MessageMoment',
  applicationName: 'MessageMoment',
  siteName: 'MessageMoment',
  appleMobileWebAppTitle: 'MessageMoment'
}

Mas não funciona, por favor me ajude. Desde já, obrigado.

ios
  • 1 respostas
  • 25 Views
Martin Hope
NickyP
Asked: 2023-09-22 01:25:32 +0800 CST

O arquivo de compilação Info.plist não pode ser encontrado ao tentar executar o simulador iOS

  • 5

Estou recebendo o seguinte código de erro ao tentar executar meu projeto iOS.

Falha ao construir o aplicativo iOS Erro (Xcode): O arquivo de entrada de construção não pode ser encontrado: '/Users/nicho/Im_Free/im_free/ios/Pods/Runner/Info.plist'. Você se esqueceu de declarar este arquivo como saída de uma fase de script ou regra de construção personalizada que o produz?

Flutter 3.14.0-14.0.pre.405 Dart 3.2.0 (compilação 3.2.0-185.0.dev) • DevTools 2.28.0-dev.12 Xcode 13.0

Qualquer ajuda é muito apreciada.

Tentei atualizar os pods, limpar a pasta de compilação, garantir que o flutter esteja atualizado e executar o flutter doctor, mas não houve problemas.

ios
  • 1 respostas
  • 26 Views
Martin Hope
Kitten's Tech
Asked: 2023-09-18 07:08:37 +0800 CST

Erro fatal: encontrado nulo inesperadamente ao desembrulhar implicitamente um valor opcional

  • 4

Meu problema é que meu programa é compilado sem erros e, sempre que clico em um botão, ele gera o erro "Erro fatal: encontrado nulo inesperadamente ao desembrulhar implicitamente um valor opcional" na linha de código: SubButton1Outlet.isEnabled = true

Estou tentando ativar um botão desativado no editor de storyboard. Certifiquei-me de que o IBOutlet estava conectado ao botão certo no storyboard, mas ainda está gerando o erro.

override func viewDidLoad() {
        super.viewDidLoad()
        CallMemory()
        SubButton1Outlet.isEnabled = true
    }
    
    @IBAction func SubButton1(_ sender: Any) {
        SubNumber = 1;
    }
    @IBOutlet weak var SubButton1Outlet: UIButton!

Aqui está toda a seção de código relacionada ao problema e algumas capturas de tela do Xcode. Projeto GitHub completo: https://github.com/DarkCat736/SubscriptionManager/

Foto do simulador Xcode

Editor de código Xcode

Janela Xcode completa

O que eu esperava:

  • Cargas de programa
  • SubButton1 fica habilitado
  • var SubNumberestá definido para valor1
  • SubButton1 é clicado e outra cena é aberta

O que aconteceu:

  • Cargas de programa
  • SubButton1 fica habilitado
  • SubButton1 é clicado
  • O programa gera erro e para
ios
  • 1 respostas
  • 31 Views
Martin Hope
BPDev
Asked: 2023-09-07 09:40:08 +0800 CST

Como armazenar uma fonte no @AppStorage?

  • 6

Quero permitir que os usuários escolham uma fonte personalizada.

import SwiftUI

class FontPickerVM: ObservableObject {
    @AppStorage("custom_font") var font: Font? = nil
    // @Published var font: Font? = nil
}

extension Font: RawRepresentable {
    public typealias RawValue = String
    
    
    public init?(rawValue: RawValue) {
        
    }
    
    public var rawValue: RawValue {
        
    }
}

Como posso implementar RawRepresentablepara Font?


Estou usando um UIFontPickerViewControllerpara selecionar uma fonte.

import UIKit
import SwiftUI

public struct SUIFontPicker: UIViewControllerRepresentable {
    
    @Environment(\.presentationMode) var presentationMode
    private let onFontPick: (UIFontDescriptor) -> Void
    
    public init(onFontPick: @escaping (UIFontDescriptor) -> Void) {
        self.onFontPick = onFontPick
    }
    
    public func makeUIViewController(context: UIViewControllerRepresentableContext<SUIFontPicker>) -> UIFontPickerViewController {
        let configuration = UIFontPickerViewController.Configuration()
        configuration.includeFaces = true
        configuration.displayUsingSystemFont = false
        
        let vc = UIFontPickerViewController(configuration: configuration)
        vc.delegate = context.coordinator
        return vc
    }
    
    public func makeCoordinator() -> SUIFontPicker.Coordinator {
        return Coordinator(self, onFontPick: self.onFontPick)
    }
    
    public class Coordinator: NSObject, UIFontPickerViewControllerDelegate {
        
        var parent: SUIFontPicker
        private let onFontPick: (UIFontDescriptor) -> Void
        
        
        init(_ parent: SUIFontPicker, onFontPick: @escaping (UIFontDescriptor) -> Void) {
            self.parent = parent
            self.onFontPick = onFontPick
        }
        
        public func fontPickerViewControllerDidPickFont(_ viewController: UIFontPickerViewController) {
            guard let descriptor = viewController.selectedFontDescriptor else { return }
            onFontPick(descriptor)
            parent.presentationMode.wrappedValue.dismiss()
        }
        
        public func fontPickerViewControllerDidCancel(_ viewController: UIFontPickerViewController) {
            parent.presentationMode.wrappedValue.dismiss()
        }
    }
    
    public func updateUIViewController(_ uiViewController: UIFontPickerViewController,
                                       context: UIViewControllerRepresentableContext<SUIFontPicker>) {
        
    }
}

struct FontPicker: View {
    
    @State var isFontPickerPresented = false
    @Environment(\.font) var defaultFont
    
    @StateObject var vm = FontPickerVM()
    
    var body: some View {
        Button {
            isFontPickerPresented = true
            printDetails()
        } label: {
            Text("Select font")
        }
        .sheet(isPresented: $isFontPickerPresented) {
            SUIFontPicker { fontDescriptor in
                let newFont = UIFont(descriptor: fontDescriptor, size: 18)
                vm.font = Font(newFont as CTFont)
                printDetails()
            }
        }
        .font(vm.font)
    }
    
    func printDetails(){
        print("default font:", defaultFont ?? "")
        print("custom font:", vm.font ?? "")
    }
}



struct FontPicker_Previews: PreviewProvider {
    static var previews: some View {
        Form {
            FontPicker()
            FontPicker()
        }
    }
}

Tive que especificar um size UIFont(descriptor: fontDescriptor, size: 18), mas só quero alterar a família da fonte.

ios
  • 1 respostas
  • 15 Views
Martin Hope
Shawn Frank
Asked: 2023-09-07 06:21:45 +0800 CST

O tamanho do quadro UIButton não é atualizado para suportar o aumento do tamanho da fonte nas configurações

  • 5

Eu tenho um UIButton básico com as seguintes restrições:

UIButton autolayout restrição tamanho da fonte do texto dinâmico

Eu tenho algumas restrições básicas e superiores e uma restrição >= de largura e altura definida como 48, pois quero que 48 seja minha largura e altura mínimas para o botão.

Meu objetivo é fazer com que o texto no botão aumente à medida que o usuário altera o tamanho da fonte nas configurações.

Este texto no botão parece estar aumentando de tamanho, no entanto, o quadro não parece estar sendo atualizado para acomodar esse aumento.

insira a descrição da imagem aqui

Isto é o que quero dizer: definir o tamanho da fonte no painel de controle Painel de controle de tamanho de fonte de texto dinâmico iOS Swift

No entanto, se eu sair do aplicativo e iniciá-lo novamente, o tamanho do quadro será calculado corretamente e, ao alterar o tamanho do texto no painel de controle, parece fazer com que o tamanho da fonte no botão diminua e aumente adequadamente.

Aumento do tamanho do quadro UIButton

Parece que uma largura/altura máxima precisa ser determinada primeiro.

No código eu até configurei isso:

skipButton.titleLabel?.font = UIFont.font(forTextStyle: .body, fontName: .suecaNanoRegular, size: 14)
skipButton.titleLabel?.adjustsFontForContentSizeCategory = true

Como posso fazer com que meu UIButton suporte tamanhos de fonte dinâmicos em tempo de execução.

Aqui estão minhas outras configurações de botão, se isso ajudar na depuração.

Configurações do UIButton storyboard tamanho de texto dinâmico fonte swift iOS

ios
  • 1 respostas
  • 22 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve