小编May*_*tel的帖子

设备令牌获得Nil

我有一个奇怪的问题,我的一些用户正在返回空白(或null)设备令牌Apple Push Notification.它只发生在用户的一些用户身上,

这是我的代码,

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

   #if !TARGET_IPHONE_SIMULATOR

       [_globalKRData setPreferences:deviceToken withKey:kPushToken]; // Preferences 

       PFInstallation *currentInstallation = [PFInstallation currentInstallation];
       [currentInstallation setDeviceTokenFromData:deviceToken];
currentInstallation.channels = @[@"global"];
       [currentInstallation saveInBackground];

    #endif

}
Run Code Online (Sandbox Code Playgroud)

设备是否可能是Jail break我获得nil设备令牌的原因?

更新

例如,第一次用户允许推送通知并且它正常工作,

现在,用户可以设置和禁用设置的通知

禁用通知

然后在它之后我不会得到设备令牌很好,但问题是现在用户卸载应用程序,

然后再次下载应用程序然后didRegisterForRemoteNotificationsWithDeviceToken没有调用,所以我得到零设备令牌,当我检查设置它将显示通知

objective-c apple-push-notifications ios parse-platform ios9

8
推荐指数
1
解决办法
3038
查看次数

didReceiveRemoteNotification调用了两次

我在我的应用程序中实现了推送通知.

当我的应用程序在前台时,我的应用程序正常工作.

但当应用程序在后台或被杀时,我的didReceiveRemoteNotification被叫两次.

我已经提出了一个处理Push通知并从didFinishLaunchingWithOptions和 调用此方法的常用方法didReceiveRemoteNotification

这是我的实施:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  NSDictionary *pushDictionary = [launchOptions valueForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
  if (pushDictionary) {
    [self customPushHandler:pushDictionary];
  }

  return YES;

}
Run Code Online (Sandbox Code Playgroud)

而且:

- (void)application:(UIApplication *)application
   didReceiveRemoteNotification:(NSDictionary *)userInfo
  fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))handler {


         [self customPushHandler:userInfo];

 }
Run Code Online (Sandbox Code Playgroud)

和:

 - (void) customPushHandler:(NSDictionary *)notification {

     // Code to push ViewController

         NSLog(@"Push Notification"); //Got it two times when Clicked in notification banner

   }
Run Code Online (Sandbox Code Playgroud)

当我的应用程序运行时,ViewController被推送一次.当我打开我的应用程序从通知横幅,然后我的屏幕被推了两次.

我放置了一个NSLog,customPushHandler当App处于前台时,我得到了一次,当我从Notification banner中启动时,我得到了两次.

我的代码中有什么问题.

iphone objective-c push-notification ios xcode6

8
推荐指数
2
解决办法
3227
查看次数

AVR如何执行浮点运算

我正在尝试在没有FPU的CPU上实现对double和的支持float以及相应的基本算法。

我知道这一切都有可能AVR ATmega controllers。ATmega也没有FPU。因此出现了一个问题:它是如何工作的?是否有任何文献建议或带有解释和实例的链接?

在最好的情况下,我将为以下代码提供支持:

double twice ( double x )
{
  return x*x;
}
Run Code Online (Sandbox Code Playgroud)

提前谢谢,亚历克斯

c floating-point avr

5
推荐指数
1
解决办法
7103
查看次数

如何在IOS 9中为Universal Linking创建apple-app-site-association文件?

我在创建apple-app-site-association文件时遇到了一些问题.我不知道如何在没有json扩展的情况下创建json文件并且具有application/json相同文件的内容类型.我想使用此文件而不进行任何签名,因为它没有在IOS 9中需要但我无法创建有效的apple-app-site-association文件.

我已在我的应用上设置了所有内容,例如关联域,应用委托方法,配置文件.

这是我后端的代码:

{
    "applinks": {
      "apps": [],
      "details": [
          {
             "appID": "teamID.bundleID",
             "paths": [ "*" ]
          }
      ]
   }
 }
