小编Sni*_*ips的帖子

iOS模拟器在哪里保存屏幕截图?

自从更新到Xcode 4.3(在10.7.3 Lion上运行)后,我找不到iOS模拟器截图(据说是用cmd+ 创建的S).

他们不在~Library/Application Support/Developer/Shared/Xcode/Screenshots.

据推测,当Xcode搬离时Developer,他们感动了,但Spotlight无法告诉我他们在哪里.

xcode ios-simulator

73
推荐指数
3
解决办法
4万
查看次数

iOS配置,团队ID混乱

我是3个注册iOS开发团队的成员:

  • 我个人的iOS开发者帐户.
  • 我的企业iOS开发人员帐户团队.
  • 我的客户的iOS开发人员帐户团队.

我现在想使用iOS Provisioning Portal创建一个新的App ID.

作为用于创建新App ID的App ID表单的一部分,我需要选择一个团队ID.我之前已经多次这样做了,但我认为有些事情可能已经改变,因为今天,在选择团队ID时,我提供了3个10个字符的表格标识符选择(这些不是实际值),

  • 使用团队ID
  • YH78GU29T
  • GH6R89TRW
  • JK32DE724

不幸的是,目前尚不清楚这些是如何与我所属的团队相对应的......

如果我去Xcode Organizer尝试查找对这些团队ID的引用以获得一些上下文,我会看到这些视图[更有帮助]使用团队的全名......但是没有对相应团队ID的可见性.

我看过钥匙链,也没有任何线索.

我如何找出这些ID成员所属的哪个团队?

provisioning ios

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

NSURLRequest:如何处理重定向的帖子?

我有一个经过试验和测试的NSURLRequest(和伴奏)实现,它适用于GET和给定URL的POST.

但是,我现在想要移动URL的目标而不更改应用程序使用的URL,所以我打算通过我的DNS提供程序使用webhop重定向.

这适用于GET请求,但POST只是挂起...没有收到连接响应.

处理重定向的相关iOS方法是,

-(NSURLRequest *)connection:(NSURLConnection *)connection
    willSendRequest:(NSURLRequest *)request
    redirectResponse:(NSURLResponse *)redirectResponse
Run Code Online (Sandbox Code Playgroud)

根据Apple的(处理重定向)文档,

如果委托未实现连接:willSendRequest:redirectResponse:,则允许所有规范更改和服务器重定向.

嗯,这不是我的经验,因为退出这个方法对我不起作用.请求只是挂起而没有响应.

Apple还建议实施willSendRequest(参见上面链接的Apple文档),这再次对我不起作用.我看到了调用,但结果请求只是挂起.

我目前对willSendRequest的实现如下(见下文).这是在重定向之后,但处理请求就好像它是一个GET而不是POST.

我认为问题在于重定向正在失去HTTP请求是POST的事实(可能存在更多问题,例如承载请求Body也是如此?).

我不确定我应该在这做什么.因此,任何有关如何正确处理接收重定向的POST的建议都将受到赞赏.谢谢.

