Heim Backend-Entwicklung PHP-Tutorial Fragen zur iOS-Entwicklung (9)

Fragen zur iOS-Entwicklung (9)

Jan 20, 2017 am 09:47 AM

101. Kompilierungsfehler: ld: Bibliothek für -lPods nicht gefunden
Dieser Fehler tritt häufig auf, wenn CocoaPods im Projekt verwendet wird (normalerweise während der Veröffentlichung).
Das liegt daran, dass CocoaPods nach der Pod-Installation einen neuen Arbeitsbereich erstellt. Sie müssen das Projekt schließen und erneut öffnen. Das Problem ist gelöst.
102. Warum ist die iOS-Zeit immer 8 Stunden langsamer als die Echtzeit?
Zum Beispiel muss eine Pekinger Zeit „2014-4-4 22:00“ (Zeichenfolge) in NSDate umgewandelt werden. Die Konvertierung von Zeichenfolgen in NSDate erfolgt im Allgemeinen über NSDateFormatter. Unter iOS wird NSDate in GMT-Zeit gespeichert, sodass NSDateFormatter automatisch die Ortszeit der aktuellen Zeitzone der Zeichenfolge verarbeitet, d. h. die konvertierte Peking-Zeit (Zeichenfolge „2014-4-4 22:00“) in GMT umwandelt Uhrzeit („2014-4-4 14:00“). Wenn Sie dieses NSDate (longlong, die Anzahl der Sekunden oder Millisekunden seit 1970) direkt an den Server übergeben, verwendet der Server diese Zeit als Peking-Zeit (tatsächlich ist es GMT-Zeit), was zu einem Zeitunterschied von 8 Stunden führt.
Der richtige Ansatz besteht darin, den Zeitunterschied basierend auf diesem NSDate hinzuzufügen. Für die Berechnung des Zeitunterschieds ist die Kenntnis der aktuellen Zeitzone erforderlich. [NSTimeZonesystemTimeZone] kann die aktuelle Zeitzone (East 8 Zone) abrufen und dann die Methode secondsFromGMTForDate: verwenden, um den Zeitunterschied (in Sekunden) dieser Zeitzone (East 8 Zone) abzurufen. Der Code lautet wie folgt:

NSDateFormatter* df=[NSDateFormatter new];
// [dfsetLocale:[NSLocale currentLocale]];
df.dateFormat=@"yyyy-MM-dd HH:mm";
NSDate* date=[dfdateFromString:@"2014-4-4 22:00"];
NSTimeZone *zone =[NSTimeZone systemTimeZone];
NSInteger interval = [zonesecondsFromGMTForDate: date];
NSDate *localeDate =[date dateByAddingTimeInterval:interval];
NSLog(@"%@",localeDate);
Nach dem Login kopieren

103. Deaktivieren Sie die Tastatur-Popup-Animation in UITableViewController.
TableViewController verfügt über einen integrierten Code für die Tastatur-Popup-Animation Zelle öffnet die Softtastatur, die Tabellenansicht scrollt automatisch nach oben. Diese Funktion verursacht jedoch manchmal große Probleme, da das Eingabesteuerelement manchmal an eine unsichtbare Stelle gescrollt wird. Da wir den Framework-Code nicht ändern können, müssen wir in diesem Fall auf die Verwendung von TableViewController (Unterklassen) verzichten und stattdessen den allgemeinen UIViewController+UITableView verwenden. Aber manchmal müssen wir TableViewContrller verwenden – wenn wir beispielsweise seine statischen Zellen verwenden möchten, können wir das Problem mit den folgenden Methoden lösen. Überschreiben Sie die viewWillAppear-Methode in der UITableViewController-Unterklasse, um das viewWillAppear-Verhalten der übergeordneten Klasse zu deaktivieren. Rufen Sie also nicht [superviewWillAppear:animated] auf:

