Неопределенные символы для архитектуры arm64 при ее запуске на устройство [дубликат]

Возможно, проблема в конфигурации почтового сервера, чтобы избежать подобных проблем или вам не нужно беспокоиться о проблеме с почтовым сервером, я рекомендую вам использовать PHPMailer , это плагин у которого есть все необходимое для отправки почты, единственное, что вы должны учесть, это иметь SMTP-порт (порт: 25 и 465), включен

require_once 'PHPMailer/PHPMailer.php';
require_once '/servicios/PHPMailer/SMTP.php';
require_once '/servicios/PHPMailer/Exception.php';

$mail = new \PHPMailer\PHPMailer\PHPMailer(true);
try {
       //Server settings
       $mail->SMTPDebug = 0;                                 
       $mail->isSMTP();                                      
       $mail->Host = 'smtp.gmail.com';  
       $mail->SMTPAuth = true;                               
       $mail->Username = 'correo@gmail.com';                 
       $mail->Password = 'contrasenia';                           
       $mail->SMTPSecure = 'ssl';                          
       $mail->Port = 465;                                    

       //Recipients
       $mail->setFrom('correo@gmail.com', 'my name');    
       $mail->addAddress('destination@correo.com');               

       //Attachments
       $mail->addAttachment('optional file');         // Add files, is optional

       //Content
       $mail->isHTML(true);// Set email format to HTML
       $mail->Subject = utf8_decode("subject");
       $mail->Body    = utf8_decode("mail content");
       $mail->AltBody = '';
       $mail->send();
     }
     catch (Exception $e){
        $error = $mail->ErrorInfo;
     }

156
задан madhead 12 May 2016 в 15:42
поделиться

30 ответов

Если ваши Архитектуры и Действительные Архитектуры в порядке, вы можете проверить, добавили ли вы $(inherited), которые добавят флаги компоновщика, сгенерированные в контейнерах, к другим флагам Linker, как показано ниже: enter image description here [/g0]

205
ответ дан chancyWu 23 August 2018 в 00:35
поделиться
  • 1
    @chancyWu Не могли бы вы объяснить? – Paul Brewczynski 16 May 2015 в 06:25
  • 2
    также, если это все еще не работает, добавьте @ (унаследованный) в пути поиска библиотек тоже. – Enrico Susatyo 10 June 2015 в 04:52
  • 3
    Работает в Xcode 7 (бета), iOS 9 – Hobbes the Tige 15 July 2015 в 15:08
  • 4
    Я работаю с Xcode 7.2 и другими флагами Linker - & gt; Debug Я вижу: -weak_framework CoreFoundation -weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak-lSystem -ObjC ... здесь я добавил $ (унаследованный), но он не работает – Alessandra 25 February 2016 в 14:37
  • 5
    $(inherited) уже существует по умолчанию! – user924 3 March 2018 в 09:06

Ни одно из решений не исправляет эту ошибку в моем случае (Xcode 9), с TesseractOCRiOS. После нескольких часов проб и ошибок я придумал хорошее решение. Я просто удалю 'pod 'TesseractOCRiOS', '~> 4.0.0' в Podfile, запустив pod install. Затем добавьте pod 'TesseractOCRiOS', '~> 4.0.0' обратно в Podfile и снова запустите pod install.

Удар! Оно работает!

1
ответ дан 0xa6a 23 August 2018 в 00:35
поделиться
  • 1
    Странный!!! Но его работы для меня тоже .. Спасибо, приятель :) – Priyanka Kanse 13 April 2018 в 07:35

Я знаю, что это старая ветка. Тем не менее, эта же проблема началась со мной после перехода на последнюю версию CocoaPods (1.0.0) и попытку переустановки всех контейнеров. Я столкнулся с ошибкой компоновщика «Отсутствующие символы для armv64». Как ни странно, я решил это, выполнив следующие шаги:

  1. Удалите все элементы (pod init, pod install)
  2. Перезапишите podfile в обратном порядке (вместо: pod «Mixpanel», pod «Intercom», я использовал: pod «Intercom», pod «Mixpanel»)
  3. Pod install

