Unity Android/IOS 打开图片库和相机,并加载图片

升级 iOS 10 之后目测坑还是挺多的,记录一下吧,看看到时候会不会成为一个系列。

直入正题吧

今天在调用相册时,又特么崩了。然后看到控制台输出了以下信息:
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

意思就是说,你需要在 info.plist 文件添加一个 NSPhotoLibraryUsageDescription的 key,然后添加一个描述。

解决方案
1.在项目中找到info.plist文件,右键点击以 Source Code形式打开
2.添加以下键值对,这里以 PhotoLibrary 作为例子

<key>NSPhotoLibraryUsageDescription</key>
    <string>此 App 需要您的同意才能读取媒体资料库</string>
目测所有需要的权限描述都会在 iOS 10 beta里面crash,不用怕,控制台会有输出的,自行添加就 OK,

<key>NSCameraUsageDescription</key>    
    <string>cameraDesciption</string>

    <key>NSContactsUsageDescription</key>    
    <string>contactsDesciption</string>

    <key>NSMicrophoneUsageDescription</key>    
    <string>microphoneDesciption</string>



文/wzbdroid(简书作者)
原文链接:http://www.jianshu.com/p/c212cde86877
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。


Unity调用IOS/Android调用原生相机以及相册的项目时,Xcode提示ARC forbids explicit message sendof 'retain'

'retain' is unavailable: not available inautomatic reference counting mode

从字面上来解释就是,arc 禁止显示发送retain消息。

    其实就是使用ARC之后,不允许直接调用retain, release, autorelease, dealloc, retainCount这些方法了,编译器会在合适的地方将这些代码添加进去,解决这样的问题只需要删除与手动管理内存相关的代码(一般就是报错的代码)即可。

解决方法:

找到"Build Settings" -> 找到"Compile Sources" -> 找到出错的类,在对应类的"Compiler Flags"中添加"-fno-objc-arc"(双击后输入)


运行后发现相框显示的内容都是英文,解决方法:打开Info.plist Localization native development region 的值en改为 China就可以了





下载地址:http://download.csdn.net/detail/he_wen_jian/9532021

如果想取消选择图片后的裁剪操作,需要进行如下修改:

IOS

把picker.allowsEditting=YES改为NO,[] UIImagePickerControllerEditedImage改为UIImagePickerControllerOriginalImage




Android待更新


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
您好!针对您的问题,这里提供一些相关的信息供您参考。 首先,Unity是一款跨平台的游戏开发引擎,可以支持在多个平台上进行游戏开发。而AndroidiOS是其中比较常见的移动平台。 在AndroidiOS平台上嵌入Unity的开发示例,可以参考官方文档中的相关内容。具体步骤如下: 1. 创建Unity项目并设置相关参数,例如选择AndroidiOS平台,设置屏幕分辨率等。 2. 在Unity项目中添加所需的场景和游戏对象,并设置相应的脚本和材质等。 3. 将Unity项目导出为AndroidiOS平台所需的文件格式,例如APK或IPA文件。 4. 在AndroidiOS项目中嵌入Unity文件,并通过相关代码进行调用和交互。 需要注意的是,AndroidiOS平台上嵌入Unity的具体实现方式可能会有所不同,需要根据具体情况进行调整和修改。 另外,关于在Unity中开发AndroidiOS应用的示例,也可以参考官方文档中的相关内容。具体步骤如下: 1. 创建Unity项目并设置相关参数,例如选择AndroidiOS平台,设置屏幕分辨率等。 2. 在Unity项目中添加所需的场景和游戏对象,并设置相应的脚本和材质等。 3. 使用Unity提供的AndroidiOS插件进行开发,例如调用相机或GPS等硬件功能,或者进行网络通信等。 4. 将Unity项目导出为AndroidiOS应用程序,并进行相关的测试和调试。 需要注意的是,开发AndroidiOS应用程序需要遵循相应的规范和标准,例如Android应用程序需要满足Google Play的要求,iOS应用程序需要通过苹果的审核。因此,在开发过程中需要谨慎处理相关问题。 希望以上信息对您有所帮助,如有任何疑问,请随时提出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值