小编Raf*_*afi的帖子

iTunes Connect - 您的应用程序是否设计为使用加密技术?

当我尝试为Test Flight使用激活我的应用程序版本时,我被问到这个问题:

您的应用是否设计为使用加密技术,还是包含或包含加密技术?(即使您的应用仅使用iOS或OS X中提供的加密,也请选择"是".)

在我的应用程序中,我通过HTTPS向我的远程服务器发送API调用,以便用户可以交朋友,聊天,验证等.

这算数了吗?我有点困惑为什么他们现在问这个并且仅用于试飞.

itunesconnect ios

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

Xcode - 帐户已经拥有有效的iOS分发证书

我的开发团队最近为我们的Apple Developer帐户添加了新的分发证书.我下载了它,它现在在我的钥匙串上.但是,我在Xcode中收到此消息:

您在成员中心拥有有效的iOS分发证书,但未在本地安装.如果您的签名身份安装在另一台Mac上,则可以在该Mac上导出开发人员配置文件并将其导入此Mac.您也可以撤销当前的证书并申请新的证书.

当我转到首选项>帐户>查看详细信息时,我只看到1个证书签名标识"iOS开发".如何添加新的分发证书?我认为将它安装在我的钥匙串上已经足够了.当我尝试将证书从我的钥匙串拖到"查看详细信息"部分中的签名身份时,它不起作用,因为我无法将其拖动到那里.

我认为下载分发证书足以让它"本地安装",如Xcode所说,但显然它没有效果.

任何帮助或建议将不胜感激.谢谢.

xcode ios

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

iOS - 当我将两个NSNumber与"=="进行比较时,为什么它可以工作?

在我的应用程序中,我在比较两个NSNumber对象时不小心使用了"==" :

NSNumber *number1;
NSNumber *number2;
Run Code Online (Sandbox Code Playgroud)

后来,在设置了这些对象的int值后,我不小心这样做了:

if (number1 == number2) {
    NSLog(@"THEY'RE EQUAL");
}
Run Code Online (Sandbox Code Playgroud)

而且,令人困惑的是,它有效!我可以发誓我被教导这样做:

if (number1.intValue == number2.intValue) {
    NSLog(@"THEY'RE EQUAL");
}
Run Code Online (Sandbox Code Playgroud)

如何在两个NSNumber对象之间使用"==" ,为什么?这是否意味着可以通过这种方式对它们进行比较,还是只是一个侥幸,这通常不能保证每次都有效?这真让我困惑:(

compare objective-c nsnumber ios

13
推荐指数
2
解决办法
908
查看次数

Android Firebase - "onDataChange"和"onCancelled"在没有Internet连接的情况下无法调用

在我的应用程序中,我只是尝试Firebase通过ListenerForSingleValueEvent在以下代码中添加一个来从我的数据库中检索读取段落:

myRef.child("passages").child(passageNum).addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                System.out.println("ON DATA CHANGE");
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                System.out.println("DATABASE ERROR");
                FirebaseErrorHandler.handleDatabaseError(databaseError.getCode(), ReadingActivity.this);
            }

        });
Run Code Online (Sandbox Code Playgroud)

当有互联网连接时,它工作得很好.但是,当我故意关闭互联网连接时,既没有onDataChange也没有onCancelled被呼叫.这非常令人沮丧,因为其中两个错误代码databaseError.getCode()与网络连接问题有关.

如果我不能在此获得的数据由于没有互联网,我想至少让用户知道,而不是有这个监听器挂在屏幕不断加载.有办法解决这个问题吗?我是否只需要使用Firebase'sREST API?至少对于RESTful网络请求,它们会通知您连接是否失败.

android firebase firebase-realtime-database

11
推荐指数
1
解决办法
5163
查看次数

Android - Firebase用户验证令牌是否过期?

我决定使用Volley并使用RESTful路由,Firebase因为他们的听众似乎在没有互联网连接时挂起.至少对于Volley,它让我知道网络请求是否由于互联网连接而未成功.

我需要知道FirebaseUserauth令牌是否过期.在我的应用程序中,我只允许Google和Facebook身份验证,并且我使用以下代码,假设Firebase用户身份验证令牌不会过期:

private String authToken;

// Callbacks

public interface ApiCallbacks {
    public void onSuccess(JSONObject response);
    public void onError(String errorString);
}

private interface AuthTokenCallbacks {
    public void onAuthTokenSuccess();
    public void onAuthTokenError(String errorString);
}

// Request Helpers

