PhoneGap/Cordova 2.2.0 Плъгин за Facebook На IOS FB.init неуспешен

Разработвам приложение PhoneGap 2.2.0/IOS и трябва да използвам приставката за FaceBook. Следвах процеса на инсталиране, както е описано в GIT, когато използвам „простата“ проба от примерната папка, получавам диалоговия прозорец за готовност на устройството, който ми казва за да поставя моя appID на място, направих това, след което натискам OK и приложението се хвърля от IOS с тази грешка:

'com.facebook.sdk:InvalidOperationException', reason: 'FBSession: No AppID provided; either pass an AppID to init, or add a string valued key with the appropriate id named FacebookAppID to the bundle *.plist'

и чувам е моят FB.init

    document.addEventListener('deviceready', function() {

                              try {
                              alert('Device is ready! Make sure you set your app_id below this alert.');
                              FB.init({ appId: "fb245065455620705", nativeInterface: CDV.FB, useCachedDialogs: false });
                              document.getElementById('data').innerHTML = "";
                              } catch (e) {
                              alert(e);
                              }
                              }, false);

Това са записи, добавени към моя plist файл

<key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>com.mdsitg.amisrael</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>fb245065455620705</string>
            </array>
        </dict>
    </array>

всяка помощ е добре дошла!


person Shimon Wiener    schedule 13.11.2012    source източник


Отговори (3)


Проблемът ти е с тази линия

FB.init({ appId: "fb245065455620705", nativeInterface: CDV.FB, useCachedDialogs: false });

Трябва да бъде:

FB.init({ appId: "245065455620705", nativeInterface: CDV.FB, useCachedDialogs: false });

Обърнете внимание, че „fb“ не трябва да е част от ИД на приложението.

person C Abernathy    schedule 14.11.2012
comment
Това беше първият ми опит, премахнах го и все още получавам същия резултат, знаете ли добър примерен готов за използване проект за ios, боря се с този проблем вече 4 дни без успех - person Shimon Wiener; 15.11.2012
comment
както можете да видите, открих проблема си и вашата забележка беше правилна, не предоставих целия plist, така че не можете да видите всички проблеми, които имам в проекта, така или иначе бяхте прав в това, което ми казахте - person Shimon Wiener; 16.11.2012

Открих проблема, той беше в моя projectname.plist. Липсваше ми един от необходимите елементи, пропусках го при изпълнението на инструкциите. Благодаря ви, че се опитахте да помогнете, сега имам базов IOS с PhoneGap/Cordova 2.2. 0 с работещ плъгин за FaceBook, ако някой има нужда от такъв, ще се радва да го даде

Това е изходният код на моя plist, който реши проблема ми

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleDisplayName</key>
    <string>עמישראל</string>
    <key>CFBundleExecutable</key>
    <string>${EXECUTABLE_NAME}</string>
    <key>CFBundleIconFile</key>
    <string>icon.png</string>
    <key>CFBundleIconFiles</key>
    <array>
        <string>icon-1.png</string>
        <string>[email protected]</string>
        <string>icon114.png</string>
    </array>
    <key>CFBundleIcons</key>
    <dict>
        <key>CFBundlePrimaryIcon</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>icon-1.png</string>
                <string>[email protected]</string>
                <string>icon114.png</string>
            </array>
            <key>UIPrerenderedIcon</key>
            <false/>
        </dict>
    </dict>
    <key>CFBundleIdentifier</key>
    <string>com.mdsitg.amisrael</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>${PRODUCT_NAME}</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>com.mdsitg.amisrael</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>fb245065455620705</string>
            </array>
        </dict>
    </array>
    <key>CFBundleVersion</key>
    <string>1.0</string>
    <key>FacebookAppID</key>
    <string>245065455620705</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>NSMainNibFile</key>
    <string></string>
    <key>NSMainNibFile~ipad</key>
    <string></string>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationLandscapeLeft</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
        <string>UIInterfaceOrientationLandscapeRight</string>
    </array>
</dict>
</plist>

ако имате нужда от повече помощ, моля, попитайте ме

person Shimon Wiener    schedule 16.11.2012
comment
моля, кажете ни кой елемент сте пропуснали? - person abhishek ameta; 05.12.2012
comment
Изправен съм пред същия проблем, моля, помогнете ми - person abhishek ameta; 05.12.2012
comment
Здравейте, актуализирам отговора си, за да се опитам да ви помогна, той е на IOS и проблемът ми беше, че има няколко реда в plist. Ще сложа plist кода в актуализирания отговор - person Shimon Wiener; 06.12.2012
comment
@ShimonWiener Хей, Шимон, възможно ли е да публикуваш проекта си с голи кости, за да го използваме като шаблон, с може би малко резюме за това къде трябва да се променят идентификаторите на приложението и т.н.? Аз лично се справям с това от около 2-3 дни и почти всичко, на което се натъквам, е остаряло и би помогнало много на мен и на другите, сигурен съм! - person Karoly S; 18.12.2012

Опитвали ли сте да добавите ключ/стойност на FacebookAppID към вашия *-info.plist?

Отидете на https://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/3.1/ и щракнете върху:

5: Конфигуриране на нов XCode проект.

Превъртете надолу до: „Добавяне на вашия идентификатор на Facebook приложение“

По същество трябва да намерите вашия projectname-info.plist и да добавите нова двойка ключ/стойност. Ключът ще бъде FacebookAppID, а стойността ще бъде идентификаторът на вашето приложение 245065455620705 (без FB отпред.)

person Root Fool    schedule 15.11.2012