-(void)viewWillAppear:(BOOL)animated{
// Override super method with don'tcall [super viewWillApper]
}
Nach dem Login kopieren

104. Wann sollten Sie NSCache verwenden?
NSCache gibt automatisch eines der Cache-Objekte entsprechend der Speicherauslastung frei (z Beispiel: Die Ansicht ist zerstört oder es sind zu viele zwischengespeicherte Objekte vorhanden. Daher müssen die von NSCache zwischengespeicherten Objekte wie diese Objekte wiederhergestellt werden können – Daten, die bei Bedarf aus dem Netzwerk heruntergeladen werden können. Andernfalls sollten Sie NSCache nicht verwenden – das Objekt wird irgendwann zerstört.
Daher müssen Sie bei der Verwendung von NSCache darauf achten, dass das abgerufene Objekt nicht im Cache vorhanden ist:

-(CachedObject)getCachedObject:(id)key{
id* obj=[NSCacheObjectobjectForKey:key];
if (cb==nil) {
obj=[[CachedObjectalloc]init]; // Recreate cached object
……
}
return obj;
}
Nach dem Login kopieren

105. Pods-Archivproblem auf Xcode5
Problembeschreibung: Der folgende Fehler tritt beim
Archivieren auf (dies kann beim Debuggen normal sein):
ld: Bibliothek für -lPods nicht gefunden
Das Problem liegt daran, dass Xcode5.x jetzt die Architektur von Abhängigen erkennt Projekte und ihre Einstellungen müssen mit dem Hauptprojekt übereinstimmen, andernfalls wird das abhängige Projekt abgelehnt (d. h. es wird nicht kompiliert).
Lösung:
Stellen Sie unter allen Zielen des Pods-Projekts deren Architektur so ein, dass sie mit dem Hauptprojekt übereinstimmt.
106. So überprüfen Sie die von einer statischen Bibliothek unterstützte Architektur
Verwenden Sie den Befehl „lipo -info statische Bibliotheksdatei“, zum Beispiel:
lipo -info Unrar4iOS
Dann wird das Terminal wie folgt angezeigt :
Architekturen in der FAT-Datei: Unrar4iOS sind: armv7 armv6 i386
107. Die Einführung bestimmter statischer Bibliotheken in das Projekt führt zu dem Fehler „Undefinierte Symbole für Architektur armv7s/arm64“ im Archiv
As in Frage 105 erwähnt. Neben der Lösung in Frage 105 gibt es noch einen weiteren Workaround.
Überprüfen Sie zunächst die Architektur der statischen Bibliothek (siehe Frage 106). Ändern Sie dann das Schema, um die Architektur der statischen Bibliothek zu unterstützen. Ändern Sie dann „Build Active ArchitectureOnly“ in den Buid-Einstellungen (kompilieren Sie nur für die ausgewählte Architektur) und ändern Sie den Wert auf „Ja“. Dann kompilieren Sie es.
108. Unter Autolayout ist die Höhe von UITableView falsch.
Wenn unter Autolayout eine Navigationsleiste vorhanden ist, wird die UITableView in der Ansicht durch Einschränkungen eingeschränkt und die Laufzeithöhe wird durch Einschränkungen auf die Höhe ohne Navigation zurückgesetzt Bar. Zu diesem Zeitpunkt sollte die Methode viewDidLayoutSubviews implementiert werden, um den Einfluss von Einschränkungen zu beseitigen:

- (void)viewDidLayoutSubviews {
_table.frame=CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height);
}
Nach dem Login kopieren

109 Wie ändere ich den Titel der Standard-Zurück-Schaltfläche?
Angenommen, die Navigation lautet: A-Ansicht --> B-Ansicht
Wenn Sie den Titel der Zurück-Schaltfläche von Ansicht B ändern möchten, um zu Ansicht A zurückzukehren, verwenden Sie einfach den folgenden Code in Ansicht A:

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"返回" style:UIBarButtonItemStylePlain target:self action:nil];
B视图不用做任何操作。
Nach dem Login kopieren