Run Code Online (Sandbox Code Playgroud)

xcode ios ios-universal-app ios9

5
推荐指数
3
解决办法
3841
查看次数

CoreBluetooth和外部附件无法在iOS10中运行

我正在使用蓝牙的外部硬件设备我收到此错误,我无法获得蓝牙的许可,它工作到iOS9但我不知道为什么这种改变会影响iOS10?

错误:

[CoreBluetooth] API MISUSE:没有恢复标识符,但委托实现了centralManager:willRestoreState:方法.不支持恢复

2016-09-17无法找到"com.apple.private.externalaccessory.showallaccessories"权利

在此输入图像描述

更新:

我在这里看到了这个错误 https://forums.developer.apple.com/thread/61646

objective-c external-accessory ios core-bluetooth ios10

5
推荐指数
1
解决办法
2307
查看次数

在Chrome版本73.0.3683.86上下载crx扩展文件时出现错误CRX_INVALID_HEADER

当我 在chrome版本73.0.3683.86上通过链接获取任何crx扩展文件(~~~是扩展名)时,我在网上商店中获取具有任何ID的CRX_HEADER_INVALID。

此外,我已经通过https://chrome-extension-downloader.com/下载了crx文件。我可以获取crx文件,但是当我将其添加到chrome:\ extensions中时,我在chrome版本73.0.3683.86上也获得了CRX_HEADER_INVAILD,但是在较旧的chrome版本上可以使用。

所有这些活动我使用最新版本的chrome。

有人可以帮助我吗?

google-chrome

5
推荐指数
2
解决办法
1万
查看次数

请参阅调试目的的 Firebase 网络流量

我希望能够使用 Charles Proxy 调试 firebase 分析。我无权访问源代码,因此无法在 Firebase 中启用调试视图。

我想要跟踪网络流量,以便能够使用 Firebase Analytics 数据的 Charles 代理查看我的应用程序内发送的事件。我尝试使用 Charles 代理设置 SSL 连接,但无法从我的应用程序中看到 Firebase Analytics 流量。

这样做的目的是因为我无权访问应用程序中的源代码,因此无法启用 debugView。

我希望能够查看我的应用发送到 Firebase Analytics 的网络流量。与处理 Google Analytics 数据的原理相同。

analytics network-traffic firebase-analytics

5
推荐指数
0
解决办法
1036
查看次数

错误:原因:com.android.sdklib.repository.FullRevision

我想尝试从AS 2.0即时运行 - 为此我必须更新到build-plugin到2.0.0-alpha6 - 但是当我这样做时,我不能再对该项目进行gradle-sync,因为我得到了:

Gradle'myProject'项目刷新失败错误:原因:com.android.sdklib.repository.FullRevision任何人都知道原因/解决方法吗?

我使用JakeWharton/sdk-manager-plugin.build-plugin到1.5.0不是问题.

android gradle android-studio

4
推荐指数
1
解决办法
5733
查看次数

4
推荐指数
1
解决办法
8969
查看次数

为什么每次打开终端以便别名工作时我都必须使用.bashrc?

Git工作正常.我在Git中创建了一个别名,但问题是当我尝试重新打开终端时,我需要. ~/.bashrc每次都在终端中运行.

每次重新打开终端时,我不需要提供源的最佳方式是什么?

我做了什么? 我试图在此文件中添加source.bashrc文件,但它是一个只读文件.我不能添加source的的.bashrc文件,在此配置文件.

open /etc/profile
Run Code Online (Sandbox Code Playgroud)

添加了在配置文件中写入的权限,仍然无法链接源文件.

sudo chmod u+w /etc/profile
Run Code Online (Sandbox Code Playgroud)

轮廓:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
   eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
   [ -r /etc/bashrc ] && . /etc/bashrc
fi
Run Code Online (Sandbox Code Playgroud)

bash shell

3
推荐指数
2
解决办法
3764
查看次数