-(NSURLRequest *)connection:(NSURLConnection *)connection
   willSendRequest:(NSURLRequest *)request
  redirectResponse:(NSURLResponse *)redirectResponse
{

    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) redirectResponse;

    int statusCode = [httpResponse statusCode];


    NSLog (@"HTTP status %d", statusCode);

    // http statuscodes between 300 & 400 is a redirect ...
    if (httpResponse && statusCode >= 300 && statusCode < 400)
    {
        NSLog(@"willSendRequest (from %@ to %@)", redirectResponse.URL, request.URL);
    }

    if (redirectResponse)
    {
        NSMutableURLRequest *newRequest = …
Run Code Online (Sandbox Code Playgroud)

redirect nsurlrequest ios

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

re.sub不替换所有出现的事件

我不是Python开发人员,但我使用Python脚本将SQLite转换为MySQL

他们说,建议的脚本接近,但没有雪茄.

给我一个问题的线是:

line = re.sub(r"([^'])'t'(.)", r"\1THIS_IS_TRUE\2", line)
Run Code Online (Sandbox Code Playgroud)

......当然,还有等效的假('f')行.

我看到的问题是,只替换任何给定行中第一次出现的't'.

所以,输入到脚本,

INSERT INTO "cars" VALUES(56,'Bugatti Veyron','BUG 1',32,'t','t','2011-12-14 18:39:16.556916','2011-12-15 11:25:03.675058','81');
Run Code Online (Sandbox Code Playgroud)

...给...

INSERT INTO "cars" VALUES(56,'Bugatti Veyron','BUG 1',32,THIS_IS_TRUE,'t','2011-12-14 18:39:16.556916','2011-12-15 11:25:03.675058','81');
Run Code Online (Sandbox Code Playgroud)

我提到我不是Python开发人员,但我自己试图解决这个问题.根据文档,我知道re.sub应该替换所有出现的't'.

我很感激为什么我只看到第一次更换,谢谢.

python regex

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

在ServerTrust之后,'didReceiveChallenge'没有被要求进行HttpBasic身份验证

我正在将一个iOS应用程序从NSURLConnection转换为NSURLSession.

服务器与使用https(由已识别的CA签名的证书)和基本身份验证进行交互.

我没有使用完成块来进行数据返回,而是使用自定义委托.我在其他地方看到,使用自定义委托意味着我应该响应AuthenticationChallenges而不是依赖于CredentialStorage(不是那个也可以,但这是另一个问题).

我的问题是,针对ServerTrust的挑战发生了一次,但是没有再次调用HttpBasic身份验证.所以,我的会议超时了.

我已经尝试使用'defaultSession dataTaskWithRequest'的完成块而不是自定义委托,只是为了看看我是否可以超越这一点,但它没有任何区别.我也尝试将CredentialStorage用于HttpBasic凭证,但如上所述,没有任何乐趣.

这让我很难过.有任何想法吗?

(void)URLSession:(NSURLSession *)connection
//    task:(NSURLSessionTask *)task
    didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge
    completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential * __nullable credential))completionHandler
{
    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust])
    {
#if 1 && defined(DEBUG)
        NSLog (@"didReceiveChallenge: Using SSL");
#endif // DEBUG

        if ([challenge.protectionSpace.host isEqualToString:HOST])
        {
#if 1 && defined(DEBUG)
            NSLog (@"didReceiveChallenge: Using Protection Space Host - %@", HOST);
#endif // DEBUG

            [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];
        }
        else
        {
            [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
        }
    }
    else

    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodHTTPBasic] ||
        [challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodHTTPDigest])
    {
#if 1 && defined(DEBUG) …
Run Code Online (Sandbox Code Playgroud)

nsurlconnection ios nsurlsession

10
推荐指数
1
解决办法
500
查看次数

Data Protection/NSFileProtectionComplete - 通过entitlements.plist成功支持?

我正在寻找加密应用程序中的用户数据,NSFileProtection机制看起来很完美.

这个SO问题/答案线程向我指出了WWDC 2011视频保护iOS应用程序 ,它提供了通过权利在应用程序中设置数据保护的"太好了,真实"的提示(参见33分钟).

所以,我为我的iOS 5.x +应用尝试了这个,并遇到了抱怨无效权利的问题.

我已经通过iOS Provisioning Portal为特定应用程序配置了数据保护,并更新了我的应用程序配置,所以理论上我应该全部设置,但我仍然得到错误.

如果从Entitlement中删除特定的FileProtectionComplete设置,则应用程序运行时不会出现Invalid Entitlement错误.

在调查这一点时,我也看到一些人正在拒绝他们的应用程序(当他们上传二进制文件时),因为这不受支持(或不赞成?).请注意,我特别询问数据保护,而不是Passbook.

在这个阶段,我在想,也许它确实是,"真是太好了".所以,我即将放弃这个神奇的权利标志,而是使用编程方法,添加NSFileProtectionComplete作为写选项.

但是,在我这样做之前,任何人都可以确认他们只是通过使用Entitlements标志成功添加数据保护吗?谢谢.

data-protection entitlements ios

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

如何在应用程序本身中包含 iOS 应用程序图标图像?

我有标准的 iOS 应用程序,资产中包含一个标准的应用程序图标。

我想在应用程序中显示应用程序图标(使用 SwiftUI)。请注意,我不是在问如何设置应用程序图标或动态更改图标。我只想在应用程序自己的设置视图中显示应用程序图标。

看起来 App Icon 资产应该与其他任何资产一样,我可以使用以下内容将其包含在内(请注意,默认图标命名中 App 和 Icon 之间没有空格),

Image("AppIcon")
Run Code Online (Sandbox Code Playgroud)

我也尝试过,

Image("icon_60pt@3x.png") // Pick out a specific icon by filename
Image("icon_60pt@3x") // Maybe it assumes it's a .png
Image("icon_60pt") // Maybe it auto picks most appropriate resolution, like UIKit
Run Code Online (Sandbox Code Playgroud)

...但这些都不起作用。

如何在应用程序中包含应用程序自己的图标,而不将其复制为单独的图像集(我已经尝试过,并且确实有效。)

谢谢。

ios swift swiftui

7
推荐指数
2
解决办法
2455
查看次数

部署Rails应用程序的多个实例 - 相同的代码,多个

首先,大家新年快乐.

我是Rails的新手,所以请容忍任何不正确的术语使用......

我开发了一个简单的Rails应用程序,由MySQL数据库支持.

我现在想将此应用程序部署到多个独立的用户组(即,它是一个俱乐部应用程序,我想将其部署到一些完全独立的俱乐部).

我想尽可能使用相同的Rails应用程序代码,并且每个俱乐部都有一个单独的数据库实例.

由于每个实例将在同一台服务器上运行(直到服务器负载被证明是一个问题)我假设我可以为每个Rails服务器使用不同的端口来引导用户到正确的组?

我读过有测试和生产模式,是否有可能有多个[附加]生产模式实例,例如club1,club2,所有共享相同的代码,具有独特的数据库?

我的问题是如何支持多个单独的数据库实例,以及如何最好地路由到这些实例?

任何关于如何去做的建议都非常感激.

ruby-on-rails

6
推荐指数
1
解决办法
1570
查看次数

iOS 8的基本身份验证失败

我有一个iOS应用程序与运行Rails的服务器交互,并且已经稳定可靠3年了.该服务器需要基本和SSL认证,并且在iOS 7中一直运行良好.

但是,我现在看到运行iOS 8的设备的身份验证问题.运行<iOS 8的设备/模拟器继续正常工作.

在应用程序初始化时,有一系列数据请求要与需要通过基本身份验证的服务器同步.

这会导致调用以下委托方法,

willSendRequestForAuthenticationChallenge
Run Code Online (Sandbox Code Playgroud)

......问题出现是因为这些问题无休止地受到挑战 - 当[challenge previousFailureCount]> 0时,代码故意在第二次尝试失败(代码路径遵循标准做法,如果previousFailureCount> 0则调用cancelAuthenticationChallenge) - 见下文.

我已经记录了挑战ID,即使在previousFailureCount> 0时,每个挑战都有所不同.

- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{

    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodHTTPBasic])
    {   
        if ([challenge previousFailureCount] == 0)
        {
            NSURLCredential *newCredential;

            newCredential = [NSURLCredential credentialWithUser:MY_USERNAME
                            password:MY_PASSWORD
                            persistence:NSURLCredentialPersistenceForSession]; // Retain for rest of session

            [[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
        }
        else
        {
            [[challenge sender] cancelAuthenticationChallenge:challenge];

            // ...error will be handled by connection didFailWithError
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我敲除了检查previousFailureCount的调用,那么挑战方法会有无休止的调用.

但是,一旦这一系列故障失败,后续和后来的"个人"NSUrlRequests将成功通过身份验证.

同样,这个问题特定于iOS 8.任何想法为什么"快速"连续的身份验证请求会在iOS 8中失败,但在iOS 7中工作?

谢谢.

iphone basic-authentication ios ios8

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

如何在objC中存储一个nil指针数组?

我想使用一个指向对象实例的指针数组,但只想在需要时(即懒惰地)创建这些对象的实例.该数组对应于UI中的表,因此每个数组索引对应一个表行.

我想使用NSMutableArray来保存指向对象实例的指针(当用户在UI中选择相应的行时发生).

如果选择表中的行,则检查相应的数组条目.如果指针值为nil,则尚未创建实例,因此在该点创建实例,并且对象指针存储在相应的索引数组条目中.

显然,这要求我最初从一个nil指针数组开始,但是objC不会让我在NSArray中放入一个nil指针.

我不能在创建数组时向对象添加对象,因为数组索引与表行不对应.

什么是最好的objC解决方案?

objective-c nsmutablearray

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

需要保留两次NSArray以避免崩溃 - 为什么?

我有一个可靠运行的复杂应用程序,但我很困惑为什么我需要保留一个特定的NSArray('sources')两次以防止崩溃(虽然在控制台上没有报告异常,但应用程序崩溃并返回到跳板).

下面包含一段代码.有太多的代码要粘贴它,但你知道没有显式调用来释放数组.'sources'是一个实例变量.

如果我只保留一次(或根本不保留)数组,我就会崩溃.有两个保留,该应用程序非常稳定.

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Sources" ofType:@"plist"];

sources  = [[NSArray arrayWithContentsOfFile:plistPath] autorelease];

[sources retain];
[sources retain];
Run Code Online (Sandbox Code Playgroud)

关于为什么我需要两次保留这个阵列的想法.提前致谢.

iphone objective-c

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

作为JSON结果的一部分,返回基于id的扩展记录

我有一个Rails服务器将数据作为JSON返回到我的移动应用程序,如下所示,

在控制器中,

format.json { render :json => @game }

哪个回归,

{"game":{"created_at":"Thu, 14 Apr 2011 11:14","title":"Banana throwing","updated_at":"Thu, 14 Apr 2011 11:16","id":5,"day":"2011-07-14","location_id":5}}

返回的记录包括从"游戏"表到另一个表,"位置"的引用,特别是该表中id为5的条目.

现在,我的移动应用程序可以跳过一些箍来解析另一个表中的location_id,但如果最初返回的JSON已经解析了location_id值并包含扩展的"位置",那么它将更加直截了当.记录原始结果,如,

{"game":{"created_at":"Thu, 14 Apr 2011 11:14","title":"Banana throwing","updated_at":"Thu, 14 Apr 2011 11:16","id":5,"day":"2011-07-14","location":{"place":"Buckingham Palace"}}}

...位置表中id为5的条目已扩展为嵌套JSON.

是否有可能在服务器端执行此操作,如果是这样,如何?

任何有关这方面的帮助将非常感激.

谢谢.

ruby json ruby-on-rails

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

从NSDictionary中提取键/值对

是否有方便的方法从NSDictionary获取键/值对?

说我有一个NSDictionary,partyGuest,

{
   name = "jim";
   age = 28;
   occupation = "astronaut";
   favouriteMeal = 
      {
         starter = "fish head soup";
         mainCourse = "roast armadillo";
         dessert = "sugar plum fairy cakes";
      }
}
Run Code Online (Sandbox Code Playgroud)

我希望在其中获得一个键/值对,就像这样,

NSDictionary *guestFoodChoice = [partyGuest itemForKey:@"favouriteMeal"];
Run Code Online (Sandbox Code Playgroud)

......并获得关键和价值,

   guestFoodChoice =
{
   favouriteMeal = 
      {
         starter = "fish head soup";
         mainCourse = "roast armadillo";
         dessert = "sugar plum fairy cakes";
      }
}
Run Code Online (Sandbox Code Playgroud)

似乎应该有,但由于我看不到一个明显的方法,也许我错过了什么?

iphone objective-c ios

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