110. Es gibt ein leeres Objekt, aber es ist weder Null noch Null?
Es ist NSNull. Sie können dieses Objekt drucken (mit dem Befehl po oder NSLog), und das gedruckte Ergebnis ist „“ anstelle von „(null)“ (Null-Objekt).
Da O-C-Sammlungsobjekte das Einfügen von Nullwerten (Null) nicht zulassen und NSNull nicht Null ist, wird das NSNull-Objekt verwendet, um anzuzeigen, dass die Sammlung leer ist (was das Ende der Liste anzeigt). Außerdem führt das Senden einer Nachricht an einen NSNull im Gegensatz zu Null zu einer Ausnahme.
NSNull hat die einzige Methode: [NSNull null] Sie können damit testen, ob ein Objekt NSNull ist:

BOOL isNSNull(id any){
return [any isEqual:[NSNullnull]];
}
Nach dem Login kopieren

以上就是iOS 开发百问(9)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Die erste Version von Apples iOS 18 wies zahlreiche Fehler auf: schweres Fieber, WeChat-Verzögerung Die erste Version von Apples iOS 18 wies zahlreiche Fehler auf: schweres Fieber, WeChat-Verzögerung Jun 13, 2024 pm 09:39 PM

Die jährliche WWDC ist zu Ende und iOS18 steht zweifellos im Mittelpunkt aller Aufmerksamkeit. Derzeit beeilen sich viele iPhone-Nutzer, auf iOS18 zu aktualisieren, aber verschiedene Systemfehler bereiten den Menschen Unbehagen. Einige Blogger sagten, dass man beim Upgrade auf iOS18 vorsichtig sein sollte, weil „es so viele Fehler gibt“. Der Blogger sagte, wenn Ihr iPhone Ihr Hauptgerät ist, wird empfohlen, kein Upgrade auf iOS18 durchzuführen, da die erste Version viele Fehler aufweist. Er fasste auch mehrere derzeit aufgetretene Systemfehler zusammen: 1. Beim Umschalten des Symbolstils bleibt das Symbol hängen. 2. Die Animation in der Taschenlampenbreite geht häufig verloren. 3. Die Douyin-App kann keine Videos hochladen 10 Sekunden. 5. Gelegentlich kann das Telefon nicht eingeschaltet werden und der Bildschirm ist schwarz. 6. Starkes Fieber.

Apple veröffentlicht das iOS/iPadOS 18 Beta 4-Update erneut, die Versionsnummer wurde auf 22A5316k erhöht Apple veröffentlicht das iOS/iPadOS 18 Beta 4-Update erneut, die Versionsnummer wurde auf 22A5316k erhöht Jul 27, 2024 am 11:06 AM

Vielen Dank an die Internetnutzer Ji Yinkesi, xxx_x, gebratene Tomaten, Terrence und würzige Hähnchenkeulen für die Übermittlung von Hinweisen! Laut Nachrichten vom 27. Juli hat Apple heute das iOS/iPadOS 18 Beta 4-Update für Entwickler erneut veröffentlicht. Die interne Versionsnummer wurde von 22A5316j auf 22A5316k aktualisiert. Der Unterschied zwischen den beiden Beta 4-Versionsupdates ist derzeit unklar. Registrierte Entwickler können die App „Einstellungen“ öffnen, den Abschnitt „Software-Update“ aufrufen, auf die Option „Beta-Update“ klicken und dann die Entwickler-Beta-Einstellungen für iOS18/iPadOS18 umschalten, um die Beta-Version auszuwählen. Zum Herunterladen und Installieren der Betaversion ist eine Apple-ID erforderlich, die mit einem Entwicklerkonto verknüpft ist. Gemeldet am 24. Juli iO

