2014-04-24 75 views
1

我必須將數據從一個APP傳輸到另一個。當我傳遞數據在第一時間使用粘貼板其工作正常,但在第二次我得到無數據從粘貼板。此問題是只發生在IOS7.1設備,它在所有其他設備。它是一件奇怪的事情。UIPasteboard pasteboardWithName不能在IOS7.1中工作

我的代碼如下。

// set Data 
UIPasteboard* pasteBoard = [UIPasteboard pasteboardWithName:@"TEST" create:YES]; 

if(item == nil) 
{ 
    NSLog(@"** Set data is nil"); 
} 

if(pasteBoard) 
{ 
    [pasteBoard setItems:[NSArray arrayWithObject:item]]; 
} 


// Get Data 
UIPasteboard* pasteboard = [UIPasteboard pasteboardWithName:@"TEST" create:NO]; 
NSDictionary* migrateInfo = nil; 

if(pasteboard != nil && pasteboard.items.count > 0){ 
     migrateInfo = [pasteboard.items objectAtIndex:0]; 
     DEV_LOG(@"** Pasteboard have data"); 
    } 

在i傳送數據的第二時間,我得到零值作爲migrateInfo對象。

+0

你設置的屬性'persistent'到是?就像這個'pasteBoard.persistent = YES'一樣。你可以查看UIPasteBoard [here]的文檔(https://developer.apple.com/library/ios/documentation/uikit/reference/UIPasteboard_Class/Reference.html#//apple_ref/occ/instp/UIPasteboard/persistent) – mownier

回答

0

我在我的代碼做了兩個改變後,它的工作。

1)i之後讀取數據pasteboeard除去pasteboardData

紙板數據可以使用方法removePasteboardWithName除去

[UIPasteboard removePasteboardWithName:PASTE_BOARD_NAME];;

2)我用setValue函數代替SetItems函數。 (爲了把對象 - 如的NSString,NSArray的,NSDictionary的,NSDate的,的NSNumber,UIImage的,或NSURL對象,在粘貼板上,使用的setValue:forPasteboardType:法)

相關問題