2013-02-04 78 views
0

Facebook登錄,讓自己陷入了一個位置。Facebook IOS SDK登錄在模擬器上工作,而不是在設備上

對於我正在做的工作不幸的是,我只能訪問運行xcode 3.2.6的Snow Leopard,不能改變它。我知道過去的爆炸。

要獲得Facebook登錄使用FB SDK 3.0我使用的工作:

AppDelegate.h:

 #import <FacebookSDK/FacebookSDK.h> 
.... 
    @property (retain, nonatomic) FBSession *session; 

AppDelegate.m:

@synthesize session = _session; 
... 
- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation { 
    return [self.session handleOpenURL:url]; 
} 

然後在我的FBLoginViewController.m viewDidLoad中:

MyAppDelegate *appDelegate; 
appDelegate = [[UIApplication sharedApplication]delegate]; 

    if (!appDelegate.session.isOpen) { 
     appDelegate.session = [[FBSession alloc] init]; 

     if (appDelegate.session.state == FBSessionStateCreatedTokenLoaded) { 
     [appDelegate.session openWithCompletionHandler:^(FBSession *session, 
                 FBSessionState status, 
                   NSError *error) { 
       }]; 
      } 
     } 

現在這個工作在模擬器4.3上。我想確認我有FB應用程序ID在plist中正確設置,與IOS 6的設備將其與崩潰日誌的相關章節崩潰測試上說,當應用程序設置是否正確等

但是:

Exception Type: EXC_CRASH (SIGSYS) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Crashed Thread: 0 

Thread 0 name: Dispatch queue: com.apple.main-thread 
Thread 0 Crashed: 
0 MyApp      0x000e7cac 0x59000 + 584876 
1 libdispatch.dylib    0x34a384b4 0x34a37000 + 5300 
2 libdispatch.dylib    0x34a39836 0x34a37000 + 10294 
3 MyApp      0x000e7ca0 0x59000 + 584864 
4 MyApp       0x000d9d08 0x59000 + 527624 
5 MyApp       0x000d9934 0x59000 + 526644 
6 MyApp       0x000da6c6 0x59000 + 530118 
7 MyApp       0x0005b1f0 0x59000 + 8688 
8 MyApp       0x000660a4 0x59000 + 53412 
9 UIKit       0x336130a0 0x33525000 + 975008 
10 UIKit       0x33613052 0x33525000 + 974930 
11 UIKit       0x33613030 0x33525000 + 974896 
12 UIKit       0x336128e6 0x33525000 + 973030 
13 UIKit       0x33612ddc 0x33525000 + 974300 
14 UIKit       0x3353b5ec 0x33525000 + 91628 
15 UIKit       0x335287fc 0x33525000 + 14332 
16 UIKit       0x33528116 0x33525000 + 12566 
17 GraphicsServices    0x382ab5a0 0x382a5000 + 26016 
18 GraphicsServices    0x382ab1ce 0x382a5000 + 25038 
19 CoreFoundation     0x3331c170 0x33285000 + 618864 
20 CoreFoundation     0x3331c112 0x33285000 + 618770 
21 CoreFoundation     0x3331af94 0x33285000 + 614292 
22 CoreFoundation     0x3328deb8 0x33285000 + 36536 
23 CoreFoundation     0x3328dd44 0x33285000 + 36164 
24 GraphicsServices    0x382aa2e6 0x382a5000 + 21222 
25 UIKit       0x3357c2f4 0x33525000 + 357108 
26 MyApp      0x0005b012 0x59000 + 8210 
27 MyApp      0x0005afc8 0x59000 + 8136 
Thread 0 crashed with ARM Thread State (32-bit): 
    r0: 0x0000004e r1: 0x00000000  r2: 0x00000000  r3: 0x00000000 
    r4: 0x3b091bd0 r5: 0x2fda7c0c  r6: 0x1cd560e0  r7: 0x2fda6734 
    r8: 0x00000000 r9: 0x2fda6764  r10: 0x1cd560e0  r11: 0x1cdac4d0 
    ip: 0x000e7c0d sp: 0x2fda672c  lr: 0x34a384b7  pc: 0x000e7cac 
    cpsr: 0x60000010 

我試過的東西:

現在很明顯,用xcode 3.2.6我無法通過xcode運行並訪問控制檯以進一步調試我的IOS 6設備。所以我把這個項目發給了一個朋友(沒有付費帳戶,所以無法在設備上測試)誰確認它在xcode 4.5和模擬器6上工作。

因此,如果它在模擬器6和4.3上工作,爲什麼它不會在iOS 6設備上工作?我有點難倒....

玩耍(只是註釋行出等),我認爲這是在該行崩潰後:

appdelagate.session = [[FBSession aloc] init]; 

,但我發現它很難確定或有任何想法爲什麼。

想得到一些想法或幫助, 謝謝。

+1

聽起來就像你正在裝備成爲一個iOS開發者...購買OSX Lion來開發iOS 6。 – Daniel

+0

告訴我一些關於它的信息。讓我解釋一下,我通常在家裏有一個新的MacBook Pro,但是我在內陸澳大利亞工作了3個月,離家約12個小時,並沒有帶上它。大錯。無論如何,有人問我是否會啓動一個程序,並設法訪問只能運行雪豹的硬件的Mac。我只需要能夠在設備上測試,直到我可以回家。肯定有辦法讓這個工作,謝謝。 –

回答

0

我能找到的唯一解決方案是升級到雪豹xcode 4.2。我沒有意識到xcode 4.2是雪豹的選擇。但它是。上面的代碼立即可以在xcode 4.2中不做任何更改。

相關問題