Apple veröffentlicht Open-Source-Swift-Paket für homomorphe Verschlüsselung, bereitgestellt in iOS 18 Apple veröffentlicht Open-Source-Swift-Paket für homomorphe Verschlüsselung, bereitgestellt in iOS 18 Jul 31, 2024 pm 01:10 PM

Laut Nachrichten vom 31. Juli hat Apple gestern (30. Juli) eine Pressemitteilung herausgegeben, in der die Einführung eines neuen Open-Source-Swift-Pakets (swift-homomorphic-encryption) zur Ermöglichung homomorpher Verschlüsselung in der Programmiersprache Swift angekündigt wird. Hinweis: Homomorphe Verschlüsselung (HE) bezieht sich auf einen Verschlüsselungsalgorithmus, der die homomorphen Operationseigenschaften von Chiffretext erfüllt. Das heißt, nach der homomorphen Verschlüsselung der Daten werden spezifische Berechnungen für den Chiffretext durchgeführt und die erhaltenen Chiffretext-Berechnungsergebnisse werden gleichzeitig verarbeitet Der Klartext nach der Zustandsentschlüsselung entspricht der direkten Durchführung derselben Berechnung für die Klartextdaten, wodurch die „Unsichtbarkeit“ der Daten erreicht wird. Die homomorphe Verschlüsselungstechnologie kann verschlüsselte Daten berechnen, ohne dass die zugrunde liegenden unverschlüsselten Daten an den Betriebsprozess weitergegeben werden.

Aktualisieren | Hacker erklärt, wie man Epic Games Store und Fortnite auf dem iPad außerhalb der EU installiert Aktualisieren | Hacker erklärt, wie man Epic Games Store und Fortnite auf dem iPad außerhalb der EU installiert Aug 18, 2024 am 06:34 AM

Update: Saunders Tech hat auf seinem YouTube-Kanal ein Tutorial hochgeladen (Video unten eingebettet), in dem erklärt wird, wie man Fortnite und den Epic Games Store auf einem iPad außerhalb der EU installiert. Für den Prozess sind jedoch nicht nur bestimmte Betaversionen von iO erforderlich

Neue Funktionen von Apples iOS 18 „Boundless Notes'-App: erweiterte Szenenfunktionalität, Einführung der Rasterausrichtung Neue Funktionen von Apples iOS 18 „Boundless Notes'-App: erweiterte Szenenfunktionalität, Einführung der Rasterausrichtung Jun 02, 2024 pm 05:05 PM

Laut Nachrichten vom 1. Juni veröffentlichte das Technologiemedium AppleInsider heute einen Blogbeitrag, in dem es heißt, dass Apple eine neue Navigationsfunktion von „Szenen“ für die Anwendungserweiterung „Freeform“ im iOS18-System einführen und neue Optionen für die Objektausrichtung hinzufügen wird. Einführung in die „Wubianji“-Anwendung Lassen Sie uns zunächst kurz die „Wubianji“-Anwendung vorstellen. Die Anwendung wird im Jahr 2022 gestartet und hat derzeit iOS-, iPadOS-, macOS15- und visionOS-Versionen auf den Markt gebracht. Die offizielle Einführung von Apple lautet wie folgt: „Boundless Notes“ ist ein hervorragendes Werkzeug, um Inspiration in die Realität umzusetzen. Skizzieren Sie Projekte, entwerfen Sie Moodboards oder beginnen Sie mit dem Brainstorming auf einer flexiblen Leinwand, die nahezu jeden Dateityp unterstützt. Mit iCloud alle Ihre Boards

Apple iOS 17.5 RC-Version veröffentlicht: Ermöglicht EU-iPhone-Benutzern das Herunterladen von Apps von der Website Apple iOS 17.5 RC-Version veröffentlicht: Ermöglicht EU-iPhone-Benutzern das Herunterladen von Apps von der Website May 08, 2024 am 09:30 AM

