小编Dj *_*j S的帖子

如何在 Xcode 的运行脚本构建阶段中使用 Swift 标志?

我在 Xcode 的构建设置中向其他 Swift 标志添加了“-D MYOWNFLAG” 。现在,在构建阶段中找到的运行脚本中,我想检查标志“MYO​​WNFLAG”是否存在,如果存在则执行某些操作(例如更改 Info.plist 设置值)。

这可能吗?如果是,那么最好的方法是什么?

xcode run-script swift

6
推荐指数
2
解决办法
1886
查看次数

持续的 tcp/ip 连接如何节省电池并降低带宽使用率?

在推送通知机制中,例如 Apple 的推送通知服务,它们使用持久的 IP 连接。

我的问题是,使用持久连接如何节省设备的电池和带宽?我的印象是,由于连接是持久的,因此设备始终使用 WiFi 或 3G/LTE 无线电。

我知道,通过持久连接,您不会因为在没有更改时不向服务器请求更改而浪费带宽,而是服务器会将这些更改“推送”给您。但是,我不知道这如何节省电池和带宽(因为您与服务器有始终在线的连接)。

类似的问题可以在这里找到:
Android C2DM 如何提高带宽使用率?
但我认为答案还不够。

battery push bandwidth push-notification persistent-connection

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

如何使AppleScript SOAP与现有的SOAP Web服务一起工作(例如W3Schools的CelsiusToFarenheit示例)?

我目前正在使用AppleScript编辑器.我在那里运行以下代码:

tell application "http://www.w3schools.com/webservices/tempconvert.asmx?WSDL"
    call soap {method name:"CelsiusToFahrenheit", method namespace uri:"http://www.w3schools.com/webservices/", parameters:{Celsius:50 as string}, SOAPAction:"http://www.w3schools.com/webservices/CelsiusToFahrenheit"}
end tell
Run Code Online (Sandbox Code Playgroud)

如果我执行上面的代码,我会得到一个"错误"字符串(这不是我的预期).生成的请求如下:

<?xml version="1.0" encoding="utf-8"?>
  <SOAP-ENV:Envelope
    xmlns:xsd="http://www.w3.org/1999/XMLSchema"
    xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
    SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
      <SOAP-ENV:Body>
        <m:CelsiusToFahrenheit xmlns:m="http://www.w3schools.com/webservices/">
          <Celsius xsi:type="xsd:int">50</Celsius>
        </m:CelsiusToFahrenheit>
      </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
Run Code Online (Sandbox Code Playgroud)

如果我像这样编辑请求(我使用Fiddler来编辑请求):

<?xml version="1.0" encoding="utf-8"?>
      <SOAP-ENV:Envelope
        xmlns:xsd="http://www.w3.org/1999/XMLSchema"
        xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
        SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
        xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
          <SOAP-ENV:Body>
            <CelsiusToFahrenheit xmlns="http://www.w3schools.com/webservices/">
              <Celsius xsi:type="xsd:int">50</Celsius>
            </CelsiusToFahrenheit>
          </SOAP-ENV:Body>
        </SOAP-ENV:Envelope>
Run Code Online (Sandbox Code Playgroud)
  1. 将"m:CelsiusToFarenheit"更改为"CelsiusToFarenheit"
  2. 将"xmlns:m"更改为"xmlns"

我收到"122",这是正确的答案.

我的问题是:

  1. 为什么会这样?"call soap"函数使用的SOAP格式是旧格式吗?
  2. 有没有办法解决这个问题(例如,在请求中删除":m"或"m:",或者通过在"call soap"方法中设置参数,通过代码使用不同的SOAP格式[我不知道这是否可行] ])?

macos applescript soap web-services

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

我应该通过@ {}形式发布实例化的NSDictionary吗?

我有以下代码:

NSDictionary *dict = @{ @"myKey" : @"myValue" };  
Run Code Online (Sandbox Code Playgroud)

我应该发布dict使用releaseautorelease
或者我没有这个对象,所以我不应该自己发布它?

注意:我使用手动引用计数(ARC已禁用).

macos cocoa memory-management reference-counting ios

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