zoukankan      html  css  js  c++  java
  • iOS开发过程中专门在调试时运行代码的方法

    在开发过程中,我们经常会使用NSLog用于跟踪调试,不过在发布的产品可能并不希望这些调试代码被运行。这里有一个小技巧分享一下。

    在编写代码时可以使用如下方式:

    #ifdef DEBUG
        // Debug 模式的代码...
    #else
        // Release 模式的代码...
    #endif

    其中的DEBUG是在Xcode默认的工程中已经定义好的,也可以根据自己的实际情况添加其他常量定义。

    在Xcode中,选择导航区域左侧顶端的根节点,然后选择Project/Build Settings,在搜索框中输入DEBUG,可以看到该定义,如下图所示:

    如果要测试在不同模式下代码的运行效果,可以选择Product/Scheme/Edit Scheme,修改Build Configuration即可,如下图所示:

    提示:Release模式在真机上无法运行,可以选择模拟器运行查看效果。

    在开发IAP应用时,可以使用此技巧,这样就不用每次都想着去修改验证地址了,示例代码如下:

    定义部分代码:

    #define ITMS_PROD_VERIFY_RECEIPT_URL        @"https://buy.itunes.apple.com/verifyReceipt"
    #define ITMS_SANDBOX_VERIFY_RECEIPT_URL     @"https://sandbox.itunes.apple.com/verifyReceipt";

    使用部分代码:

        NSString *encodingStr = [transaction.transactionReceipt base64EncodedString];
        
        NSString *url;
    #ifdef DEBUG
        url = ITMS_SANDBOX_VERIFY_RECEIPT_URL;
    #else
        url = ITMS_PROD_VERIFY_RECEIPT_URL;
    #endif
    // 创建POST请求。
        NSString *payload = [NSString stringWithFormat:
                             @"{\"receipt-data\" : \"%@\", \"password\" : \"%@\"}",
                             encodingStr, ITC_CONTENT_PROVIDER_SHARED_SECRET];
        NSData *payloadData = [payload dataUsingEncoding:NSUTF8StringEncoding];
        
        NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
        [request setHTTPMethod:@"POST"];
        [request setHTTPBody:payloadData];
        NSURLConnection *conn = [[NSURLConnection alloc]initWithRequest:request delegate:self];
        
        [conn start];

    原创文章,如需转载请注明出处,谢谢!

    欢迎访问本人技术微博 趣味苹果开发 相互交流,共同进步!

    欢迎访问本人新浪微博 可可爸刘凡

    用趣味的心态,开发有趣味的应用!

  • 相关阅读:
    YII 数据插入 save() 方法
    springboot md5 加密
    yii 在model中实现连表查询
    yii 获取登录用户的信息
    yii 在GridView中怎样添加html代码
    yii 返回json数据
    Qt 错误:QMainWindow: No such file or directory 解决方法
    Qt 错误:QtGui/QApplication在Qt5没有这个文件
    VMware Ubuntu 虚拟机安装 VMwareTools (VMware虚拟机如何与主机互相复制文件)
    VMware15、Ubuntu19.04、安装教程(图文步骤)
  • 原文地址:https://www.cnblogs.com/liufan9/p/2995500.html
Copyright © 2011-2022 走看看