Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von BerndFfm
Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am Gestern, im Forum: Cross Platform Entwicklung - Mobile und IoT


Kleiner Spaß ! Im ausführlichen Log des iPhones in Xcode habe ich gesehen dass der Dateiname nicht gestimmt hat, da hatte ich mich in Xcode vertippt.

Paket in Xcode signiert und Dateiname richtig geschrieben, jetzt geht es. Mit neuem Zertifikat und neuem Bereitstellungsprofil.

Jetzt gehts ins Training die App testen !

Danke für die Hilfe !

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am Gestern, im Forum: Cross Platform Entwicklung - Mobile und IoT


Jetzt gehts, ich sag aber nicht woran es lag.

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am Gestern, im Forum: Cross Platform Entwicklung - Mobile und IoT

Ich habe nur ein einziges Bereitstellungsprofil. Da sind alle Geräte eingetragen. Ich kann bis zu 100 iPhones und bis zu 100 iPads eintragen für den Beta Test.

Hab gerade bei Apple Developer angerufen. Die saßen bestimmt weit weg, Verständigung war schlecht.

Die sagen mir dass das Adhoc Deployment für ein Beta Test eigentlich keine offizielle Apple Methode wäre, man solle Testflight verwenden.

Ich bekomme Unterlagen wie das genau funktioniert.

Ich habe festgestellt dass in der plist Datei des adhoc Deployment einige Keys eingetragen sind. Vielleicht muss ich da einen Wert aktualisieren.

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am Gestern, im Forum: Cross Platform Entwicklung - Mobile und IoT


Ich habe gemerkt dass ich ja bei Erstellung eines neuen Zertifikates auch ein neues Bereitstellungsprofil erstellen muss.

Leider bekomme ich jetzt beim Archivieren auf dem Mac den Fehler : "Es wurden Konflikte zwischen verschiedenen Versionen von "Svg.Skia" gefunden, die nicht aufgelöst werden konnte.
Obwohl auf dem Mac keine Änderung gemacht wurde außer neues Bereitstellungsprofil laden.

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am Gestern, im Forum: Cross Platform Entwicklung - Mobile und IoT

Teilerfolg !

Ja, es dreht sich im Kreis.

Zuerst hatte ich die iOS App auf dem Windows Rechner ein Archiv erstellt und per Ad-hoc verteilt. Das geht aber immer nur einmal per Zertifikat. Das ist wohl seit Visual Studio 16.5 so weil der private Schlüssel nicht auf dem Windows Rechner gespeichert wird. Jedes Mal ein neues Zertifikat erstellt geht nicht weil man nur eine begrenzte Anzahl Zertifikate hat.

Dann habe ich das komplette Projekt auf den Mac kopiert und dort im Visual Studio ein Archiv erstellt und per Ad-hoc verteilt. Das ging leider auch nur einmal.

Der aktuelle Stand :
Die iOS App ließ sich weder auf dem Windows Rechner noch auf dem Mac kompilieren.
Es kam die Fehlermeldung 'Der iOS-Codesignaturschlüssel "Apple Distribution: Bernd Quambusch (818G3XCPH7)" wurde nicht im Schlüsselbund gefunden'
Und : "Private Key not found".

Bestehendes Zertifikat von der Apple Developer Website runterladen und installieren ging leider nicht.

Ich habe jetzt nach dieser Anleitung ein neues Zertifikat erstellt, diesmal aus Xcode auf dem Mac : distribution-certificate-private-key-not-installed

Jetzt kann ich sowohl auf dem Windows Rechner als auch auf dem Mac die App erstellen und auch ein Archiv erstellen. Ich kann sogar den privaten Schlüssel auf dem Mac exportieren und auf dem Windows Rechner importieren. Jetzt wird das Zertifikat unter Apple Accounts als gültig angezeigt.

Leider kann ich es beim ad-hoc Verteilen nicht auswählen, es wird immer das alte Profil geladen.

Auf dem Mac ging es nun im Visual Studio ein Archiv zu erstellen, per ad-hoc zu verteilen und eine IPA-Datei zu erstellen.

Ich teste die Datei jetzt mal und hoffe dass das nun immer so geht.

Update : Die erzeugte Datei lässt sich nicht auf einem iPhone installieren. Es kommt die Fehlermeldung "App kann nicht installiert werden".

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am im Forum: Cross Platform Entwicklung - Mobile und IoT


