Wiem, że to pytanie zostało zadane wcześniej, ale próbowałem wszystkiego, co mogłem znaleźć i nic z tego nie zadziałało.Zapośredniczenie sieci w sieci iOS: Powielony błąd symboli Z all_load i ObjC
Mam w pełni funkcjonalną aplikację na iOS, którą chcę teraz zintegrować z zapośredniczeniem sieci AdMob. Udało mi się już poprawnie pracować z AdMob, ale Mediator wymaga ustawienia łączników "-all_load" i "-ObjC" (w innych flagach Linkera). Rzeczywiście, jeśli zbuduję bez nich, żadne reklamy nie są wyświetlane, a w dziennikach jest napisane, że wymaga ich ustawienia.
Problem polega na tym, że nie mogę pomyślnie zbudować aplikacji z zestawem all_load lub ObjC. Czytałem, że ObjC nie jest konieczny dla aplikacji na iOS, ale nawet bez niego nadal mam problem z all_load. Problem polegający na tym, że dostaję ten błąd:
ld: duplikat symbolu [tutaj niektóre polecenia] [niektóre biblioteki statyczne] i [ścieżka do tego samego polecenia] dla architektury armv7 clang: błąd: komenda linker nie powiodła się z kodem zakończenia 1 (użyj -v, aby zobaczyć wywołanie)
Po usunięciu uszkodzonej biblioteki statycznej i odbudowaniu, błąd po prostu przechodzi do następnej biblioteki statycznej, którą mam i tak dalej. Ponieważ próbuję zainstalować mediatora reklam, moja aplikacja wymaga zainstalowania kilku statycznych bibliotek z różnych sieci reklamowych.
Oto kilka rozwiązań, które próbowałem, które nie powiodło się:
- kompilacji dla armv6 nie ARMv7 (nie idealnym naprawić tak, jak chcę oba)
- zastępując all_load z force_load [ścieżka do biblioteki] i testowanie na rzeczywistym urządzeniu z iOS, ponieważ najwyraźniej ta metoda nie działa z symulatorem (nie wydaje się, aby cokolwiek zrobić, otrzymuję dokładnie ten sam problem, mimo to wykorzystuję tę samą ścieżkę, która znajduje się w błędzie)
- usuwanie all_load (kompilacja, ale jak powiedziałem, wymaga tego mediacja AdMob)
- usuwanie bibliotek obrażając (oczywiście nie działa z powodu błędu narzeka każdy z moich statycznych bibliotek, które muszę)
Każda pomoc jest mile widziana w rozwiązaniu tego problemu.
EDIT: Rozwiązanie mojego problemu
Jak się okazuje, jedyne co mi się nie starają się tylko przy użyciu -ObjC na rzeczywiste urządzenie, to wydaje się działać dla mnie!
EDIT2: Nieważne, nadal występują problemy
Zacytuję mój komentarz poniżej pytany co biblioteki statyczne były przyczyną mnie problemy:
„Cóż mam Pośrednictwo AdMob pracuje bez żadnych innych sieci przez wyłączając all_load i włączając w to ObjC, który działał poprawnie dopóki nie dodałem mojej pierwszej sieci, Adfonic, która obecnie jest w konflikcie z MobileAppTracking, otrzymuję: ld: duplikat symbolu _OBJC_IVAR _ $ _ Reachability.reachabilityRef w [ścieżka]/Adfonic SDK/libAdfonic .a (Reachability.o) i [path]/Objects-normal/armv6/Reachability.o dla architektury armv6 clang: błąd: komenda linker nie powiodła się z kodem zakończenia 1 (użyj -v, aby zobaczyć wywołanie) "
Miałem nagie kości AdMob Mediator pracując poprzez usunięcie wszystkich innych bibliotek sieci reklamowych, ale z moją pierwszą trzecią -party integracja sieci dostaję innego konfliktu między tym i śledzenia bibliotekę i wprowadziły, MobileAppTracking. Wciąż szuka rozwiązania, aby rozwiązać „zduplikowane symboli”.
EDIT 3
mogę potwierdzić, że każda pojedyncza sieć reklamowa wypróbowana przez AdMob Mediator (z wyjątkiem samej AdMob) nie może się skompilować, w większości z powodu powielonego symbolu błędu ors. Nie rozumiem, jak to możliwe, ponieważ jestem pewien, że nie jestem jedynym, który korzysta z usługi mediacji AdMob.
EDIT 4
Zacytuję mój komentarz poniżej:
„I rzeczywiście udało się uzyskać większość sieci reklamowych i bibliotek pracujących dla mnie, musiałem usunąć sporo odniesień wynikających Skompiluj źródła, ale dostałem je bez kompilacji, nadal używające -ObjC i -all_load! "
Czy możesz wymienić niektóre z tych statycznych bibliotek, na które narzeka? Próbuję odtworzyć problem. – RajPara
Dobrze, że Mediacja AdMob działa bez żadnych innych sieci, wykluczając all_load i włączając w to ObjC, który działał bez zarzutu, dopóki nie dodałem mojej pierwszej sieci, Adfonic, która obecnie jest w konflikcie z MobileAppTracking, otrzymuję: ld: duplikat symbolu _OBJC_IVAR_ $ _Reachability.reachabilityRef w [ścieżka]/Adfonic SDK/libAdfonic.a (Reachability.o) i [ścieżka]/Objects-normal/armv6/Reachability.o dla architektury armv6 clang: błąd: polecenie linker nie powiodło się z kodem zakończenia 1 (użyj opcji -v, aby wyświetlić wywołanie) – Paul
Nie udało mi się odtworzyć tego problemu. Dostałem AdMob i AdFonic bez żadnego błędu. Jakiej wersji XCode i iOS używasz? Czy próbujesz po prostu dodać inne sieci do przykładu AdMob ze swojej witryny? – RajPara