1. iOS IAP安全性问题汇总

    1. 常用的攻击方式 劫持apple server攻击 重复验证攻击 跨app攻击 换价格攻击 歧义攻击 中间人攻击 2. 讲解攻击方式及处理 劫持apple server攻击 通过dns污染,让客户端通过假的apple_server进行verify,从而认为自己支付成功。这个主要针对客户端验证发货的方式,如果是服务端验证,就没效果了 重复验证攻击 因为同一个receipt,如果 …

    继续阅读

  2. iOS IAP支付常见问题汇总与解决

    1. 获取不到商品信息的原因 沙盒的测试账号和你请求商品信息没有关系 iTunes Connect里面对应账号的协议、税务和银行业务信息有没有填完整,填好的应该是这个样子这个很容易疏忽,务必检查 确认证书是否添加IAP支付功能默认创建的证书是包含该项的 确定是真机测试且手机没有越狱大部分越狱手机也可以测试,深度越狱破坏系统的可能无法调起支付 确定内购商品添加到了需要内购功能的App中 确定 …

    继续阅读

  3. iOS Toast 实现

    123// 对外暴露两个方法供调用+ (void)showToast:(NSString *)text;+ (void)showToast:(NSString *)text inView:(UIView *)superView; 123456789101112131415161718192021222324// 实现方法+ (void)showToast:( …

    继续阅读

  4. iOS 系统自带分享

    注意:国行手机无法使用系统自带的facebook分享,国行手机facebook被阉割导致分享失败。123456789101112131415161718192021222324252627282930313233343536373839404142434445464748/*** 分享* 多图分享,items里面直接放图片* 分享链接* NSString *textToShar …

    继续阅读

  5. iOS 应用商店评分StoreReview

    应用中引导用户去进行应用评论常用的方法大概有以下几种: 使用deepLink;在app地址链接后边拼接上action=write-review可以直接跳转到App Store应用中对应的应用评价界面进行评价 使用SKStoreReviewController;在iOS 10.3之后,iOS提供了一种新的评价方式,可以不用跳转出应用在应用内就完成应用的星级评价 从这段说明里,我们看出官方给出的注 …

    继续阅读

  6. iOS KVC

    1. KVC简介 键/值编码中的基本调用是-valueForKey:和-setValue:forKey:方法12345NSString *name = [car valueForKey:@"name"];valueForKey:会首先查找以参数名命名(格式为_name或_isName)的getter方法如果没有这样的getter方法,它将会在对象内寻找名称格式为_n …

    继续阅读

  7. iOS APNS device token特性

    device token的一些特性: 开发环境获取的deviceToken和发布环境获取的deviceToken是不一样的 在一台设备中,deviceToken是系统级别的,不同App获得的deviceToken是相同的 deviceToken会过期 单个App的更新deviceToken不会发生改变 当进行备份恢复、或恢复出厂设置之类的操作时,deviceToken会发生改变,建议App在 …

    继续阅读

  8. iOS 接入Twitter 相关注意点

    1. 接入前配置 Download and unzip Twitter Kit Add TwitterKit to “Embedded Binaries” in your Xcode project settings(测试发现不添加也可以) Add TwitterKit and TwitterCore to “Linked Frameworks and Libraries” in your Xc …

    继续阅读

  9. iOS runtime 相关实例

    避免按钮快速点击多次相应问题 创建UIButton 分类 123456789101112//// UIButton+time.h//#import <UIKit/UIKit.h>@interface UIButton (time)/* 防止button重复点击,设置间隔 */@propert …

    继续阅读

  10. c++传递字符串给c#使用问题

    C++里,字符串要占用内存的。C++创建字符串,并传给C#,就会造成内存泄露(因为C#不知道C++如何创建,也就不知道如何销毁)。因此,通常的做法(甚至是C++互相调用的惯例),是 调用者(这里是C#)准备好一段内存缓冲区(这里是StringBuilder); 被调用者C++把字符串内容,填充到指定缓冲区去; 调用者从缓冲区能得到结果,也知道如何清理缓冲(C#自己会用垃圾回收),没有内存泄露问题 …

    继续阅读