Die iOS App lässt sich leider immer noch nicht signieren.

Habe Zertifikat und Profil gelöscht und neu von developer.apple.com runtergeladen.

Nützt leider nichts.

Es kommt : Im Schlüsselbund wurde keine gültigen iOS Codesignaturschlüssel gefunden.

In der Schlüsselbundverwaltung erscheint das Zertifikat, es steht aber dabei "nicht vertrauenswürdig".

Die Anleitungen bei Microsoft funktionieren leider nicht, da sie die Zertifikate immer neu erstellen. Das kann ich aber nur 5 Mal machen, dann ist die maximale Anzahl erreicht.

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Danke für den Hinweis !

Unter Android / Verknüpfen (Linking) :

SDK-Assemblies : Erstellen gibt den obigen Fehler.
SDK-Assemblies und Benutzer Assemblies : App lässt sich erstellen, Absturz bei Aufruf der Karte (MapSUI, HttpGet),
Keine : App lässt sich erstellen, Alles läuft

Wie große die App wird ist mir egal. Die Handys haben ja genug Speicher.

Unter iOS bekomme ich leider den Fehler "codesign mit Code 1 beendet". Scheint ein Fehler bei der Signierung zu sein.
Ich sehe dass gerade dass beim Zertifikat "Nicht in keychain" angezeigt wird. Mal sehen wie ich das weg kriege.

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am im Forum: Cross Platform Entwicklung - Mobile und IoT


Danke für den Hinweis.

Da im Visual Studio aufm mac ein Fehler kam habe ich die nuget Pakete aktualisiert, MapSUI z.B. von 3.0.0 rc1 nach 3.0.0 rc2. Der Fehler kam immer noch.

Dann habe ich auf dem Windows Rechner auch alle nuget Pakete akualisiert, jetzt kam unter Android auch ein Fehler, der den ich oben geschrieben habe.

Zum Glück mache ich jede Stunde ein Voll-Backup des Projektes.

Mit deinen Tipps werde ich versuchen die Fehler zu beheben. Wenn das nicht geht geh ich zurück auf ein Projekt vom Vortag. Es ist immer einfach die paar Änderungen einzubauen.

Vielleicht ändere ich die Vorgehensweise dass ich nicht den gleichen Sourcecode für Windows und Mac benutze, sondern auf beiden Systemen getrennt entwickle.

Da muss ich dann Änderungen auf beiden Systemen vornehmen, wäre aber kein Problem.

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am im Forum: Cross Platform Entwicklung - Mobile und IoT


Zu früh gefreut.

Beim nächsten Update gab es wieder Fehlermeldungen auf dem mac, diesmal andere als vorher.

Android Version war in 5 Minuten erstellt.

Wieder 2 Tage an der iOS Version gebaut, jetzt kommt ein Versionsfehler in einem nuget Paket. Habe dann alle 4 nuget Pakete aktualisiert und nun geht gar nichts mehr :

Fehler
Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler Mono.Linker.MarkException: Error processing method: 'System.Void XamarinForms.LocationService.Views.MapPage/<Button_Clicked_Menu_Layer>d__161::MoveNext()' in assembly: 'XamarinForms.LocationService.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.Void Mapsui.Layers.LayerCollection::Add(Mapsui.Layers.ILayer[])
bei Mono.Linker.Steps.MarkStep.HandleUnresolvedMethod(MethodReference reference)
bei Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference reference)
bei Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction)
bei Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
bei Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
bei Mono.Linker.Steps.MarkStep.ProcessQueue()
--- Ende der internen Ausnahmestapelüberwachung ---
bei Mono.Linker.Steps.MarkStep.ProcessQueue()
bei Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
bei Mono.Linker.Steps.MarkStep.Process()
bei Mono.Linker.Steps.MarkStep.Process(LinkContext context)
bei MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context)
bei Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
bei Mono.Linker.Pipeline.Process(LinkContext context)
bei MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context)
bei Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)
bei Xamarin.Android.Tasks.LinkAssemblies.RunTask()
bei Microsoft.Android.Build.Tasks.AndroidTask.Execute() in /Users/builder/azdo/_work/1/s/xamarin-android/external/xamarin-android-tools/src/Microsoft.Android.Build.BaseTasks/AndroidTask.cs:Zeile 17. XamarinForms.LocationService.Android