Реверсирование порядка зависимостей в podfile и перестройка стручков решила проблему.

0
ответ дан Arik Segal 23 August 2018 в 00:35
поделиться

Установите архитектуры в armv7 armv7s, создайте активную архитектуру Только для NO, для каждой цели в проекте, включая все в Pods

24
ответ дан BabyPanda 23 August 2018 в 00:35
поделиться
  • 1
    Работала сортировка ... Теперь я получаю & quot; Недопустимая подпись битового кода & quot; ошибка. – JeremyF 24 April 2018 в 20:01

Для меня я использую opencv 2.4.9 в xcode 7.2 для iOS, и произошли ошибки, и я разрешаю ошибки, используя opencv через pod install, а не автономную opencv framework.

Вы можете попробуйте добавить текст opencv pod ниже и удалить автономную структуру opencv, если вы использовали.

pod 'OpenCV', '2.4.9'

1
ответ дан Chuyang 23 August 2018 в 00:35
поделиться

В моем случае мне пришлось искать

C++ Standard Library и убедиться, что выбран libc++.

1
ответ дан CoachNono 23 August 2018 в 00:35
поделиться

Как morisunshine ответ указал в правильном направлении, небольшая настройка в его ответе решила мою проблему для iOS8.2. Спасибо ему.

Я решил эту проблему, установив, что :

ARCHS = armv7

VALID_ARCHS = armv6 armv7 armv7s arm64

BUILD ACTIVE ARCHITECTURE ONLY= NO
27
ответ дан Community 23 August 2018 в 00:35
поделиться
  • 1
    Как это ни странно, это действительно сработало. Спасибо друг. – Felipe 7 June 2016 в 18:19
  • 2
    Вручную удаляя полученные данные, сделал трюк и для меня. Ура! – L_Sonic 23 June 2016 в 11:00
  • 3
    это спасло мой день. – Abhishek 2 August 2016 в 10:01
  • 4
    Спасибо. Была и моя работа. – Muhammad Ibrahim 22 August 2016 в 18:03
  • 5
    Спасибо! Я хотел бы добавить подсказки: папка находится под / User / yourname / Library / Developer / XCode / DerivedData – Stefano Buora 19 September 2016 в 11:17

У меня была такая же проблема после обновления до Xcode 5.1 и исправлена ​​ее, установив Архитектуры в armv7 armv7s

3
ответ дан deko 23 August 2018 в 00:35
поделиться

Добавление «Security.framework» сделало трюк для меня.

0
ответ дан Eran Talmor 23 August 2018 в 00:35
поделиться

Я решил это, установив действительные арки в armv7 armv7s и установив активную архитектуру сборки только в YES в релизе, а затем выполнив новую «установку pod» из командной строки

3
ответ дан Fabio Russo 23 August 2018 в 00:35
поделиться

Застрял в этом вопросе весь день.

У меня было несколько схем, оно отлично компилировалось для Demo, Internal, Release - однако схема отладки просто не компилировалась и жаловалась на libPods. отсутствует.

Решение состояло в том, чтобы перейти к Project -> Target -> Build Settings и изменить «Build Active Architecture Only» на YES. Очистите и постройте! Наконец, решены частые зуд головы

3
ответ дан GameDev 23 August 2018 в 00:35
поделиться
  • 1
    Не то же самое, что и вы, но похоже. Я разрешил это с помощью того же метода, который вы предоставили. – Helzgate 3 November 2015 в 23:47

Следующее сработало для меня, чтобы GPUImage компилировал без ошибок на Xcode 5.1 для 64-битного симулятора и сетчатки iPad Mini без , нуждающихся в удалении arm64 из списка Valid Architectures (который побеждает назначение владения 64-битным устройством для тестирования 64-битной производительности).

