2015-04-30 11 views
23

udało mi się stworzyć ramy dla iOS Xcode, jak pokazano w tym filmie: -Wbudowane Binaries z iOS ram

https://youtu.be/86cPaa3FrRg?t=4m55s

Na 5:00 mówią, że ramy muszą być dodane do osadzone Binaries. Po dodaniu go do osadzonych plików binarnych działa.

Nie jest wymagane dodawanie GoogleAds.framework do osadzonych plików binarnych. Dodanie do osadzonych plików binarnych wygląda nieco "hacky" w porównaniu do rozwiązania Googles. Więc myślę, że ten samouczek nie zawiera jakiegoś kroku.

Moje pytanie brzmi: Jak utworzyć strukturę, która działa bez dodawania jej do plików HTML?

+1

Czy możesz ponownie sformułować swoje pytanie? Sądzę, że chcesz zapytać: "Jak utworzyć strukturę, która działa bez dodawania go do plików HTML?" – pteofil

+0

Tak. Właśnie o to prosiłem – Tema

Odpowiedz

12

tl; dr Oba są szkieletami, ale są to różne typy.


Termin "struktura" jest niejednoznaczny. W systemie OSX oznacza to spakowaną bibliotekę dynamiczną (tj. .dylib, nagłówki, inne rzeczy), jednak zanim użytkownicy iOS 8 nie mogli tworzyć bibliotek dynamicznych, stworzono "statyczne struktury" w celu zapewnienia pakowanych bibliotek statycznych (tj. .a, nagłówków, innych rzeczy).

Jeśli stworzone środowisko musi zostać spakowane z aplikacją jako osadzonym plikiem binarnym, brzmi to jak dynamiczna struktura, jednak w przypadku reklam Google podejrzewam, że jest to statyczna struktura. Nie musi być osadzony, ponieważ został już połączony z plikiem binarnym aplikacji.

Jeśli chcesz wiedzieć, jak utworzyć statyczną strukturę, uruchom here lub Google dla "ios statycznej struktury".

+1

Dziękuję! Byłeś pierwszym i link do rozwiązania gry. – Tema

9

Przed iOS 8 programiści dostarczali nieobsługiwane frameworki, które zostały sklecone razem z bibliotekami statycznymi, naśladując strukturę katalogów frameworków Apple. Pracowali, ale to był trudny do zbudowania, a oni byli static -nie bibliotekami dynamicznymi.

Od wersji iOS 8 firma Apple oficjalnie wspiera tworzenie dynamicznych struktur stron trzecich w Xcode. Tego typu frameworki są podpisywane przez kod i muszą być umieszczone w osadzonych plikach binarnych dla Twojej aplikacji. Jeśli połączysz się z nimi, ale nie umieścisz ich w osadzonych plikach binarnych, otrzymasz wyjątek podczas próby uruchomienia na urządzeniu, a Twoja aplikacja ulegnie awarii.

Na dłuższą metę spodziewałbym się, że zhakowane razem struktury takie jak GoogleAds.framework znikną teraz, gdy dostępne jest oficjalne wsparcie dla frameworków. Oznacza to, że będziesz musiał przyzwyczaić się do umieszczania struktur w osadzonych plikach binarnych.

Jeśli nie musisz obsługiwać systemu iOS 7 za pomocą kodu (w takim przypadku oficjalne ramy nie są możliwe, ponieważ działają tylko w systemie iOS 8), odradzam tworzenie w tym miejscu nieobsługiwanego typu architektury.