Schweregrad Code Beschreibung Projekt Datei Zeile Unterdrückungszustand
Fehler Mono.Linker.MarkException: Error processing method: 'System.Void XamarinForms.LocationService.Views.MapPage::.ctor()' in assembly: 'XamarinForms.LocationService.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve Mapsui.Layers.TileLayer Mapsui.Utilities.OpenStreetMap::CreateTileLayer(System.String)
bei Mono.Linker.Steps.MarkStep.HandleUnresolvedMethod(MethodReference reference)
bei Mono.Linker.Steps.MarkStep.MarkMethod(MethodReference reference)
bei Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction)
bei Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
bei Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
bei Mono.Linker.Steps.MarkStep.ProcessQueue()
--- Ende der internen Ausnahmestapelüberwachung ---
bei Mono.Linker.Steps.MarkStep.ProcessQueue()
bei Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
bei Mono.Linker.Steps.MarkStep.Process()
bei Mono.Linker.Steps.MarkStep.Process(LinkContext context)
bei MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context)
bei Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
bei Mono.Linker.Pipeline.Process(LinkContext context)
bei MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context)
bei Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)
bei Xamarin.Android.Tasks.LinkAssemblies.RunTask()
bei Microsoft.Android.Build.Tasks.AndroidTask.Execute() in /Users/builder/azdo/_work/1/s/xamarin-android/external/xamarin-android-tools/src/Microsoft.Android.Build.BaseTasks/AndroidTask.cs:Zeile 17. XamarinForms.LocationService.Android

Liegt wohl am Update der Mapsui Komponente. Nach Deinstallation und Installation der alten Version bleibt der Fehler leider.

Die Frage ist nun ob Xamarin Forms überhaupt geeignet ist um Apps für den Produktiv Betrieb zu erstellen.

Vielleicht wird es mit Visual Studio 2022 besser wenn NET.Maui kommt.

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am im Forum: Cross Platform Entwicklung - Mobile und IoT


Der Hinweis hat mir weitergeholfen : Ich habe das gesamte Projekt auf den mac mini kopiert und dort das Archiv erstellt und signiert. Im Visual Studio for mac.

Das lief auf Anhieb !

Der Windows Rechner bekommt seit Version 16.5 keinen private key mehr aus dem developer portal, ich bezweifele dass man da überhaupt eine App signieren kann. Hat wohl noch keiner hinbekommen.

Leider werden alle Bereitstellungsprofile angezeigt die ich je erstellt hatte, das sind mehr als 10. Obwohl ich die alten alle gelöscht habe. Es ist ein Geduldsspiel das richtige Profil auszusuchen. Sie heißen alle gleich und das Erstellungsdatum wird nicht angezeigt.

Grüße Bernd

Thema: Wie baue ich am Besten einen Webshop?
Am im Forum: Smalltalk


Für mich der Top Shop für : Durchdachte Struktur, Stabilität, Möglichkeiten, Schnittstelle, Dokumentation, Support.

Da die Anforderungen immer individuell sind muss man sich das immer selber anschauen.

Für viele Anwendungen ist er sicher oversized.

WooCommerce kenne ich nicht, das hatte damals keine ausreichende API. Scheint aber inzwischen anders zu sein.

Grüße Bernd

Thema: Wie baue ich am Besten einen Webshop?
Am im Forum: Smalltalk

Inzwischen habe ich einige Shopware Shops eingerichtet.

Für mich eines der besten Shopsysteme.

API geht über JSON.

Nachteile : API schlecht dokumentiert, Feldtypen können sich ändern (statische Klassen dann nicht möglich), Rechenfehler im Warenkorb, API hat verschiedene Formate für Import und Export, es gibt nicht für alle Tabellen eine API. Dazu ist die Medienverwaltung recht umständlich und bläst die Datenbank oft auf. Die PDF-Medien bekommen unleserliche Darteinamen.

Shopware ist wie ein Mercedes, wenig Extras aber stabil. Jedes Extra kostet Geld.

Man braucht einen schnellen Webserver mit SSD, sonst ist der Shop zu langsam.

Unser Testshop : Quasar-3 Web-Shop

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am im Forum: Cross Platform Entwicklung - Mobile und IoT


Danke für den Tipp. Werde ich testen.