Загрузите папку .zip с страницы GitHub: https://github.com/BradLarson/GPUImage ]

Разархивируйте и перейдите в папку «framework». Отсюда добавьте и скопируйте папку «Источник» в проект Xcode. Убедитесь, что «Скопировать элементы в папку целевой группы» отмечен галочкой, а также «Создать группы для любых добавленных папок». Это скопирует общие файлы, iOS и заголовки / файлы Mac в ваш проект.

Если вам не нужны файлы Mac, потому что вы компилируете iOS, вы можете удалить папку Mac либо перед копированием файлов в ваш проект, либо просто удалить группу из Xcode.

После того, как вы добавили исходную папку в свой проект, просто используйте следующие классы, чтобы начать использовать классы / методы GPUImage:

#import "Source/GPUImage.h" 

Несколько вещей, на которые нужно обратить внимание:

  • Если вы получили сообщение об ошибке «Cocoa», вы не добавили папку Mac / заголовки Mac в проект iOS - просто удалите группу Mac / файлы из вашего проекта, и предупреждение исчезнет
  • Если вы переименовали исходную папку (а не группу в Xcode), используйте это имя вместо «Source / GPUImage.h» в инструкции #import. Поэтому, если вы переименуете папку в GPUImageFiles перед добавлением в свой проект, используйте: #import «GPUImageFiles / GPUImage.h
  • Очевидно, что arm64 выбран в списке« Действительные архитектуры », чтобы воспользоваться преимуществами A7 64- битный процессор!
  • Это не комплект GPUImage.framework (например, если вы загрузили фреймворк из http://www.raywenderlich.com/60968/ios-7-blur-effects -gpuimage ), так что это может быть неправильный способ использования GPUImage, который предназначил Брэд Ларсон, но он работает для моего текущего проекта SpriteKit.
  • Нет необходимости ссылаться на фреймворки / библиотеки и т. д. - просто импортировать исходную папку заголовка и реализации, как описано выше

Надеемся, что это помогает - кажется, что никаких четких инструкций не было, несмотря на вопрос, заданный несколько раз, но не бойтесь, GPUImage определенно работает для arm64 архитектура!

1
ответ дан inaccessiblerail 23 August 2018 в 00:35
поделиться

Вам нужно просто удалить arm64 из Valid Architecture и установить NO только для активной архитектуры. Теперь просто очистите, создайте и запустите. Вы не увидите эту ошибку еще раз.

:) KP

2
ответ дан Kalpesh Panchasara 23 August 2018 в 00:35
поделиться

Проблема в том, что cocoapods не были построены для архитектуры arm64, но при этом они не могут быть связаны при их создании. Вероятно, вы не сможете использовать эти пакеты до тех пор, пока они не будут обновлены и не будут использовать эту архитектуру. Вы можете исправить ошибку компоновщика, перейдя в проект -> target (название вашего проекта) -> установить настройки и изменить архитектуры на стандартные архитектуры (armv7, armv7s) и допустимые архитектуры в armv7, armv7s.

Обратите внимание, что это означает, что вы не получите полную мощность 64-битного процессора. Вы сказали, что строите на 5 секунд, так что может быть по какой-то причине вам это нужно. Если вам почему-то нужна эта мощь (возможно, вы строите игру) и отчаянно нуждаетесь в этих файлах, вы можете отправить запрос на вытягивание, а затем перекомпилировать проект в arm64, установив те же самые поля в arm64 в файлы, которые вы вытащили из проекты с открытым исходным кодом. Но, если вам действительно не нужны эти файлы для совместимости с 64-битной версией, на данный момент это кажется немного перегруженным.

EDIT: некоторые люди также сообщили, что настройка Build For Active Architects на YES также необходима для решения эта проблема.

Начиная с 2014-04-28 настройка должна выглядеть примерно так:

enter image description here [/g0]

