xLsDg
xLsDg
  • 发布:2016-09-18 09:46
  • 更新:2017-03-31 13:33
  • 阅读:6178

iOS10 剪贴板复制报错

分类:Native.js

//获取剪切板
var UIPasteboard = plus.ios.importClass("UIPasteboard");
var generalPasteboard = UIPasteboard.generalPasteboard();
// 设置文本内容:
generalPasteboard.setValueforPasteboardType("testValue", "public.utf8-plain-text");

报错内容:

generalPasteboard.setValueforPasteboardType undefined

2016-09-18 09:46 负责人:无 分享
已邀请:

最佳回复

DCloud_IOS_XTY

DCloud_IOS_XTY

可以这么写

 generalPasteboard.plusCallMethod({setValue:"testValue", forPasteboardType:"public.utf8-plain-text"});  
 generalPasteboard.plusCallMethod({valueForPasteboardType:"public.utf8-plain-text"});
  • wenju

    可行 妥妥的


    2016-09-27 12:02

  • uniapp视频教程

    这样写ios9能兼容吗


    2016-09-29 15:04

  • DCloud_IOS_XTY

    可以兼容,这个是临时写法更新到最新版后原来的也发也支持


    2016-09-29 18:12

小云菜

小云菜 - 相关代码及分享在http://www.cnblogs.com/phillyx

如果要实现应用切换到后台,自动侦听循环获取剪切板数据,android是可以的ios不行。

由于iOS系统极安全防护限制,当应用切换到后台时,系统默认屏蔽剪切版接口,默认获取到的数据为空;当应用切换到前台时,才能访问剪切版,所以需要每次在其他地方复制内容后需要将应用切换到前台

/**  
 * @description 获取剪切板内容    
 */  
function getClipbordText() {  
	if(!window.plus) return;  
	if(mui.os.android) {  
		var Context = plus.android.importClass("android.content.Context");  
		var main = plus.android.runtimeMainActivity();  
		var clip = main.getSystemService(Context.CLIPBOARD_SERVICE);  
		return plus.android.invoke(clip, "getText");  
	} else {  
		var UIPasteboard = plus.ios.importClass("UIPasteboard");  
		var generalPasteboard = UIPasteboard.generalPasteboard();  
		// 设置/获取文本内容:  
		//generalPasteboard.setValueforPasteboardType("testValue", "public.utf8-plain-text");  
		//var _val = generalPasteboard.valueForPasteboardType("public.utf8-plain-text");  
		//TODO 应用在后台的时候获取剪切版数据被系统限制了,只有在app内才能访问接口  
		var _val=generalPasteboard.plusCallMethod({valueForPasteboardType:"public.utf8-plain-text"});  
		console.log("ios复制返回的数据是:",_val);   
		return _val || '';  
	}  
}
4***@qq.com

4***@qq.com

我发行流应用的话 var generalPasteboard = UIPasteboard.generalPasteboard(); 这一句 还是有问题

  • 付楚

    我现在也是遇到了这个问题,想知道你是怎么解决的?


    2018-03-07 10:30

  • 5***@qq.com

    同问


    2018-10-26 00:30

该问题目前已经被锁定, 无法添加新回复