Bei dem Link geht es zwar um die Veröffentlichung im Store, die Signatur wird aber die gleiche sein.

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am im Forum: Cross Platform Entwicklung - Mobile und IoT


Ich suche nun 3 Tage nach einer Lösung für den Fehler

"Die IPA-Datei für die Verteilung des Archivs ... konnte nicht erstellt werden.
/usr/bin/codesign wurde mit Code 1 beendet.
Fehler beim Codesignieren von ..."

Es gibt viele Leute die den Fehler auch haben, aber keine Lösung. Es gibt einige Workarounds, die funktioniere bei mir leider nicht.
Probiert habe ich : Mac neu starten. Neues Zertifikat von Apple installieren. Clean Solution. Lock/Unlock Keychain.

Grüße Bernd

Thema: Performance-Verbesserungen in .NET 6
Am im Forum: Szenenews


T-Virus : Ja, ich bin sehr gespannt auf VS 2022. Vor allem 64 bit und Maui interessiert mich.

Ja, sorry, geht mehr um VS als um .NET.

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am im Forum: Cross Platform Entwicklung - Mobile und IoT


Ich wollte heute eine neue Version der App veröffentlichen.

Android war nach 5 Minuten fertig. iOS versuche ich nun 4 Stunden und gebe nun auf.

Die letzte Fehlermeldung : Die IPA-Datei für die Verteilung des Archivs ... konnte nicht erstellt werden.
/usr/bin/codedesign mit Code 1 beendet
Fehler beim Codesigniieren von ...

Ich werde mir überlegen ob ich in Zukunft noch für Apple entwickle.

Grüße Bernd

Thema: Performance-Verbesserungen in .NET 6
Am im Forum: Szenenews

Ich benutze Visual Studio seit der Version 2003, also seit 18 Jahren. Ich hatte noch nie ein Problem mit der Performance der Applikation.

Optimieren muss man nur die Datenbankzugriffe. Der Rest war immer schnell. Ich baue sogar manchmal Verzögerungen ein damit man sieht das was passiert.

Anders ist es bei der Entwicklungsumgebung. Die wird immer langsamer.

Seit VS 2019 ist das ganz schlimm geworden. Hab mir extra einen neuen Rechner mit SSD Array aufgebaut, ist immer noch sehr langsam.

Es kommt oft die Meldung "Code Änderungen werden angewandt ...". Ich denke das hat mit dem geplanten Neucompilieren von Änderungen zu tun. Oder VS hängt einfach mehrere Minuten.

Ganz schlimm ist es beim Kompilieren für iOS : Das Verbinden mit einem Mac dauert ca. 5 Minuten, dabei ist alles gesperrt, man kann nichts eingeben. In 50% der Fälle klappt es nicht, man muss es wiederholen. Es gibt keine Meldung ob die Verbindung erfolgreich war. Nach 10 Minuten beendet sich die Verbindung zum Mac.

Ich denke dass ein schnellerer Rechner keinen Sinn macht, da wartet man dann 4 statt 5 Minuten.

Ich bezweifele dass die Entwicklung in die richtige Richtung geht.

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Jetzt hat es so geklappt : iPhone an den mac anschließen, dort VS starten, dann auf dem Windows Rechner in VS das iPhone als Remote Gerät starten.

Vorher hatte ich das aber immer anders gemacht.

Die Meldung heißt auf englisch übrigens : Can't create iOS Archive because Selected device doesn't support archiving.

Grüße Bernd

Thema: Das ausgewählte Gerät unterstützt keine Archivierung
Am im Forum: Cross Platform Entwicklung - Mobile und IoT


Nachdem ich einige Hürden bei Signierung und Provisionierung lösen konnte scheitere ich jetzt am Erstellen eines Archives.

iPhone 6s mit iOS 14.71 ist am Windows PC angeschlossen. App auf dem iPhone ist gelöscht.

Der Windows Rechner ist mit dem mac verbunden.

Dort starten ich im iOS Projekt auf dem Windows Rechner "Bereinigen" "Neu Erstellen" "Starten ohne Debuggen"

Ausgabegerät ist "iPhone 6s" in Release-Konfiguration.

Wenn ich dann wähle "Achivieren..." kommt folgende Fehlermeldung :

Fehler
Das ausgewählte Gerät unterstützt keine Archivierung.
Das ausgewählte iOS-Gerät wird zum Erstellen eines Archivs nicht unterstützt.

