当前位置: 移动技术网 > 移动技术>移动开发>IOS > 20200713

20200713

2020年07月17日  | 移动技术网移动技术  | 我要评论

用XCode11新建一个工程支持的最小iOS版本小于iOS13的话,XCode控制台会爆出[Application] The app delegate must implement the window property if it wants to use a main storyboard file.的提示。遇到了这个问题,在打开APP内容的时候一片黑,如何解决呢?其实很简单啊。Apple对APP的生命周期略做了更改

在这里插入图片描述

@synthesize window = _window;
Unhandled rejection Error: Invalid binary plist. Expected 'bplist' at offset 0.
    at Object.exports.parseBuffer (/Users/zzz/stf/mirage/node_modules/_bplist-parser@0.0.6@bplist-parser/bplistParser.js:44:11)
    at Object.parseBuf [as parseBuffer] (/Users/zzz/stf/mirage/node_modules/_bplist@0.0.4@bplist/bplist.js:10:30)
    at Promise (/Users/zzz/stf/mirage/lib/util/ipareader.js:37:14)
    at tryCatcher (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/util.js:26:23)
    at Promise._resolveFromResolver (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/promise.js:483:31)
    at new Promise (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/promise.js:71:37)
    at IpaReader.parsePlist (/Users/zzz/stf/mirage/lib/util/ipareader.js:36:12)
    at UnzipIpa.then (/Users/zzz/stf/mirage/lib/util/ipareader.js:80:12)
    at tryCatcher (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/util.js:26:23)
    at Promise._settlePromiseFromHandler (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/promise.js:510:31)
    at Promise._settlePromiseAt (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/promise.js:584:18)
    at Promise._settlePromises (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/promise.js:700:14)
    at Async._drainQueue (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/async.js:123:16)
    at Async._drainQueues (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/async.js:133:10)
    at Immediate.Async.drainQueues (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/async.js:15:14)
From previous event:
    at Promise._captureStackTrace (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/debuggability.js:90:23)
    at Promise._then (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/promise.js:222:13)
    at Promise.then (/Users/zzz/stf/mirage/node_modules/_bluebird@2.11.0@bluebird/js/main/promise.js:116:17)
    at /Users/zzz/stf/mirage/lib/units/storage/plugins/apk/index.js:139:10
    at Layer.handle [as handle_request] (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/layer.js:95:5)
    at next (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/route.js:137:13)
    at Route.dispatch (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/layer.js:95:5)
    at /Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:281:22
    at param (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:354:14)
    at param (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:365:14)
    at param (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:365:14)
    at param (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:365:14)
    at Function.process_params (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:410:3)
    at next (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:275:10)
    at /Users/zzz/stf/mirage/node_modules/_express-validator@2.21.0@express-validator/lib/express_validator.js:291:5
    at Layer.handle [as handle_request] (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/layer.js:95:5)
    at trim_prefix (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:317:13)
    at /Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:284:7
    at Function.process_params (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:335:12)
    at next (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:275:10)
    at jsonParser (/Users/zzz/stf/mirage/node_modules/_body-parser@1.19.0@body-parser/lib/types/json.js:110:7)
    at Layer.handle [as handle_request] (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/layer.js:95:5)
    at trim_prefix (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:317:13)
    at /Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:284:7
    at Function.process_params (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:335:12)
    at next (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:275:10)
    at expressInit (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/middleware/init.js:40:5)
    at Layer.handle [as handle_request] (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/layer.js:95:5)
    at trim_prefix (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:317:13)
    at /Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:284:7
    at Function.process_params (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:335:12)
    at next (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/router/index.js:275:10)
    at query (/Users/zzz/stf/mirage/node_modules/_express@4.17.1@express/lib/middleware/query.js:45:5)

我在manifest.js里 添加了try catch ,并在catch里return new Error(e.stack)

module.exports = function(file){
  try {
    if(file.path.endsWith('.apk')){
      console.log("deal with apk>>>>>>>")
      return ApkReader.open(file.path).then(function(reader) {
        return reader.readManifest()
      })
    }
    else if(file.path.endsWith('.ipa')){
      console.log("deal with ipa>>>>>>>>>")
      var ipaReader = new IpaReader(file.path)
      return ipaReader.ReadInfoPlist().then(function(res){
        return res
      })

    }
  }catch (e) {
    return throw new Error(e.stack)
  }

结果,刚一运行stf , 就shutdown了

INF/provider 18181 [*] Subscribing to permanent channel "rOqNw5neSAGeO1MEcdxU4w=="
lib/cli storage-plugin-apk

选项:
  -h, --help         Show help.                                           [布尔]
  -V, --version      Show version.                                        [布尔]
  --port, -p         The port to bind to.                  [数字] [默认值: 7100]
  --storage-url, -r  URL to the storage unit.                    [字符串] [必需]
  --cache-dir        The location where to cache APK files.
           [字符串] [默认值: "/var/folders/dz/dg5v2gb17md62_5w2m43nz840000gn/T"]

Each option can be be overwritten with an environment variable by converting the
option to uppercase, replacing dashes with underscores and prefixing it with
`STF_STORAGE_PLUGIN_APK_` (e.g. `STF_STORAGE_PLUGIN_APK_CACHE_DIR`).

Unexpected token throw
2020-07-13T02:07:24.879Z INF/storage:plugins:image 18188 [*] Listening on port 7103
2020-07-13T02:07:24.881Z FTL/cli:local 18171 [*] Child process had an error ExitError: Exit code "1"
    at ChildProcess.<anonymous> (/Users/zzz/stf/mirage/lib/util/procutil.js:49:23)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
2020-07-13T02:07:24.881Z INF/cli:local 18171 [*] Shutting down all child processes

xcode build时

xxx is automatically signed, but code signing identity iPhone Developer

你工程的签名是自动签名的,但是code signing identity 是iphone Deveoper。想必大家都知道自从Xcode 8之后就是开始了自动管理签名文件,不需要我们手动配置。但是我在之前项目需要打包的时候因为证书报错后来自己手动配置了一下,今天在真机测试的时候xCode提示我“XXX is automatically signed, but code signing identity iPhone Developer: XXX(开发者账号) has been manually specified. Set the code signing identity value to “iPhone Developer” in the build settings editor, or switch to manual signing in the project editor.” 。很明显是证书设置冲突。那报错信息中也给出了相应的解决办法。

第一种办法是: Set the code signing identity value to “iPhone Developer” in the build settings editor。
翻译过来就是在build settings中设置code signing identity 为“iPhone Developer”
具体的操作步骤如下:

选中TARGETS下的工程,然后选择build settings。

在search搜索栏中输入:“signing”,然后回车。
找到code SIgning Identitiy 将其切换成iPhone Developer 记住是所有,并且将底下的Code Signing Style 设置为Antomatic。然后再到TARGETS下的Generals中重新设置证书即可。

FTL/ios-device 65080 [4ED95BAB-23D3-48B0-9F4C-5F6B4F307ABE] Setup had an error TypeError: Cannot read property 'sdk' of null
    at Object.getDeviceInfo (/Users/zzz/stf/mirage/lib/units/ios-device/support/deviceinfo.js:51:28)
    at solve (/Users/zzz/stf/mirage/lib/units/ios-device/plugins/util/identity.js:13:33)
    at /Users/zzz/stf/mirage/lib/units/ios-device/plugins/util/identity.js:18:12
    at SerialSyrup.ParallelSyrup.invoke (/Users/zzz/stf/mirage/node_modules/_stf-syrup@1.0.0@stf-syrup/lib/parallel.js:54:24)
    at /Users/zzz/stf/mirage/node_modules/_stf-syrup@1.0.0@stf-syrup/lib/serial.js:43:33
    at tryCatch1 (/Users/zzz/stf/mirage/node_modules/_bluebird@1.1.1@bluebird/js/main/util.js:63:19)
    at Promise$_callHandler [as _callHandler] (/Users/zzz/stf/mirage/node_modules/_bluebird@1.1.1@bluebird/js/main/promise.js:708:13)
    at Promise$_settlePromiseFromHandler [as _settlePromiseFromHandler] (/Users/zzz/stf/mirage/node_modules/_bluebird@1.1.1@bluebird/js/main/promise.js:724:18)
    at Promise$_settlePromiseAt [as _settlePromiseAt] (/Users/zzz/stf/mirage/node_modules/_bluebird@1.1.1@bluebird/js/main/promise.js:896:14)
    at Promise$_fulfillPromises [as _fulfillPromises] (/Users/zzz/stf/mirage/node_modules/_bluebird@1.1.1@bluebird/js/main/promise.js:1041:14)
    at Async$_consumeFunctionBuffer [as _consumeFunctionBuffer] (/Users/zzz/stf/mirage/node_modules/_bluebird@1.1.1@bluebird/js/main/async.js:74:12)
    at Async$consumeFunctionBuffer (/Users/zzz/stf/mirage/node_modules/_bluebird@1.1.1@bluebird/js/main/async.js:37:14)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)

no hosts left for try
没有启动rethinkdb, 要先启动rethinkdb,再起stf

本文地址:https://blog.csdn.net/harrain/article/details/107310208

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网