
IOS
文章平均质量分 71
苏小败在路上
不一样的人生
展开
-
推特登录出错后没有拿到错误返回
前不久将推特的授权登录加入到自己的项目中来,今天测试时发现,在没有翻墙时,点击推特登录之后一直没有反应,然后看log发现,推特本身是给出了提示:did encounter error with message "Error obtaining user auth token.": Error Domain=TWTRLogInErrorDomain Code=-1 "" UserInfo原创 2016-12-06 14:51:45 · 31555 阅读 · 5 评论 -
Unity3D-关于iphoneX适配,简约方式
这个是简单粗暴的方式,但是也有缺点。一下代码都是在Unity2017.2.1版本测试的。在导出的xcode工程里面,在UnityAppController.mm中,添加头文件:#import <sys/utsname.h>该类增加获取机器型号的函数:- (NSString*)getDeviceVersion{ struct utsname systemInfo; uname...原创 2018-04-19 15:45:32 · 2407 阅读 · 0 评论 -
Unity3D-iOS因为IPv6崩溃而被拒的问题
最近在Apple store更新版本时,第一次被拒了,很伤心!提示如下:Guideline 2.1 - PerformanceYour app crashed on iPad or iPhone running iOS 11.2.5 connected to an IPv6 network during our review.We have attached detailed crash...原创 2018-03-24 09:30:01 · 1152 阅读 · 0 评论 -
Unity3D-iOS中使用Tilemap问题研究以及解决方案
前不久刚刚研究了Unity3D的Tilemap,在编辑器里面捣鼓了半天,总算是弄明白怎么用了。昨天想着可以上真机试试看,结果悲剧果然发生了。在iOS平台上无法显示Tilemap!准确来说,是在iOS平台,用代码初始化Tilemap没有效果,log里面你会看到下面的错误:NullReferenceException: A null value was found where an object in...原创 2018-03-23 09:33:13 · 3284 阅读 · 0 评论 -
Unity3D-iOS崩溃之“__TCCAccessRequest_block_invoke_2.80 + 222”
今天在itunesconnect上看到好多这个崩溃崩溃日记如下:经过查找发现,是由于用户在分享弹出框中将图片保存在相册时发生的。在iOS新版本中,苹果对设备使用的权限有了限制,上面发生的就是因为未获得保存图片到相册的权限,导致的崩溃。因此,只要在xcode的info.plist文件加入权限即可。也可以用文件格式打开,添加下面的字段:<key>NSPhotoLibraryAddUsage...原创 2018-02-26 14:57:54 · 3358 阅读 · 0 评论 -
Unity3D-iOS崩溃之“AGXGLDriver: glrKillClient + 464”
我的项目上线后,出现好多这个崩溃,还主要是iOS10以上很容易出现:AGXGLDriver: glrKillClient + 464在网上查了半天,说是一个webview在后台刷新的引起的,但是我并没有使用webview,经过排查之后,发现其实就是展示谷歌广告的时候会用到webview。于是在程序中处理了下广告,就是当游戏挂起时,把广告都不显示或者销毁,总之就是不让他们刷新就可以了。void On...原创 2018-01-15 13:23:49 · 1282 阅读 · 0 评论 -
Unity3D-5.5版本的IAP-IOS使用方式(In-App-Purchase)
参考:http://blog.youkuaiyun.com/pz789as/article/details/70208867关于IAP的设置问题,网上其实已经写了很多了,我也不多赘述,那么我在这里只写一些细节,特别是对于新手来说的那种。第一步肯定是去iTunes Connect里面添加项目,并且设置商品:现在苹果其实已经不需要你上传ipa包了,只要设置好了相关信息既可以测试iap功能。需...原创 2017-04-17 11:29:46 · 17167 阅读 · 40 评论 -
Unity3D-调用IOS原生分享的实现
最近项目需要更改分享方式,以前接入各种SKD去分享的,现在要求直接使用IOS原生分享的接口!一开始去网上找,发现并没有人直接写代码使用,但是在Unity的AssetStore中我找到了一个插件,也就是IOSNative插件,但是插件带的功能比较多,我自己基本用不到,然后就自己写了一个和IOS交互的oc类,只调用系统自带的分享框,并且拿到是否点击了分享还是取消的回调。先在导出的xcode工程原创 2017-07-06 11:04:16 · 6645 阅读 · 4 评论 -
Unity3D-应用内打开AppStore某个应用详情方法(iOS应用内下载、应用内评星)
本来可以通过Unity的Application.OpenUrl的方式,跳转到AppStore中去评价,但是iOS6以上还有一个方式,可以直接在应用内弹出评价框来那么我在以前的NativeShare的基础上增加了一个函数,就可以使用了。之前的代码看这里:Unity3D-调用IOS原生分享的实现 首先是 .h 文件:#import #import //引入弹框库@interfac原创 2017-12-05 14:59:41 · 3608 阅读 · 4 评论 -
Unity3D-关于Unity屏幕坐标到iOS屏幕坐标的映射方法
有时候在Unity里面做一些原生的功能,比如:在某个UI的Button旁边弹出一个原生的选择框,我们需要知道这个选择框要显示在那个位置,但是我们只知道在Unity的UI坐标,那么怎么从Unity的UI坐标转到原生去呢。其实有一个很好的办法,Unity之前已经考虑到了,那就是ViewPoint,这个就是关键。ViewPoint是什么?它就是指一个点在屏幕中的百分比!比如,我们的UI的中心点是(0,0...原创 2018-04-25 09:35:53 · 1097 阅读 · 0 评论 -
Unity3D-iOS打包出现“This application does not support this device’s CPU type.”的问题
这个可以看这里:https://blog.youkuaiyun.com/sinat_22545219/article/details/79352050不过这个是可以在Unity里面设置的:在Build设置里面,将Architecture设置为Universal即可原创 2018-05-11 09:06:39 · 3381 阅读 · 2 评论 -
Unity3D-获取IOS的IDFA和IDFV
void InitUserProperty() {#if UNITY_IPHONE if (UserIDFA == "" && Device.advertisingTrackingEnabled) { UserIDFA = Device.advertisingIdentifier; } if (Us...原创 2019-07-26 09:16:30 · 2231 阅读 · 0 评论 -
Unity3D-Firebase的Database崩溃报错“createRepo called for Repo that already exists”
最近将Firebase的Database更新到6.x版本之后,在iOS上出现了大量的崩溃:createRepo called for Repo that already exists之前都好好的,不知道这次怎么就报这个错误,在网上找了半天,最后发现是因为在调用数据库引用时,不在主线程FirebaseDatabase.DefaultInstance.GetReference("xxxx/...原创 2019-06-25 18:20:23 · 463 阅读 · 0 评论 -
Unity3D-通过调用iOS原生代码将图片进行高斯模糊
之前一直想使用Shader去做高斯模糊特效,后面发现图片过大的话,效率真的是相当的不理想。后来在网上看到说iOS本身是有将图片处理成高斯模糊的功能的,想想也确实,苹果设备的背景经常会出现模糊特效,那他们的算法应该很快速的,于是突发奇想,如果将要做模糊处理的图片,传到原生端然后处理成模糊图片之后,再传回来使用,不就可以达到这个目的了么!首先要知道这个的局限性,不能实时的去做,这是什么意思呢,...原创 2019-05-08 12:29:23 · 584 阅读 · 0 评论 -
Unity3D-Admob中介设置之后google自身的中介适配器缺失问题
在Unity中使用了Admob广告,并且在Admob的后台配置了中介信息,在原来老版本的时候,Google自身的中介适配器是包含在SDK的包里面的,但是最近我把Google广告的SDK更新到最新的7.42.0版本之后,发现根本不出Admob的广告,其他的广告都正常。后面找了很多方式才发现,是由于Unity的包现在不支持最新的Google的最新版本SDK!所以,在从Unity导出到xCode工程...原创 2019-03-21 16:59:22 · 765 阅读 · 0 评论 -
Unity3D-Firebase的崩溃接入(iOS,Mac端)
Firebase给我们提供了崩溃收集程序包,我们只要把SDK弄到工程中去,就可能在Firebase后台收集到用户的崩溃信息,以便完善自己的应用,这里主要说的Mac端的下载Firebase的Unity包,导入基本包之后,如果没有其他需要,可以直接导出一个XCode工程了,这个过程可以参考我前面的博客接入谷歌Firebase步骤,或者去官网看也可以,前面步骤是一样的至于安装Pod可以参考这...原创 2018-11-28 10:14:11 · 1909 阅读 · 0 评论 -
Unity3D-iOS创建本地视频
在游戏中,有时候需要将一些简单的图片组合成视频,然后让用户分享出去,当然仅仅是那种很简单的图片组合视频(这是我自己项目的需求,不需要录制UI等其他东西)。本来想找插件的,后面看到大部分插件都是通过摄像机去录屏,但是我们项目本来就一个对图片操作的游戏,因此没法用插件。寻思着自己写一个,还好iOS方面的东西还是很齐全的,在查阅了很多资料和博客之后,终于被我弄出来的。原理也简单,就是通过写iOS...原创 2018-08-01 10:58:54 · 544 阅读 · 0 评论 -
IOS-Unity开发的游戏中获取IDFA出现卡死的问题
在项目用,由于使用Firebase和Facebook事件分析,需要收集IDFA作为用户的唯一标志位。但是在Unity调用原生获取IDFA时,出现是游戏卡死状态。经过我多次尝试,发现如果在Unity加载初始资源时,调用原生代码获取IDFA时,可能会使加载资源的主线程阻塞,具体的原因我并不清楚,但是根据Log的信息看,是加载资源被中断了, 没有继续走下去!改的方式,就是在加载资源完毕之后再去获...原创 2018-07-19 14:58:14 · 1156 阅读 · 0 评论 -
Unity3D-iOS分享本地视频或图片到Instagram(可直接打开Instagram分享的方式)
最近,看到App Store上有些应用可以直接把做好的视频或图片分享到Instagram上,而且是那种直接打开Instagram,并且可以直接编辑的方式,这种分享非常的友好,不需要用户去登录,只要安装了Instagram就可以直接跳转过去,相当于我们说的一键发布,省去了很多的麻烦。可是,在我去Instagram的开发者网站看的时候,发现并没有说怎么直接打开Instagram的方式,然后花了将近5天...原创 2018-05-25 10:29:03 · 4408 阅读 · 2 评论 -
Unity3D-接入谷歌的Firebase(iOS,Mac端)
谷歌的Firebase确实超级好用,但是对于新手,一开始都不知道如何接入,特别是对原生开发不了解的情况下。我就是走了好多路,最后才发现,原来要接入FirebaseSDK,只需要在电脑上安装了pod就可以了,然后跟着文档走就一切顺利打包。关于pod的安装,坑也挺多的,不过好在网上都有答案,跟着文章一步一步走,基本也能解决了。这里需要特别提醒的是,当加入FirebaseSDK之后,Unity导...原创 2017-11-14 14:49:31 · 3014 阅读 · 21 评论 -
Unity3D-使用Firebase中的云消息推送
在此记录下使用Firebase云消息推送的过程:在Firebase的console里面,选中自己的项目,左边菜单栏有个Project Overview的标签,有个齿轮图标,点进去可以看到项目设置;我们需要在“云消息推送”的子标签里面上传一个“APNs 身份验证密钥”,该文件是需要你去苹果开发者网址下载一个.p8的密钥文件,等于是拿到苹果的远程推送的授权一样。接下来,我们就去 htt原创 2017-11-22 16:42:55 · 4793 阅读 · 8 评论 -
React-Native中禁用Navigator手势返回
在React-Native开发中,经常会用到导航。导航做什么用的呢,简单点说就是页面跳转。一个项目中,肯定有很多的页面要跳来跳去的,RN就给我们提供了Navigator组件,可以很好的管理页面的跳转。在所有工作做完之后,发现有个bug!在从第一个界面跳转到下一个界面后,如果从屏幕左边向右滑,或者从上面想下滑,你会发现一个神奇的事情,那就是页面会通过滑动而返回到上一个界面。这让我们很尴尬了,原创 2016-09-21 12:50:49 · 6300 阅读 · 3 评论 -
React-Native手势识别(曲线比较)
最近在项目中需要用到一个曲线对比,也就是在屏幕上画一条线,然后和预制的手势曲线比较,看看用户是不是使用的这个手势。这个让我想到以前在做Unity的时候,找到过一个类似的插件,专门用来识别一些特殊自定义的手势,于是乎就将那个插件的代码移植到RN上来,方便以后使用。看了看源码,大概的意思是两条线分别标准化成32个点的离散点集,然后缩放归一化,最后计算每个点最近的距离,得到总距离除以32,循环一原创 2016-09-29 13:40:15 · 1255 阅读 · 0 评论 -
React-Native画线平滑处理
这次开发要手写画线,我们一般画线的时候是直接获取屏幕上的点,然后利用ART绘制出一天路径线:/** * Sample React Native App * https://github.com/facebook/react-native * @flow */import React, { Component } from 'react';import { StyleSheet原创 2016-10-12 10:59:08 · 6702 阅读 · 8 评论 -
React-Native使用小发现
5、在创建自定义原生模块时,命名一定要注意,不能带RCT前缀。RCT前缀适用于原生View,搭配RCT***Manager一起使用,可能是RN内部设置。6、在实际开发中,IOS使用模拟器调试时,经常按cmd+R键进行重新load操作。但是有时候按的不对时,就会按到cmd+T键,如果在不知情的情况下,你将会看到模拟器运行起来特别的卡顿,这是为什么呢?经过我自己的排查,终于发现问题所在!原来就是按到cmd+T快捷键了,那么这个快捷键是做什么用的呢?我在模拟器的菜单栏里面就找到了这么一个说明:在Debug选项中原创 2016-10-15 16:51:29 · 6401 阅读 · 0 评论 -
React-Native新版本RCTEventEmitter的使用(从原生发送消息到JS)
记得在0.27版本之前,RN的文档里面就告诉了我们怎么从Native端主动发消息到JS端,上面说的方式是这样的:@synthesize bridge = _bridge;-(void)iseCallback:(NSString*)code result:(NSString*) result{ [_bridge.eventDispatcher sendDeviceEventWit原创 2016-10-17 12:57:23 · 22604 阅读 · 8 评论 -
React-Native在APP调用浏览器或其他系统应用(Linking的使用)
这个其实在RN的文档中已经写好了,不过最新的依然不需要做文档中的额外步骤。直接在自定义的组件里面引用Linking,然后使用Linking的openURL函数即可,这个会自动选择系统的浏览器打开链接。var url = 'http://www.baidu.com'; Linking.openURL(url) .catch((err)=>{ console.原创 2016-11-03 14:33:02 · 16516 阅读 · 3 评论 -
React-Native解决键盘遮挡问题(Keyboard遮挡问题)
在开发中经常遇到需要输入的地方,RN给我们提过的TextInput虽然好用,可惜并没有处理遮挡问题。很多时候键盘弹出来都会遮挡住编辑框,让人很头疼。本来想在js.coach 库里面找一找第三方的插件,看到最好的一个就是react-native-keyboard-spacer了,然而我们还差一个东西,那就是获取键盘的高度。这个我也查了半天并没有提供,获取没找到吧。于是只好自己写原生模块去原创 2016-11-08 09:28:26 · 11611 阅读 · 6 评论 -
React-Native接入Google Sign-In授权登录
在项目开发中,经常需要使用第三方授权登录,比如QQ,FB,TWTR等等,今天就把我自己研究的Google授权登录写出来。当然,一开始你也可以去第三方库搜索GOOGLE,有人已经贡献出来了。点击打开链接我自己最开些想找FB和TWITTER的,然后都不好用,所以都是自己动手写的,于是这个GOOGLE的也就顺手写了。后面才去js.coach上去查的。GOOGLE的登录有点坑人,根据官网的提示原创 2016-11-18 09:00:00 · 5346 阅读 · 0 评论 -
React-Native接入Unity导出项目,展示3D模型
今天突然想到在RN里面展示一些3D模型,这样可以增加软件的表现力。我首先想到的是Unity3D,因为以前做过Unity3D的项目,它使用简单,最主要是用C#语言,对于我这个以前用C/C++的人来,是一个很不错的开发工具。使用的版本:Xcode:7.3.1 Unity3D:5.3.5f1 RN:React:15.3.2,React-Native:0.33.0那么开始记录我的做法:原创 2016-09-21 08:47:17 · 8788 阅读 · 4 评论 -
React-Native中Array渲染的key的作用
我们在项目里面,经常会用的批次渲染,比如一个列表渲染很多个item,或者一个横排或者竖排同时渲染多个数据。例如: render1(){ var arr = []; for(var i=0;i<5;i++){ arr.push( 这是{i} ); } return (原创 2016-09-14 12:38:30 · 14285 阅读 · 3 评论 -
Cocoapods安装时遇到的坑!
可能是之前安装了,然后升级系统之后,现在需要用到,发现死活运行不起来。1、之前运行pod setup,还会提示 /usr/local/bin 这个文件夹只可读,无法操作,我们只需要更改下他的读写权限即可sudo chmod go-w /usr/local/bin2、$ pod setupSetting up CocoaPods master repofatal:原创 2017-10-27 09:48:57 · 6079 阅读 · 0 评论 -
Unity3d-调用iPhone或则iOS自带的Maill App去发送邮件
我在前面的博客中也写过,打开Appstore,打开设置之类的由于在网上没找到发送邮件反馈的,大部分都说的是在游戏内发送邮件给玩家。今天顺着打开appstore的方式去尝试了下,可以直接利用Appliction去打开Mail app,代码如下:public static void GotoEmail(string toMail){ #if UNITY_IPHONE || UNITY_原创 2017-04-10 17:17:37 · 5074 阅读 · 0 评论 -
Unity3D-使用自带的LocalNotification推送后,Icon上的Badge Number数量消除不掉
本地推送我是这样写的:LocalNotification localNotification = new LocalNotification(); localNotification.fireDate = newDate; localNotification.alertBody = message; localNotification.applicationIconBadge原创 2017-02-09 17:39:32 · 3998 阅读 · 7 评论 -
Unity3D-关于LaunchScreen界面的设置(IOS)
在Unity中,是可以直接设置Launch界面的,不过分了两种(主要是IOS的,android的没试过,不过道理是一样的)首先说说简单的,就是直接给全屏图片。如果想要通用Iphone和Ipad,则需要设置两个全屏图。为什么需要这样做,因为有些时候要求你启动界面和加载界面保持一致,只是多了个加载的进度条或者等待状态,如果不用全屏图,那么这两屏就会出现不对称。如果你不关心这个细节,那么也无所谓,直原创 2017-08-27 14:47:53 · 8753 阅读 · 0 评论 -
Unity3D-关于使用了Metal的Graphic闪退问题
最近看到CrashReport中经常看到因为GfxDeviceMetal::InvalidateState()这里闪退原创 2017-07-18 10:29:53 · 3144 阅读 · 0 评论 -
React-Native自定义view显示(原生端)
自定义view: 自己写原生的view显示在RN界面上。这次主要是项目需要绘制一张大图,里面有很多节点和线,如果使用单纯RN提供的view去做,需要的内存不够(量级在K以上),所以需要想办法在一个view中画所有的点和线。自己在想的过程中,也去找了一些相关的RN插件,一个是react-native-svg,很好的插件,由于我需要动态更改节点和线的位置,这个插件不能很好的展示原创 2016-09-06 10:59:38 · 6586 阅读 · 0 评论 -
React-Native自定义view显示(js端)
上一篇是原生方面的代码,现在说下js这边的代码,由于自己水平也不够,都是参照别人的插件写的'use strict'import React, { Component } from 'react';import { View } from 'react-native';import { requireNativeComponent } from 'react-native';c原创 2016-09-06 12:00:06 · 1819 阅读 · 0 评论 -
React-Native自定义view的缩放问题
前不久根据RN中文网写了一个带drawRect的原生UIView,虽然可以完整显示出所有需要画的东西,但是缩放就出现了问题。我想要达到的目的是想网页一样缩放,就是在移动之后,在屏幕中心缩放。这个问题最后在网上找到一个解决方法,其实就是就缩放之前,先进行位移,然后进行缩放,最后在做实际的位移既可以,代码如下:CGContextRef context = UIGraphicsG原创 2016-09-09 13:31:53 · 3165 阅读 · 0 评论 -
Unity3D-IOS利用判断某个应用是否安装来区分测试和正式用户
在实际项目开发过程中,可能需要收集用户的信息以及用户在APP中产生的所有痕迹,以便于分析用户在APP中的行为,这样可以更好地指导我们去更新APP,做出更好的APP。但是,我们在开发中,难免会出现需要屏蔽测试用户的信息,这个其实有一些曲线救国的方式,比如:1、拿到我们测试机型的IDFA,通过IDFA将测试产生的数据都排除掉,以免影响数据分析。这个方式的缺点就是IDFA也许会自动化变,目前知道...原创 2019-08-05 16:41:20 · 825 阅读 · 0 评论