2012-05-04 14 views
7

RubyMotion udostępnia te instrukcje do vendoring 3rd kod partii: http://www.rubymotion.com/developer-center/guides/project-management/#_files_dependenciesUżywanie Parse iOS SDK z RubyMotion

Próbuję dodać Parse.com iOS SDK. Oto instrukcje dodania go do projektu XCode: https://parse.com/apps/quickstart#ios/existing. Jednak nie używam XCode, ponieważ pracuję z RubyMotion.

I udokumentowane moja próba tutaj: https://github.com/adelevie/RubyMotionSamples/commit/603bf4428995bb203cce7e7e8e6989d6e86bda3b

A oto błędy Dostaję: https://gist.github.com/2595284

Odpowiedz

8

Uważam, że mamy tutaj do czynienia z biblioteką statyczną, więc uważam, że należy podać: static zamiast: Xcode jako drugą opcję.

z następującego kodu w swojej Rakefile, aplikacja kompiluje:

app.libs << '/usr/lib/libz.1.1.3.dylib' 
    app.frameworks += [ 
     'AudioToolbox', 
     'CFNetwork', 
     'SystemConfiguration', 
     'MobileCoreServices', 
     'Security', 
     'QuartzCore'] 

    app.vendor_project('vendor/Parse.framework', :static, 
     :products => ['Parse'], 
     :headers_dir => 'Heiders') 

Jednak dostaję następujący błąd uruchamiania metody Parse setApplicationId:

(main)>> Objective-C stub for message `setApplicationId:clientKey:' type `[email protected]:@@' not precompiled. Make sure you properly link with the framework or library that defines this message. 
+0

FANTASTYCZNA! Działa świetnie! – user94154

+0

https://gist.github.com/2596866 – user94154

+1

Jak obejść komunikat o błędzie "Objective-C stub'? – richard

2

Dokumentacja związana mówi: „Aby sprzedawca bibliotekę 3rd-Party in projektu RubyMotion, źródło kod musi być dostępny gdzieś w systemie plików. " Więc nie sądzę, że upuszczenie pliku .framework będzie działało.

Możesz spróbować pobrać ParseStartProject o nazwie "Pusty Xcode w/SDK" ze strony parse.com/docs. Jeśli sprzedawca ten folder projektu, RubyMotion będzie mógł znaleźć projekt xcode, jak to szuka. Oczywiście będziesz chciał usunąć pliki .m i .h z projektu xcode, ponieważ chcesz, aby projekt zawierał Parse.framework.

Nie próbowałem tego. Daj nam znać, jeśli działa.

+0

Masz problemy z tym: https://skitch.com/e-adelevie/8a9mg/users-adelevie-programming-motion-rubymotionsamples-tweets- bash-114x24 Błąd: 'Projekt producenta budynku' sprzedawca/ParseStarterProject 'nie udało się utworzyć co najmniej jednej biblioteki '.a'. – user94154

+0

lepszy link do obrazu https://img.skitch.com/20120504-mejht3xj22knxknu5naxgm9skc.jpg – user94154

1

Ok kopiować to od odpowiedź w grupie RubyMotion. Wygląda na to, aby rozwiązać komunikat o błędzie en:

Teraz do tej pracy, mam zmodyfikowano /Library/RubyMotion/lib/motion/project/vendor.rb i zmienił Dir.glob na linię 38 z:

source_files = (opts.delete(:source_files) or Dir.glob('*. 
{c,m,cpp,cxx,mm,h}')) 

do:

source_files = (opts.delete(:source_files) or Dir.glob('**/*. 
{c,m,cpp,cxx,mm,h}')) 

http://groups.google.com/group/rubymotion/msg/0efa74214523d0f5