114
ответ дан Kit Sunde 23 August 2018 в 00:35
поделиться
  • 1
    Однако это решило ошибку, однако для работы на симуляторе она не решила ошибку для работы на устройстве. Pods был отклонен для libPods.a, потому что его архитектуры «(по какой-то причине он не обнаруживает его, хотя я вижу его в Xcode) не содержал все арсеналы« armv7 armv7s »требуемой архитектуры, – GangstaGraham 6 October 2013 в 22:29
  • 2
    Хорошо, я получил это, установив Build For Active Architectures To Yes. Спасибо огромное! – GangstaGraham 6 October 2013 в 22:32
  • 3
    Кроме того: вы можете использовать команду file в терминале, чтобы указать, какие архитектуры поддерживает статическая библиотека. – funroll 21 November 2013 в 01:37
  • 4
    Просто пришел сюда, чтобы добавить к хору: выбор YES для BUILD FOR ACTIVE ARCHITECTURES - лучший вариант здесь. – Wells 28 March 2014 в 22:35
  • 5
    Это уже не решение. Apple теперь требует поддержки 64-битных для всех развертываний. – user 6 November 2014 в 16:43

в некотором случае, если вы определяете еще один интерфейс в файле .h, но не реализовали весь этот интерфейс, эта ошибка произошла.

Линкером не удалось найти реализацию в файле .m , поэтому вам нужно реализовать его в вашем файле .m для каждого интерфейса.

Чтобы устранить эту ошибку:

1. в .m файле, поставьте реализацию для каждого интерфейса. 2.rebuild

0
ответ дан Michael Yang 23 August 2018 в 00:35
поделиться

некоторое объяснение, почему build_active_architecture имеет значение NO. Теперь Xcode обнаруживает, какие устройства вы подключили, и соответственно настроит активную архитектуру. Поэтому, если вы подключите iPod Touch второго поколения к компьютеру, Xcode должен установить активную архитектуру в armv6. Построение вашей цели с помощью вышеуказанной конфигурации отладки теперь будет только строить двоичный файл armv6, чтобы сэкономить время (если у вас нет большого проекта, вы можете не заметить разницу, но я думаю, что секунды складываются со временем).

Когда вы создаете конфигурацию распространения для публикации в App Store, вы должны убедиться, что этот параметр не установлен, чтобы вы строили жирный универсальный двоичный файл http://useyourloaf.com/blog/2010/04/21/xcode-build -активное-архитектуры only.html

11
ответ дан Moaz Saeed 23 August 2018 в 00:35
поделиться
  • 1
    Это так невероятно FUBARED! Выход XCode зависит от того, какое устройство вы подключили к машине сборки! – Matt 4 February 2016 в 21:38

«Цель OPN [Отладка] отменяет настройку сборки OTHER_LDFLAGS». Это был главный вопрос. После добавления $ (унаследованного) в новой строке в других флагах компоновщика решена моя проблема.

0
ответ дан Mohsen mokhtari 23 August 2018 в 00:35
поделиться

Я решил эту проблему, установив, что:

ARCHS = armv7 armv7s

VALID_ARCHS = armv6 armv7 armv7s arm64

51
ответ дан morisunshine 23 August 2018 в 00:35
поделиться
  • 1
    У меня была аналогичная проблема при первом использовании XCode 5.1, это исправило это. Благодаря! – GangstaGraham 12 March 2014 в 08:55
  • 2
    @morisunshine, вы уверены, вы проверяете бинарные архитектуры после сборки? – onmyway133 16 June 2014 в 09:03
  • 3
    @ onmyway133 Я проверил, но теперь я не встречал эту проблему в новом XCode. – morisunshine 16 June 2014 в 09:13
  • 4
    @morisunshine да, я имею в виду, вы потеряли руку64 – onmyway133 16 June 2014 в 11:10
  • 5
    Больше ошибок сборки, вплоть до этого момента, все в порядке. Но, загружая архивированную сборку, я получаю ошибку с 64-разрядным процессором, так как поддержка бит-64-бит является принуждением с 1 февраля 2015 года. – zeeawan 20 May 2015 в 17:25

