小编Gau*_*gla的帖子

编写Coverity模型:struct中的指针始终指向受污染的数据

我定期检查lwIP,一个带Coverity的免费TCP/IP堆栈.

作为网络堆栈,我们有来自网络的不受信任的数据,存储在struct pbuf中(为清楚起见,省略了一些成员):

struct pbuf {
  void *payload;
  u16_t len;
  u16_t ref;
};
Run Code Online (Sandbox Code Playgroud)

我的问题是:

1)我想模拟struct pbuf的"void*payload"始终指向受污染的数据,每次访问它都必须是不可信的.我怎样才能做到这一点?

2)我们使用refcounting(u16_t ref).有没有办法在Coverity中模拟引用计数?

code-analysis coverity

18
推荐指数
0
解决办法
288
查看次数

带有"Release:Fastest,Smallest [-Os]"的Xcode 8有一些奇怪的问题,在某些情况下效果不佳

我的项目中有1个目标,并且有3个构建配置

Debug Production & Release

当我运行我的应用程序debugproduction配置和它的工作正常没有任何问题,但当我改变我build configurationrelease它一些奇怪的问题,如一些字符串值不存储在plist文件中,当我调试我的发布模式时,我没有我的调试器中没有任何值.

在对我的代码和构建设置以及一些建议表单进行过多调查之后,我SO在下面的构建设置中进行了以下更改.

Apple LLVM 8.0代码生成标题下的更改优化级别

获得以下优化级别的问题:

在此输入图像描述

解决了以下优化级别更改的问题:

在此输入图像描述

不知道为什么它在无[-O0]中工作.

任何人都可以帮助我补丁吗?

这是上面的优化级别受影响的一个敏感部分.

我保存的书签代码我有价值,但它仍然在plist中存储NULL.

- (IBAction)bookmark:(id)sender{

    DimensionModel *aDimensionModel = APPDELEGATE.selected_dimensionModel;
    EmirateModel *aEmirateModel = APPDELEGATE.selected_emirateModel;
    DivisionModel *aDivisionModel = APPDELEGATE.selected_divisionModel;
    __weak NSString *aStrVCName = self.bookMarkViewModel.selectedStrVCName;

    //Add Title string in Dictionary and then in Plist
    __weak NSString *aStrTitle = [NSString stringWithFormat:@"%@",aDimensionModel.dimension_description];
    aStrTitle = [aStrTitle stringByReplacingOccurrencesOfString:@"(null)" withString:@""];

    if (IS_ENGLISH) {
        aStrTitle = [aStrTitle stringByAppendingString:[NSString stringWithFormat:@" - %@ …
Run Code Online (Sandbox Code Playgroud)

xcode build llvm ios

17
推荐指数
2
解决办法
1807
查看次数

在Android中获取用于Contact Sync的更新联系人

我正在使用Android中的Contact Sync,我已经成功完成了首次使用Contact Sync.

这就是我在做的事情.1.获取所有联系人并使用Contact._ID保存数据库中的每个联系人2.获取姓名和电话号码并保存在数据库中.

之后,我将联系人数据发送到服务器,以便更新服务器.

现在问题是如何检查我的特定联系人是否更新?

我已经实现了广播接收器,以便我的应用可以了解联系人的更新/添加/删除.但我想特别联系.

我找到了一个解决方案,即Dirty Flag.它告诉我们联系方式是否更新,以下是参考链接:http://developer.android.com/reference/android/provider/ContactsContract.RawContacts.html

但我无法使用这个脏旗,有人可以通过实施脏旗帮助我.

提前致谢 !

android contact android-intent android-contacts

16
推荐指数
1
解决办法
3445
查看次数

在iOS中创建Hexagon ImageView形状

我想在我的ImageView上使用Hexagon形状.但在实现下面的代码之后,我得到了这张图片

- (UIBezierPath *)roundedPolygonPathWithRect:(CGRect)square
                                    lineWidth:(CGFloat)lineWidth
                                        sides:(NSInteger)sides
                                cornerRadius:(CGFloat)cornerRadius
{
    UIBezierPath *path  = [UIBezierPath bezierPath];

    CGFloat theta       = 2.0 * M_PI / sides;                           // how much to turn at every corner
    CGFloat offset      = cornerRadius * tanf(theta / 2.0);             // offset from which to start rounding corners
    CGFloat squareWidth = MIN(square.size.width, square.size.height);   // width of the square

    // calculate the length of the sides of the polygon

    CGFloat length      = squareWidth - lineWidth;
    if (sides % 4 != 0) {                                               // if …
Run Code Online (Sandbox Code Playgroud)

core-graphics uiimageview uiimage ios uibezierpath

12
推荐指数
2
解决办法
6232
查看次数

我的应用推送通知仅在我的客户端的iPhone中不起作用

我正在iOS中开发移动应用程序,并且我已成功完成了推送证书和服务器端实现的创建.

现在的问题是,Push Notification在我的iPhone 5S和iPhone 6中完美运行.我在印度的许多手机中都检查过它,它工作正常但是当我在我的客户端的iPhone 5S中测试它然后它不起作用.之后,我的客户带来了另一部iPhone 5S,并给了我他的新设备UDID,再次它无法正常工作.请帮我解决有什么问题.

经过大量谷歌搜索后,我发现以下步骤,以便我们的应用程序可以再次询问推送通知权限.

  1. 从设备中删除不再具有推送通知的应用.
  2. 完全关闭设备并重新打开.
  3. 转到设置并提前一天设置日期和时间
  4. 再次关闭设备并将其关闭
  5. 再次安装应用程序,它会在第一次安装时询问通知.

我按照上面的步骤和设备询问推送通知权限,但它仍然无法在他的iPhone中工作.

之后我在印度的iPhone中执行了相同的步骤,其中推送通知已经在工作.完成上述步骤后,我的应用程序要求获得推送通知权限,并且工作正常.

以下信息可以帮助我们解决此问题.我的客户位于英国曼彻斯特,他正在使用基于O2合约的iPhone.

iphone notifications objective-c push-notification ios

3
推荐指数
1
解决办法
1541
查看次数

在单个NSOperationQueue iOS中管理多个操作,如暂停/恢复单个操作

在我的代码中,我想在队列中单独处理操作,并能够暂停和恢复队列中的操作操作.我该如何实现呢?

让我简单解释一下我的问题,我使用下面的代码来创建子类NSOperation的操作,并将此操作添加到NSOperationQueue.

@interface MyLengthyOperation: NSOperation
@end

@implementation MyLengthyOperation
- (void)main
{
    // a lengthy operation
    @autoreleasepool 
    {
        for (int i = 0 ; i < 10000 ; i++) 
        {

            // is this operation cancelled?
            if (self.isCancelled)
            break;

            NSLog(@"%f", sqrt(i));
        }
    }
}
@end
Run Code Online (Sandbox Code Playgroud)

我创建了上面的操作,我正在调用它

NSOperationQueue *myQueue = [[NSOperationQueue alloc] init];
myQueue.name = @"Download Queue";
myQueue.maxConcurrentOperationCount = 4;
[myQueue addOperation:operation];
Run Code Online (Sandbox Code Playgroud)

现在我想暂停并恢复我的操作.让我们假设循环在6786上,我按下暂停按钮,然后队列应暂停此操作,当我按下启动时,它应该从6786开始.

我想控制队列中的多个操作.我怎样才能做到这一点 ?

我看了[queue setSuspended:YES];- 这将阻止队列添加新操作,但我想控制队列中的现有操作.

等待你的答案.

提前致谢 !

multithreading nsoperationqueue ios

0
推荐指数
1
解决办法
1893
查看次数