private void getAuthToken(final AuthTokenCallbacks callbacks) {
    // Lazy instantiation
    if (authToken == null) {
        FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
        if (user == null) {
            callbacks.onAuthTokenError("Please log in");
        } else {
            user.getToken(false).addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
                @Override
                public void onComplete(@NonNull Task<GetTokenResult> task) { …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-authentication

9
推荐指数
1
解决办法
6637
查看次数

iOS - JSQMessagesViewController聊天气泡高度不调整(文本截止)

我正在使用JSQMessagesViewController我的应用程序中与服务器通信的聊天功能.但是,聊天气泡非常难以预测,其大小永远无法正确调整.文本总是被切断,因为聊天气泡没有增加其宽度和高度以适合我的消息.我有以下代码:

#import "ChatViewController.h"
#import "JSQMessage.h"
#import "JSQMessagesTimestampFormatter.h"
#import "JSQMessagesBubbleImage.h"
#import "JSQMessagesBubbleImageFactory.h"
#import "User.h"
#import "AuthenticationHelper.h"
#import "Chat.h"

@interface ChatViewController ()

@property(strong, nonatomic)NSMutableArray* messagesArray;
@property(strong, nonatomic)User* myUser;
@property(strong, nonatomic)NSTimer* updateTimer;

@end

@implementation ChatViewController


#pragma mark - View lifecycle

/**
 *  Override point for customization.
 *
 *  Customize your view.
 *  Look at the properties on `JSQMessagesViewController` and `JSQMessagesCollectionView` to see what is possible.
 *
 *  Customize your layout.
 *  Look at the properties on `JSQMessagesCollectionViewFlowLayout` to see what is …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c ios jsqmessagesviewcontroller

6
推荐指数
0
解决办法
3374
查看次数

Eclipse - 如何删除包

我刚刚开始参加分布式系统课程,我的老师在我们课程的网站上说了以下内容:

请不要使用包!如果您的 Eclipse 配置默认使用它们,请在编写代码之前删除它们!

她到底在说什么?我认为 Eclipse 需要为项目源文件创建包以保持组织有序。我该如何删除它们?

java eclipse

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

iOS - 在NSURLSession中重新尝试失败的NSURLRequests

在我的应用程序中,对我的服务器的2-4个API调用可以在我的API类中同时(异步)进行NSURLSession.为了向我的服务器发出API请求,我必须在HTTPHeaderField每个服务器中提供身份验证令牌NSURLRequest.令牌有效期为一天,如果在一天后失效,我需要刷新令牌.

我在我的API类的以下代码中执行此操作:

/*!
 * @brief sends a request as an NSHTTPURLResponse. This method is private.
 * @param request The request to send.
 * @param success A block to be called if the request is successful.
 * @param error A block to be called if the request fails.
 */
-(void)sendTask:(NSURLRequest*)request successCallback:(void (^)(NSDictionary*))success errorCallback:(void (^)(NSString*))errorCallback
{
    NSURLSessionDataTask *task = [self.session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
    {
        [self parseResponse:response data:data fromRequest:request successCallback:success errorCallback:^(NSString *error)
        { …
Run Code Online (Sandbox Code Playgroud)

authentication api nsurlrequest ios nsurlsession

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

我应该在调度块中使用"weakSelf"吗?

我听说我应该总是使用weakSelf块来避免保留周期,但是调度块呢?在这种情况下,我的方法在以下代码中处理来自我的服务器的错误响应:

//handling server errors (particularly "Token Refresh Failed" ones)
-(void)handleServerErrorResponse:(NSString *)error {
    dispatch_async(dispatch_get_main_queue(), ^{
        UIAlertController *alertController = [DialogHelper getAlertForSimpleAuthError:error];
        if ([error isEqualToString:@"Your login session has expired"]) {
            [alertController addAction:[UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action)
            {
                [MyModelDataCenter emptyDataCenter];
                [MyAPIInterface sharedInstance].authToken = nil;
                NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
                [defaults removeObjectForKey:@"authToken"];
                [defaults removeObjectForKey:@"defaultUserObjectDictionary"];
                [defaults synchronize];
                [AuthenticationHelper sharedInstance].loggedInUser = nil;
                [self.navigationController popToRootViewControllerAnimated:YES];
            }]];
        }
        else {
            [alertController addAction:[UIAlertAction actionWithTitle:@"Ok" style:UIAlertActionStyleDefault handler:nil]];
        }
        [self presentViewController:alertController animated:YES completion:nil];
    });
}
Run Code Online (Sandbox Code Playgroud)

我应该weakSelf在这个块中使用和在其他块中一样吗?

memory-management objective-c objective-c-blocks retain-cycle

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

iOS - 子视图控制器对父视图控制器具有“强”引用

我已经阅读了很多关于保留周期的内容。必要时,父级UIViewController应始终strong引用其子级,UIViewController而子级应始终weak引用其父级。

仅当他们相互引用时才这样吗?例如,如果父级UIViewController没有对其子级的任何引用,那么子级是否strong可以引用其父级UIViewController?从长远来看,我可以摆脱这种做法,还是在内存问题方面这是不好的做法?

memory-leaks uiviewcontroller ios

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