Es hat aber schon mal funktioniert.

Woran kann das liegen ?

Grüße Bernd

Thema: Werte aus der Datenbank auslesen
Am im Forum: Datentechnologien


Hier verbinde ich mich mit der Datenbank und lese Werte in das DataSet :


conn.Open();
int anzahl = da.Fill(ds, "Kunde");

In 'anzahl' findest Du die Anzahl der geladenen Zeilen.

Findest Du in meinem Link oben.

Grüße Bernd

Thema: Werte aus der Datenbank auslesen
Am im Forum: Datentechnologien


Du fügst 2 Zeilen in das DataSet im Speicher ein, nicht in die Datenbank.

Auf die Datenbank greifst Du überhaupt nicht zu.

Hier ein paar Beispiele wie man Daten einfügt und abruft : https://download.seven-c.de/files/DatenbankenHowTo.htm

Grüße Bernd

Thema: dynamische Code evaluierung
Am im Forum: Rund um die Programmierung


Es gibt Anwendungen wo eine variable Struktur in json serialisiert wird und dann in einer Datenbank gespeichert wird.

Grüße Bernd

Thema: Zur Laufzeit erstellter Button nach Klick Text ändern
Am im Forum: GUI: Windows-Forms

Mit modalem Dialog geht das ganz kurz :


Button button1 = new Button();
button1.Text = "&Abbrechen";
....Add(button1);

dlgAbfrage dlg = new dlgAbfrage();
dlg.ShowDialog();

button1.Text = "&Schließen";

Wenn der Text vom Dialog abhängig ist :


DialogResult result = dlg.ShowDialog();
//oder
string auswahl = dlg.Auswahl;
if (...)

Das wird in dem Artikel "Kommunikation von 2 Forms" erklärt.

Wenn mehrere Buttons den gleichen Click Events aufrufen:


((Button)sender).Text = "&Schließen";

Grüße Bernd

Thema: Vorstellung Projekt 'Finderwille Einsatz App'
Am im Forum: Smalltalk


Ich glaube es war eine schlechte Idee als erste Mobile App eine App zu wählen die im Hintergrund laufen soll.

Die App läuft auf Android und iOS manchmal stabil über mehrere Stunden im Hintergrund, manchmal bricht sie sofort ab wenn der Bildschirmschoner angeht.

Woran das liegt weiß ich nicht. Hat da jemand eine Idee ?

Weitere Hürden :

"Error archiving ..."
Xamarin Einstellungen Archives auf C:\Archives einstellen. Der Default Pfad ist länger als 255 Zeichen und erzeugt einen Fehler in Windows.

"iOS Lock Down Error. Mux Error."
iPhone neu starten, dann gehts.

"Error deleting /bin/obj/"
Pfad /bin/obj/ manuell löschen, dann gehts.

Ich glaube dass Xamarin Forms noch nicht so gut in Visual Studio integriert ist. Ich hoffe das wird besser mit .NET Maui.

Grüße Bernd

Thema: Manuelle Signierung von App für Android und iOS
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

Die "Hürden" die ich hatte :

Zertifikat und Bereitstellungsprofil im Apple Developer Portal erstellt. Im Visual Studio kann man die runterladen. Leider laufen die dann nicht. Wenn man aus dem VS ein neues Zertifikat erstellt geht es, aber das geht nur 6 Mal nacheinander.

Der Fehler der angezeigt wird heißt "No Keychain".
Das Problem : Der private Schlüssel wird seit VS 16.5 nicht mehr automatisch auf den Windows Rechner übertragen.
Lösung : Zertifikate auf dem Mac runterladen und dort mit privatem Schlüssel speichern (*.p12). Auf dem Windows Rechner im VS importieren und dann geht es.

2. Hürde : Auf Windows Rechner kam immer die Fehlermeldung "Visual Studio Essentials ... erfordert Kennwort". Ich hatte aber keines vergeben.
Lösung : Den Eintrag "Visual Studio Essentials ..." im Schlüsselbund des Mac Rechners löschen.