[Klicken Sie hier, um direkt zum Upgrade-Tutorial zu gelangen] Laut Nachrichten vom 8. Mai hat Apple das iOS17.5RC-Update (interne Versionsnummer: 21F79) heute 70 Tage nach der letzten Veröffentlichung an iPhone-Benutzer weitergegeben. Wie aktualisiere ich die iOS/iPadOS/watchOS/macOS-Entwicklungsversion und die öffentliche Betaversion? Um die Vorschauversion für iOS/iPadOS17-Entwickler und die öffentliche Betaversion zu aktualisieren, können Sie auf die von Freunden geteilten Erfahrungen verweisen: Erfahrungsbeitrag 1||Erfahrungsbeitrag 2||Erfahrungsbeitrag 3||Erfahrungsbeitrag 4. Ab iOS/iPadOS 16.4 Developer Preview Beta 1 müssen Sie sich für das Apple Developer Program registrieren. Öffnen Sie nach der Registrierung das System [Einstellungen] [Software-Update], um die Upgrade-Option anzuzeigen. Bitte beachten Sie, dass Ihr iPhone oder IP

Apple iOS/iPadOS 18 Developer Preview Beta 4 veröffentlicht: CarPlay-Hintergrundbilder hinzugefügt, Einstellungsoptionen sortiert, verbesserte Kamerasteuerung Apple iOS/iPadOS 18 Developer Preview Beta 4 veröffentlicht: CarPlay-Hintergrundbilder hinzugefügt, Einstellungsoptionen sortiert, verbesserte Kamerasteuerung Jul 24, 2024 am 09:54 AM

Vielen Dank an die Internetnutzer Spicy Chicken Leg Burger, Soft Media New Friends 2092483, Handwriting Past, DingHao, Xiaoxing_14, Wowotou Eat Big Kou, Feiying Q, Soft Media New Friends 2168428, Slades, Aaron212, Happy Little Hedgehog, Little Earl, Clues for the little Milchkatze, die Fisch frisst! [Klicken Sie hier, um direkt zum Upgrade-Tutorial zu gelangen] Laut Nachrichten vom 24. Juli hat Apple heute das iOS/iPadOS18-Entwicklervorschau-Update Beta4 (interne Versionsnummer: 22A5316j) für iPhone- und iPad-Benutzer bereitgestellt. Dieses Update erfolgt 15 Tage nach dem letzte Veröffentlichung. Carplay-Hintergrundbild Apple hat Hintergrundbilder zu CarPlay hinzugefügt, die den hellen und dunklen Modus abdecken. Der Hintergrundstil ähnelt dem des iPhone

Sollte iPhone12 ios16 auf ios17.5beta3 aktualisiert werden? Wie ist die Erfahrung mit ios17.5beta3? Sollte iPhone12 ios16 auf ios17.5beta3 aktualisiert werden? Wie ist die Erfahrung mit ios17.5beta3? Apr 25, 2024 pm 04:52 PM

Praktisches Teilen... Während Apple weiterhin neue iOS-Versionen auf den Markt bringt, stehen viele iPhone-Benutzer vor der Entscheidung, ob sie das System aktualisieren möchten. Die Veröffentlichung des neuesten iOS17.5Beta3 hat insbesondere bei iPhone12-Benutzern große Aufmerksamkeit erregt. Ob sie das bestehende iOS16 aufgeben und die neue Beta-Version ausprobieren sollten, ist zu einer diskussionswürdigen Frage geworden. Basierend auf tatsächlichen Erfahrungen analysiert dieser Artikel die Vor- und Nachteile eines Upgrades des iPhone 12 auf iOS 17.5 Beta 3, um Apple-Fans als Referenz zu dienen. Zunächst muss klargestellt werden, dass Beta-Versionen in der Regel von Entwicklern oder Early Adopters genutzt werden, die bereit sind, ein gewisses Risiko einzugehen. Dies bedeutet, dass die Beta-Version im Vergleich zur offiziellen Version möglicherweise Folgendes enthält

See all articles