Если настройки архитектуры и компоновщика выглядят хорошо, проверьте свои h-файлы. Моя проблема была той же ошибкой, но я перестроил h-файлы, и я удалил оператор extern. Другие файлы m использовали эту переменную, вызывая ошибку компоновщика.

0
ответ дан Nick 23 August 2018 в 00:35
поделиться

Я столкнулся с тем же / подобным вопросом, что и реализация AVPictureInPictureController, и проблема заключалась в том, что я не связывал структуру AVKit в своем проекте.

Сообщение об ошибке было:

Undefined symbols for architecture armv7:
   "_OBJC_CLASS_$_AVPictureInPictureController", referenced from:
       objc-class-ref in yourTarget.a(yourObject.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Решение:

  1. Перейти к вашему проекту
  2. Выберите цель
  3. Затем перейдите к разделу «Сборка фаз»
  4. Open Link Binary With Libraries
  5. Наконец, просто добавьте + структуру AVKit / любую другую структуру.

Надеюсь, это поможет кому-то, кто сталкивается с аналогичной проблемой, которую я имел.

29
ответ дан NorthBlast 23 August 2018 в 00:35
поделиться
  • 1
    Да, стоит упомянуть, что это ошибка, которую бросает, если вам не хватает рамки. Один ключ заключается в том, что вы пытаетесь удалить архитектуры, а следующий / оставшийся тоже не удается ... – Kristen Waite 22 November 2015 в 23:10
  • 2
    Моя проблема была не совсем такой, но да, я забыл связать свою библиотеку. :П – Pankaj Gaikar 30 August 2016 в 09:53
  • 3
    отличная работа. `& quot; _OBJC_CLASS_ $ _ XXXXXClass ', на который ссылаются:` ,, add xxx Framework. – iHTCboy 4 September 2017 в 09:54
  • 4
    Пятно на! Любой, кто видит что-либо с напечатанным «xml», проверяет это - в моем случае это была «libxml» framework, которая не связана. – Evusas 13 October 2017 в 03:06
  • 5
    После внесения изменений в состав pod эта ошибка произошла, и все методы не были исправлены. Но ваш метод устраняет проблему. Примечание: lib не может быть найден. – stellar lee 3 April 2018 в 08:15

Я исправил мой, проверив выбранные файлы реализации в целевом членстве с правой стороны. Это особенно полезно при использовании расширений, то есть пользовательских клавиатур.

14
ответ дан pkamb 23 August 2018 в 00:35
поделиться
  • 1
    Xcode 9 не применяется автоматически, даже если установлен флажок. Спасибо. – Amro Shafie 2 October 2017 в 08:43

Это сработало для меня:

ios sdk 9.3

в настройке сборки для допустимой архитектуры app.xcodeproj: armv7 armv7s Build Active architecture: No

Очистите и постройте, сработали для меня.

2
ответ дан Shashank Saxena 23 August 2018 в 00:35
поделиться

У меня возникла такая же проблема после установки рамки AWS для решения этой проблемы. У меня есть обновленный файл конфигурации POD из вашего проекта, который создается после установки AWS POD. Проверьте конфигурационный файл, как показано ниже

OTHER_LDFLAGS = $(inherited) -ObjC -l"Pods-AWSAutoScaling" -l"
Pods-   AWSCloudWatch" -l"Pods-AWSCognito" -l"Pods-AWSCore" -l
"Pods-AWSDynamoDB" -l"Pods-AWSEC2" -l"Pods-AWSElasticLoadBalancing" 
-l"Pods-AWSKinesis" -l"Pods-AWSLambda" -l"Pods-AWSMachineLearning" 
-l"Pods-AWSS3" -l"Pods-AWSSES" -l"Pods-AWSSNS" -l"
Pods-AWSSQS"-l "Pods-AWSSimpleDB" -l"Pods-Bolts" -l"Pods-FMDB" 
-l"Pods-GZIP" -l"Pods-Mantle" -l"Pods-Reachability" -l"Pods-TMCache" 
-l"Pods-UICKeyChainStore" -l"Pods-XMLDictionary" -l"sqlite3" -l
"z"-framework "Accelerate" -framework "AssetsLibrary" 
-framework "CoreLocation" -framework "Foundation" -framework
"ImageIO" -framework "Security" -framework "SystemConfiguration"
-framework "UIKit" -weak_framework "UIKit"
 OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS)   