3. Hürde : Wenn man ein neues Zertifikat oder Profil erstellt bleiben die alten im VS bestehen, obwohl sie im Developer Portal gelöscht sind. So werden 5 Profile angezeigt mit gleichen Namen, aber nur eines ist richtig.
Lösung : Die Zertifikate und Profile werden in Dateien in
C:\Users\..\AppData\Local\Xamarin\iOS\Provisioning\Certificates
und
C:\Users\..\AppData\Local\Xamarin\iOS\Provisioning\Profiles
abgelegt. Die Dateien in diesen Verzeichnissen einfach löschen.

Grüße Bernd

PS.: Alles ohne Gewähr ! Vor allem das Löschen von Sachen !

Thema: Manuelle Signierung von App für Android und iOS
Am im Forum: Cross Platform Entwicklung - Mobile und IoT

ich habe bisher die automatische Bereitstellung des Visual Studio benutzt um eine App für das iOS zu erzeugen.

Das war aber keine gute Idee weil das VS dann jedes Mal eine neues Zertifikat erstellt und die Zahl von 6 erlaubten Zertifikaten schnell voll ist.

Bei der manuellen Bereitstellung kann man alles selber kontrollieren was benutzt wird.

Vorher muss man aber noch die alten Zertifikate und Profile im Dateisystem löschen weil man sonst eine Liste von 10 gleichen Zertifikaten hat und nicht weiß welches überhaupt noch gültig ist.

Leider bekommt man bei der manuellen Bereitstellung die Fehlermeldung "Not in keychain". Man muss dann noch den privaten Schlüssel vom Mac Rechner auf den Windows Rechner kopieren und importieren. Das ist leider in keiner Doku erwähnt.

Benutzt hier noch jemand VS unter Windows um iOS Apps zu entwickeln ?

Lohnt es sich wenn ich hier Fragen dazu stellen oder auch Lösungen vorstelle ?

Grüße Bernd

Thema: String auf mehrere Zeilen prüfen
Am im Forum: GUI: Windows-Forms

Falls das .NET auf einem System nicht korrekte Werte zurückgibt würde ich die Zeichen nicht in die if Abfrage einbauen sondern eher eine eigene Methode schreiben :


if (Text.Contains(EnvironmentNewLine()))
    ...

public string EnvironmentNewLine()
{
    if (Environment.OS == "IBM Xenix") return "\n";      // nur ein Beispiel
    else return Environment.NewLine;
}


Wenn ich eine Abfrage nur einmal brauche und das dann auch noch so selbstbeschreibend ist speichere ich nicht in einer Zwischenvariablen.

Grüße Bernd

Thema: String auf mehrere Zeilen prüfen
Am im Forum: GUI: Windows-Forms


if (Text.Contains(Environment.NewLine)) ...

Grüße Bernd

Thema: Anzahl Checkbox checked als Wert für for Schleife
Am im Forum: Grundlagen von C#

Hallo Tommy,

die Namen der Controls zur Laufzeit zusammensetzen, was Du ursprünglich machen wolltest, ist oft keine gute Lösung. Zum einen kann der Compiler nicht gut optimieren, zum anderen können Laufzeitfehler auftreten die der Compiler nicht beim Übersetzen merken kann.

Die Übertragung der angelegten Controls in ein Array, wie oben von Th69 vorgeschlagen, finde ich auch die beste Lösung : Anlegen der Controls im Designer und trotzdem Zugriff über eine Schleife.

Ich schreibe nochmal wie das aussehen kann :


TextBox[] tb = new TextBox[] { textBox1, textBox2, textBox3 };
CheckBox[] cb = new CheckBox[] { checkBox1, checkBox2, checkBox3 };
for (int i = 0; i < cb.Length; i++) tb[i].Enabled = cb[i].Checked;

Kürzer geht es kaum.

Wenn jemand eine Checkbox wieder auf unchecked setzt soll dann das zugehörige Textfeld wieder disabled werden ? Das fehlt in deinem Code.

Grüße Bernd

Thema: FTPS mit Framework 4.0
Am im Forum: Netzwerktechnologien

WinSCP hat eine DLL die man einfach einbinden kann.

Das kann ALLES !

WinSCP .NET Assembly and COM Library :: WinSCP

Man muss dazu WinSCP nicht installieren, es reicht die WinSCP.exe ins Programmverzeichnis zu kopieren (das steht nicht in der Doku).

Wenn Du die Auswahl hast nimm SFTP und nicht FTP over SSL (FTPS), bei mir lief das viel besser.

Grüße Bernd