分类 技术相关 下的文章

在appstoreConnect上建立新版本,版本号与发布的版本号对应一致

https://appstoreconnect.apple.com/
52745-dgo8enyp1p8.png

Xcode打包操作步骤(概要指引):

  1. 版本号和versioncode编号修改到最新
  2. 签名设置好,现选择自动签名,比较方便
  3. build 选Generic ios device
  4. product——scheme——edit scheme ,全部改成release
  5. product——archive 打正式的包
    打包成功后,点击validate进行验证,验证是否能够上传到appstore,如果没问题,则点击“upload to appstore”上传到appstoreconnect

上传成功后,稍等一段时间在构建版本中选择合适的版本进行发布即可
24572-nezo17hzzr.png

提交成功后,就等待审核结果,一般需要1-3天即可审核通过。

Typecho博客在文章内部插入谷歌广告等广告联盟的方法,核心代码如下:

function themeInit($archive) {
   
   // 判断是否是文章,如果是就插入广告
   $ad_code = '<div>这是你的广告</div>';
   if ($archive->is('single')) {
        $archive->content = prefix_insert_after_paragraph( $ad_code, 2, $archive->content );;
    }
}

// 插入广告所需的功能代码
function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
   $closing_p = '</p>';
   $paragraphs = explode( $closing_p, $content );
   foreach ($paragraphs as $index => $paragraph) {
      if ( trim( $paragraph ) ) {
         $paragraphs[$index] .= $closing_p;
      }
      if ( $paragraph_id == $index + 1 ) {
         $paragraphs[$index] .= $insertion;
      }
   }
   return implode( '', $paragraphs );
}

代码插入位置及原理说明

放在主题的function.php文件里。

参数说明:插入函数主要就是通过内容<p>标签来识别段落,prefix_insert_after_paragraph( $ad_code, 2, $archive->content );
第一个参数是插入文章中的广告代码,第二参数是P标签的位置,可以理解为段落;第三个参数是文章内容

原理:系统在加载typecho页面的时候,会运行一下themeInit函数,这个时候就可以编辑页面。这里利用编辑的功能往页面插入广告代码。
80660-6uyppoy177u.png

xcode10升级后报找不到libstdc++.6.0.9相关问题的解决办法

升级到Xcode10,由于iOS12移除了libstdc++.6.0.9,所以好的办法就是把这个库用libc++替换掉。但是项目中有的第三方的静态库里面使用到了,并且还没来得及修复这个问题,实在是没得什么好办法,所以就暂时把Xcode9中的libstdc++移动到了Xcode10对应目录下,之后再处理了。
具体操作命令,打开终端

cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libstdc++.* /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/

cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libstdc++.* /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/

启动模拟器后报/usr/lib/libstdc++.6.dylib: mach-o, but not built for iOS simulator

dyld: Library not loaded: /usr/lib/libstdc++.6.dylib
  Referenced from: /Users/ygs/Library/Developer/CoreSimulator/Devices/516CEBE8-FB9B-4E64-B4B2-D02685CD7309/data/Containers/Bundle/Application/19732BC1-0D80-416D-A0C4-CCDE254AFE72/Youngs.app/Youngs
  Reason: no suitable image found.  Did find:
    /usr/lib/libstdc++.6.dylib: mach-o, but not built for iOS simulator
Message from debugger: Terminated due to signal 6

解决方法是,还需要拷贝旧Xcode中的/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libstdc++.6.dylib 粘贴到新Xcode同样的位置。(注意在/Profiles/Runtimes/iOS.simruntime这里时需要右键显示包内容)

其它说明

Python随机概率函数用法

numpy.random.choice(a, size=None, replace=True, p=None)
第一个参数是值或数组 第二个是返回个数 第三个是值选取概率
参数的含义分别是,从a中以概率随机选择size数量的元素。a可以是整数或数组等
replace代表选择的值是否放回去, False的话,那么出来的数都不一样,True是放回去,出现的值有可能是重复的

下方是从-1 和 1 中随机选择一个,1出现的概率是0.6 -1出现的概率是0.4

import numpy as np
print np.random.choice([1,-1], 1,replace=True, p=[0.6, 0.4]) 

选取3个随机整数

np.random.choice(5, 3) 
array([0, 3, 4])

按概率选择3个整数

np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0]) 
array([3, 3, 0])

更多详情参见:https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.choice.html

免责声明
本博客部分内容来自于互联网,不代表作者的观点和立场,如若侵犯到您的权益,请联系[email protected]。我们会在24小时内进行删除。