, если ваш файл конфигурации не работает должным образом, а затем установите для вашего другого флага Linker значение $ (унаследованный)

0
ответ дан Swapnil1156035 23 August 2018 в 00:35
поделиться

Решено после удаления содержимого DerivedData -> Build -> Products -> Debug-iphoneos

5
ответ дан Tamir Avrahamov 23 August 2018 в 00:35
поделиться

Настройка -ObjC - Other Linker Flags в настройках сборки цели решила проблему.

2
ответ дан Thomas G. 23 August 2018 в 00:35
поделиться

Это может быть связано с libz.dylib или libz.tbd, просто нужно добавить его к вашим целям для связывания двоичных файлов и попытаться скомпилировать снова.

2
ответ дан TonyTony 23 August 2018 в 00:35
поделиться
  • 1
    Старался добавить Tesseract framework, и только это помогло мне, спасибо. ! – HelloimDarius 27 May 2017 в 08:54

Учитывая iPhone 5s и еще не получив 64-битную версию сторонней библиотеки, мне пришлось вернуться к 32-битовому режиму с последним Xcode (до 5.1 он не жаловался).

Я исправил это, удалив arm64 из списка Valid Architectures, а затем установив Build Active Architecture только в NO. Мне кажется, что это имеет больше смысла, чем наоборот, как показано выше. Я отправляю сообщения в том случае, если другие люди не смогут получить какое-либо из вышеперечисленных решений для работы.

3
ответ дан user938797 23 August 2018 в 00:35
поделиться

Эта проблема возникла для меня после установки модуля под Podfile и pod install. Попробовав кучу разных исправлений, я, наконец, просто импортировал Pod вручную (перетащив необходимые файлы в мой проект), и это решило проблему.

1
ответ дан Will Dennis 23 August 2018 в 00:35
поделиться
  • 1
    это сработало и для меня, но было одним легким контейнером с одним файлом. – iluvatar_GR 17 July 2017 в 17:50
  1. Перейти к целевым настройкам сборки.
  2. установить СТРОИТЬ АКТИВНАЯ АРХИТЕКТУРА ТОЛЬКО = НЕТ для отладки и выпуска
  3. Сборка и запуск
0
ответ дан Zia 23 August 2018 в 00:35
поделиться

Я также столкнулся с той же проблемой, описанные выше методы не будут работать. Я случайно удалил файлы в следующем каталоге на нем.

Установка папки:

~ / Библиотека / Разработчик / Xcode / DerivedData /

27
ответ дан Community 23 August 2018 в 00:35
поделиться
  • 1
    Как это ни странно, это действительно сработало. Спасибо друг. – Felipe 7 June 2016 в 18:19
  • 2
    Вручную удаляя полученные данные, сделал трюк и для меня. Ура! – L_Sonic 23 June 2016 в 11:00
  • 3
    это спасло мой день. – Abhishek 2 August 2016 в 10:01
  • 4
    Спасибо. Была и моя работа. – Muhammad Ibrahim 22 August 2016 в 18:03
  • 5
    Спасибо! Я хотел бы добавить подсказки: папка находится под / User / yourname / Library / Developer / XCode / DerivedData – Stefano Buora 19 September 2016 в 11:17
Другие вопросы по тегам:

Похожие вопросы: