在 Mac 上为 Apple ID 账户余额充值的方法

如何在Mac 上为 Apple ID充值?这是很多Mac用户都想了解的,当我们的Apple ID余额不足时,我们可以按照以下方法来操作。

1.在 Mac 上,打开 App Store。
2.如果您还没有登录,请使用您的 Apple ID 登录。
3.打开“帐户信息”页面。具体方法如下:
在 Mac 上,从屏幕顶部的菜单栏中,选取“商店”>“查看我的帐户”。然后,点按屏幕顶部的“查看信息”。
4.在“帐户信息”页面上,点按“为 Apple ID 充值”。

5.点按要充值的金额。
6.点按“下一步”,然后确认您的选择。有些付款方式可能会提示您通过短信或其他方式来验证您的购买行为。

git 如何根据文件大小进行忽略,想跳过大文件。

git 提交的时候能不能自动忽略大文件(比如超过 100M ),然后给个提示消息就好了。
git 文件 忽略 提交9 条回复
AoEiuV020 1
AoEiuV020 4 天前 ❤️ 1
100M 是为了上传 github?
感觉可以用 find 把所有大文件写进 gitignore,要自动就写个 hook,
no1xsyzy 2
no1xsyzy 4 天前
pre-commit 钩子里插 find 语句并 >> .gitignore
James369 3
James369 4 天前
@AoEiuV020 不是,我只是想本地做下文件备份
no1xsyzy 4
no1xsyzy 4 天前 ❤️ 1
顺便,如果要 lfs 的话也可以 | xargs git lfs track
no1xsyzy 5
no1xsyzy 4 天前
(忘记了钩子运行时机晚于 add,pre-commit 里写的话大概需要 unstage 一下)
kyuuseiryuu 6
kyuuseiryuu 4 天前 via iPhone
git 版冰点还原吗?
misaka19000 7
misaka19000 4 天前
把大文件添加到 ignore 里面去

或者写个脚本在提交前自动检测文件大小修改 ignore 文件
jomenxiao 8
jomenxiao 4 天前
alias git=”find . -type f -max < 100 && git”

终于找到了在虚拟机下体积不超过 2G 的桌面 Linux 系统!同时有几个小问题

antiX linux,之前一直没尝试它是因为它的名字让我以为这个系统是没有桌面的….这两天用它的 net.iso 在虚拟机下面安装好一个将就能用的 xfce4 桌面,包含 vbox-guest-x11 在内体积只有 1.5G !这可是一个以 debian stable 为基础的、正常的 linux 桌面系统!比 alpine 、puppy 、slax 那些邪魔歪道好太多了!

不过太简陋的桌面就自然有一些小问题,先来两个:

1,普通用户登陆进桌面,无法关机和重启,shutdown 、suspend 、switch user 这三个按钮都是灰的,还需要安装哪些软件包后者设置哪些地方好让这三个按钮起作用?

2,虚拟机和主机之间共享剪切板是 OK 的,但是共享文件夹有问题,设置了主机的 /tmp 共享进虚拟机挂载为 /ttmp,普通用户登陆后可以在文件系统里面看到 /ttmp 文件夹,但是无法访问,“permission denied”,如果以 root 登陆的话可以进入这个 /ttmp,但是看不到任何文件,主机的 /tmp 里面可是很多临时文件和文件夹的,一个都看不到也太奇怪了吧?请问这是哪里的问题?
第 1 条附言 · 8 小时 12 分钟前
usermod -a -G vboxsf username

这一条命令运行一下,把当前登陆桌面的用户加入 vboxsf 组就可以解决第二个问题了。

但是,usermod -a -G operator username 运行之后 xfce4 的重启和关机依然是灰色的不可用状态,terminal 里面普通用户也还是无法 reboot 和 poweroff,依然需要权限。大佬们帮我看看该怎么解决吧

另外,文件管理器里面右键没有“以 root 权限打开”是因为系统里没有 gksu,安装 gksu 之后手动添加菜单可以解决,如果在安装 xfce4 之前系统里就有 gksu 的话也许*运行桌面就直接有这个菜单了
桌面 ttmp 文件 Linux19 条回复 • 2021-06-28 11:42:27 +08:00
hefish 1
hefish 2 天前
arch 也超过 2G 了吗?确实没注意这个容量问题。
avastms 2
avastms 2 天前 via Android
以前那些 live cd 哪个超过 700m 了
podel 3
podel 2 天前
难道不是应该不要界面直接终端操作么?这样更小
oott123 4
oott123 2 天前 via Android ❤️ 1
我应该能回答 2:/tmp 目录比较特殊,有 sticky bit 权限在,虚拟化软件可能并非使用 root 启动进程,因而看不到文件也是正常的。
totoro625 5
totoro625 2 天前 ❤️ 1
纯终端操作的 Debian 莫名其妙用掉了 3.65G
两台 VPS 分别用掉了 4.6G ; 5.4G
都是安装了 docker/frp/clash
终归就是莫名其妙的体积就上去了
mxalbert1996 6
mxalbert1996 2 天前 via Android
@totoro625 试试 docker system prune
felixcode 7
felixcode 2 天前 via Android
debian *小化安装,再装个 xfce 应该大不到哪去,2G 以内很正常
snoopyhai 8
snoopyhai 2 天前
lubuntu 印象中这个也不大把?
kerro1990 9
kerro1990 2 天前
Linux mint
hgjian 10
hgjian 1 天前 via Android
Lubuntu 欢迎你

way2create 11
way2create 1 天前
既然虚拟机了 我都是*小化安装 桌面版占用太大了
Donahue 12
Donahue 1 天前
ubuntu desktop 也不过 14G,这还是我用了一段时间之后的大小,省下了很多折腾的时间。目前储存器容量并不是太大问题~
cathedrel 13
cathedrel 1 天前
@oott123 可能还是因为缺少一些组件造成的,我在虚拟机里的 ubuntu 和 fedora 里面都试过了,是可以在普通用户登陆桌面的情况下打开 /vtmp 的,也能看到里面的文件,就是*次打开的时候要输入当前用户的密码验证一下。为什么不试一下虚拟机里完整的 debian ?试了的,不幸的是不知为何完整安装的 debian 无法 apt install virtualbox-guest-dkms 这样安装 dkms 和 x11 这些,只能下载那个 iso 再挂载安装,但是这样安装又是不完整的,缺少该 debian 版本的 kernel,但是 4.19.0.13 的 kernel 在 debian 的源里竟然没有…..

现在这个精简版的桌面里面好像是缺了那个能让系统跳出来输入当前用户密码去验证的组件,这个组件叫啥?该怎么查找?估计普通用户不能关机、重启也是因为缺类似的组件(甚至就是缺的同一个组件)

@totoro625 现在 10 版本的 debian,不搞魔改就按照官方的安装界面装个*小的带桌面的系统,体积*对在 5G 左右,再安装各种需要的软件,膨胀的速度可以说不可思议,作为在虚拟机里用的系统还是太大了
cathedrel 14
cathedrel 1 天前
@oott123 对了,我这个系统,文件管理器( thunar )里面右键是没有“以 root 权限打开”的,看来确实是少某(几)个组件,怎么找这些缺失的组件呢?
DGideas 15
DGideas 22 小时 20 分钟前
可以试试 Raspbian Desktop Lite,为存储空间有限的 x86_64 桌面设备设计的系统,不过 UI 不一定所有人都喜欢就是了
bao3 16
bao3 13 小时 48 分钟前 via iPhone
其实自己装一下 windows manager 还不到 2G,比如装个 fvwm,大概 1.5G 都不到。
mayx 17
mayx 12 小时 31 分钟前 via Android
tiny core linux 有桌面才不到 30m
cathedrel 18
cathedrel 10 小时 21 分钟前
@mayx tiny core 、slitaz 这些都是歪门邪道,实用性很低
libook 19
libook 2 小时 3 分钟前
对于 Linux 来说,你要功能多就多装软件包,要功能少就少装软件包,装桌面的话看是啥需求,如果是为了用着舒心的话那点存储空间真的不值钱,还是主流发行版会可靠一些。

当然只是享受折腾的乐趣的话就无所谓了。

网页上的功能在Mac上的 Safari 浏览器中不能正常使用怎么办?

不知道小伙伴有没有遇到过网页上的功能在Mac上的 Safari 浏览器中不能正常使用,这是怎么回事呢?如果网页上的部分功能不能正常使用,可能是您关闭了帮助 Safari 浏览器处理特殊内容的选项。那我们该如何解决呢?快和小编一起来看看具体的解决方法吧!

解决方法如下

1.确保网页已打开。
2.在 Mac 上的 Safari 浏览器 App中,选取“Safari 浏览器”>“偏好设置”。

%title插图%num

3.然后点按“安全性”,确定已选择“启用 JavaScript”复选框。

%title插图%num
4.点按“网站”,点按左侧的“内容拦截器”。

%title插图%num
确保在网站旁边的弹出式菜单中选取了“关闭”。

%title插图%num
5.点按左侧的“弹出式窗口”,确保在网站旁边的弹出式菜单中选取了“允许”。

%title插图%num
以上就是网页上的功能在Mac上的 Safari 浏览器中不能正常使用的解决方法,需要的朋友快去试试吧!

xcode iOS 一键运行自动打包shell脚本

2021-3-18
增加Display_name的设置判断

2020-11-18
增加上传到蒲公英功能,并可以添加版本更新说明
具体使用请看脚本里面的详细说明

2020-04-13
将文件放到 项目根目录下,然后就可以直接运行(只需要根据实际情况改变 PROJECT_TYPE 这个变量)
下载地址

# 项目自动、打包

# 赋予权限
# chmod 777 auto_ipa.sh

# ps:脚本需要放在项目根目录, 同时需要 ExportOptions.plist 也放在项目根目录
# 1、如果只需要导出ipa则只需要设置 PROJECT_TYPE 的值, 其它值不需要填写
# 2、如果TARGET_NAME 和 Display_Name 不一样则需要手动设置Display_Name(Display_Name 和项目里面设置的保持一样), 如果是一样则忽略 Display_Name
# 3、如果你不需要提交到蒲公英 就将 UPLOADPGYER=flase 和 pgyerApiKey=””
# 4、如果需要添加蒲公英更新说明则在 脚本后面 添加 举个栗子: ./auth_ipa.sh 我是版本更新内容
# 5、导出的ipa 在你的桌面

# 选择项目 xcodeproj or xcworkspace 这里是二选一
PROJECT_TYPE=”xcworkspace”
# 是否需要上传到蒲公英
UPLOADPGYER=true
# 蒲公英的key
PgyerApiKey=123456
#Display_NAME
DISPLAY_NAME=””

# ————–我是分割线——————-
# ————–我是分割线——————-

# 项目的根目录路径
PROJECT_PATH=”$( cd “$( dirname “$0″ )” && pwd )”;

# 项目target名字
TARGET_NAME=””

function getFileName(){

for file in $(ls $PROJECT_PATH)
do
local lastFileName=${file##*.}
if [[ $lastFileName =~ $PROJECT_TYPE ]]
then
TARGET_NAME=$(basename ${file} .$PROJECT_TYPE)
fi
done
}
getFileName

# 判断是否获取到当前目录含有 xcode的项目文件
if [[ “${#TARGET_NAME}” -eq 0 ]]; then
echo “没有获取到项目名称”
exit;
fi

# 打包环境 Release / Debug
CONFIGURATION=Release

# 工程文件路径

APP_PATH=”${PROJECT_PATH}/${TARGET_NAME}.$PROJECT_TYPE”

# Xcode clean
xcodebuild clean -workspace “${APP_PATH}” -configuration “${CONFIGURATION}” -scheme “${TARGET_NAME}”

# 打包目录
HOME_PATH=$(echo ${HOME})
DESKTOP_PATH=”${HOME_PATH}/Desktop”

# 时间戳
CURRENT_TIME=$(date “+%Y-%m-%d %H-%M-%S”)

# 归档路径
ARCHIVE_PATH=”${DESKTOP_PATH}/${TARGET_NAME} ${CURRENT_TIME}/${TARGET_NAME}.xcarchive”

# 导出路径
EXPORT_PATH=”${DESKTOP_PATH}/${TARGET_NAME} ${CURRENT_TIME}”

# plist路径
PLIST_PATH=”${PROJECT_PATH}/ExportOptions.plist”

# archive 这边使用的工作区间 也可以使用project
xcodebuild archive -workspace “${APP_PATH}” -scheme “${TARGET_NAME}” -configuration “${CONFIGURATION}” -archivePath “${ARCHIVE_PATH}”

# 导出ipa
xcodebuild -exportArchive -archivePath “${ARCHIVE_PATH}” -exportPath “${EXPORT_PATH}” -exportOptionsPlist “${PLIST_PATH}”

# 上传到蒲公英
if [ $UPLOADPGYER = true ]; then
# 获取*个参数
varBuildUpdateDescription=$1

#如果有设置DISPLAY_NAME怎取DISPLAY_NAME ,否则默认取TARGET_NAME
IPAPATH=””
if [ -n “$DISPLAY_NAME” ]
then
IPAPATH=”${EXPORT_PATH}/${DISPLAY_NAME}.ipa”
else
IPAPATH=”${EXPORT_PATH}/${TARGET_NAME}.ipa”
fi
echo $IPAPATH

# 上传蒲公英
echo “~~~~~~~~~~~~~~~~上传ipa到蒲公英~~~~~~~~~~~~~~~~~~~”\
RESULT=$(curl -F “file=@${IPAPATH}” -F “_api_key=${PgyerApiKey}” -F “buildUpdateDescription=${varBuildUpdateDescription}” https://www.pgyer.com/apiv2/app/upload)
echo $RESULT

if [ $? = 0 ]
then
echo “\n”
echo “~~~~~~~~~~~~~~~~上传蒲公英成功~~~~~~~~~~~~~~~~~~~”
else
echo “\n”
echo “~~~~~~~~~~~~~~~~上传蒲公英失败~~~~~~~~~~~~~~~~~~~”
fi

fi

 

解决 为什么会出现 “Safari浏览器打不开该网页,因为地址无效“ 的提示

背景来源场景:
H5拉起APP ,使用的方式是 URL Scheme
调用代码是

location.href = “xixi:// ”

会出现

%title插图%num
当你点击了取消之后会出现 “Safari浏览器打不开该网页,因为地址无效” 提示语

%title插图%num
解决
debug 调试了一下发现
1、多次调用 location.href = “xixi:// ” 点击取消是会出现
2、如果调用了location.href = “xixi:// ” 跟着也会调用 打开App Store ,点击取消也是会出现上面的提示语

iOS UIButton 渐变色、边框渐变色、字体渐变色

需求:
1、UIButton 的背景需要渐变色
2、UIButton 的边框需要渐变色,背景是白色,字体也需要渐变色

%title插图%num

%title插图%num

需求一 : UIButton 的背景需要渐变色:
思路:
我们可以利用 CAGradientLayer 来做渐变色
然而我不是直接套在UIButton 的layer 上面进行操作。
我是
1、 首先创建一个临时的 UIView
2、 然后利用 CAGradientLayer 在 UIView 上面进行渐变绘制
3、将UIView 进行截图返回 UIImage
4、将返回的 UIImage 设置到 UIButton 的 setBackgroundImage

这样就可以完成了一个UIButton 的渐变色 绘制,并且可以根据不用的颜色来设置Button UIControlStateNormal | UIControlStateHighlighted | UIControlStateDisabled 来进行设置效果。

需求二 :UIButton 的边框需要渐变色,背景是白色,字体也需要渐变色
其实 边框渐变色我们可以套用 上面的做法,只不过我们需要在已经绘制好有渐变色的UIView 上面盖多一个白色的 UIView 比 上面那个UIView 小一个像素 即可,
然后 字体的颜色 我使用了 + (UIColor *)colorWithPatternImage:(UIImage *)image 这个方法来来处理。然而传入的图片就是 上面得到的渐变色(或许根据UI 的色值来处理)

 

iOS App审核遇到的问题(持续更新)

Guideline 1.1 – Safety – Objectionable Content
解决:根据政策,我们是不符合,不能带有疫情这些字眼,只能把广告给去了

我们发现您的 app 包含不适合 App Store 的内容或概念。

具体而言,您应用的元数据或二进制文件包含对 COVID-19 大流行的不当引用。用户依靠 App Store 查找提供基本医疗服务和安全信息的应用程序。为了帮助用户轻松定位此内容,只有来自提供基本服务的公认机构的应用程序才应在其元数据和二进制文件中引用大流行病。

下一步

虽然您的 app 当前的内容或概念不适合 App Store,但我们欢迎您根据我们的 App Store 审核指南发布与 COVID-19 大流行无关或不相关的新 app。

资源

有关 Apple 应对 COVID-19 大流行的更多信息,请参阅 Apple 开发者网站上的“确保健康与安全信息的可信度”更新。

详情请参阅附件截图。

2020-08-13
Guideline 5.2.1 – Legal – Intellectual Property
解决:把资质的文件上传上去即可

您的应用促进、启用或鼓励实时视频聊天或表演(网络直播/表演/秀场),但您尚未为应用中的服务提供相应的文档。

下一步

要解决此问题,请完成以下操作:

— Provide both a copy and the direct link to the government website that displays your Internet Content Provider License (电信与信息服务业务经营许可证).
— Provide a copy of your filing record with the China Public Security Bureau (公安机关互联网备案信息).

资源

提供文件:

登录 App Store Connect
点击“我的应用”
选择您的应用
点击屏幕左侧的应用版本
向下滚动到“应用审核信息”
Attach the scanned copy of your Internet Cultural Business License (网络文化经营许可证) in the “Attachment” section
点击“保存”
获得此信息后,请在调解中心回复此消息,我们可以继续进行审核。

Guideline 2.1 – Information Needed
解决:

我们已开始审核您的应用程序,但无法继续,因为我们需要访问一个视频,该视频演示您在物理 iOS 设备上使用的应用程序的当前版本。

请仅在演示视频中包含在物理 iOS 设备上运行的应用程序的镜头,而不是在模拟器上。可以使用屏幕录像机来捕获正在使用的应用程序的镜头。确保演示视频中清楚记录了所有相关的应用功能、服务和权限。

具体来说,请提供一个演示视频来展示背景音频的使用。

下一步

为帮助我们继续审核您的应用,请在 App Store Connect 的“应用审核信息”部分向我们提供演示视频的链接,并在解决中心回复此消息。

要提供演示视频的链接:

登录 App Store Connect
点击“我的应用”
选择您的应用
点击屏幕左侧的应用版本
向下滚动到“应用审核信息”
在“备注”部分提供演示视频访问详细信息
完成所有更改后,单击“版本信息”页面顶部的“保存”按钮。
请注意,如果您的应用只能通过演示视频进行审核,则每次重新提交时,您都需要提供更新的演示视频。

由于您的 App Store Connect 状态是元数据被拒*,我们不需要新的二进制文件。要修改元数据,请访问 App Store Connect 以选择您的应用程序并修改所需的元数据值。完成所有更改后,请在调解中心回复此消息,我们将继续审核。

2020-07-11
Guideline 2.3.7 – Performance – Accurate Metadata
解决:*快的解决方法就是 在APP里面里面截几张图片就可以了, 不要包含其它一些误会的信息

您将在 App Store 上显示的 App 屏幕截图包含对您的 App 或它提供的服务的价格的引用,这不被视为这些元数据项的一部分。

下一步

要解决此问题,请从您的应用屏幕截图中删除任何对定价的引用,包括对您的应用或服务是免费或打折的任何引用。如果您想宣传应用价格的变化,请考虑在应用说明中包含此信息。可以在 App Store Connect 的定价和可用性部分更改应用程序的价格。

资源

有关如何修改应用名称的信息,请查看重命名项目或应用。

有关元数据*佳实践的资源,您可能需要查看 Apple Developer 网站上提供的 App Store 产品页面信息。

有关安排价格等级更改的信息,请查看 App Store Connect 开发人员帮助的安排价格更改部分。

有关详细信息,请参阅随附的屏幕截图。

Guideline 2.1 – Information Needed
解决:按照问题 一个一个进行回复就行,不用额外提交审核(不用额外提交审核,不用额外提交审核) 回复了问题审核人员发现没问题就会自动 审核通过。

我们已开始审核您的应用,但无法继续,因为我们需要有关您的应用的更多信息。

下一步

为帮助我们继续审核您的应用,请提供以下问题的详细信息。您可以预先提供的信息越多,我们就能越快完成您的审核。

用户是否必须付费或购买才能成为会员?
用户是否必须付费或购买才能升级会员结构?
用户能否从低级别会员的会员费或交易中获利?
用户为什么样的服务或产品付费?
一旦您在调解中心回复此消息并提供所需信息,我们就可以继续您的审核。

由于您的 App Store Connect 状态是元数据被拒*,我们不需要新的二进制文件。要修改元数据,请访问 App Store Connect 以选择您的应用程序并修改所需的元数据值。完成所有更改后,请在调解中心回复此消息,我们将继续审核。

2020-04-28
问题:
WARNING ITMS-90076: “Potential Loss of Keychain Access. The previous version of software has an application-identifier value of [‘YAAAAAAA.xixi.xi’] and the new version of software being submitted has an application-identifier of [‘YAAAAAAA.xixi.xi’]. This will result in a loss of keychain access.”
解决:因为APP从另外一个账号迁移过来了,只是一个警告,不影响提交审核。

2020-01-16 更新
Guideline 5.0 – Legal
解决:将一些什么等级歧视在审核的时候规避一下,不然让审核人员看到。

您的应用包含的内容 – 或促进、启用和鼓励某项活动 – 在该应用的所有可用位置均不合法。具体来说,您的应用程序包含多级营销功能。

下一步

要解决此问题,请删除您的应用程序所在位置的所有非法内容和功能。请注意,App Store 不允许使用被视为非法的应用程序概念。

有关详细信息,请参阅随附的屏幕截图。

2019-05-28 更新
Guideline 2.1 – Performance – App Completeness
解决:因为商品里面的价格为0.01 ,认为有问题,被认为这个不是*终的上线数据。
将产品价格改为正常即可。

您的应用或其元数据似乎不包含*终内容。具体来说,您的应用程序包含占位符内容,例如产品价格 0.01。

在您将 app 提交到 App Store 之前,其所有内容和元数据都必须是*终的。您的应用不得包含占位符或不完整的信息。例如,在应用描述字段中包含“lorem ipsum”文本的应用将被拒*。同样,带有占位符屏幕截图的应用程序,例如“屏幕截图即将推出”,将被拒*。相反,您应该只提交包含完整信息和内容的应用程序。

下一步

要解决此问题,请检查您的应用和元数据以确保其所有内容都是*终的。

有关详细信息,请参阅随附的屏幕截图。

Guideline 1.2 – Safety – User Generated Content
问题:一个评论的内容是 “摸摸” , 这被认为是 可能令人反感的内容,如裸露、色情和亵渎内容。
解决:将评论删除 并且回复说 这个内容被删除,后续会跟进相关的评论审核。

您的应用可以显示用户生成的内容,但没有采取适当的预防措施。

下一步

要解决此问题,请修改您的应用以实施以下所有预防措施:

要求用户同意条款 (EULA) 并且这些条款必须明确表示不容忍令人反感的内容或滥用用户
一种过滤不良内容的方法
用户标记令人反感的内容的机制
用户阻止滥用用户的机制
开发者必须在 24 小时内对令人反感的内容报告采取行动,删除内容并驱逐提供违规内容的用户
详情请参阅附件截图。

2019-01-24 更新

您的二进制文件未针对 iPhone 5 进行优化 – 提交的新 iPhone 应用程序和应用程序更新必须支持 iPhone 5 上的 4 英寸显示屏,并且必须包含在 UILaunchImages 下的 Info.plist 中引用的启动图像,并将 UILaunchImageSize 值设置为 {320, 568 }. 启动图像必须是 PNG 文件并位于包的顶层,或者如果您本地化启动图像,则在每个 .lproj 文件夹中提供。通过查看 https://developer.apple.com/ios/human-interface-guidelines/graphics/launch-screen 上的“iOS 人机界面指南”,了解有关 iPhone 5 支持和应用程序启动图像的更多信息。

解决:很明显,就是在LaunchImage 提供 iPhone 5的尺寸 即可

Guideline 2.3.3 – Performance – Accurate Metadata
–解决 :刚好我们的UI 用的截图是iPhone X 刘海,所以被拒*了,换成一个iPhone 标准即可。

我们注意到您的屏幕截图并未充分反映您正在使用的应用。

具体而言,您的 5.5 英寸 iPhone 屏幕截图未在正确的设备框架中显示该应用程序。

下一步

要解决此问题,请修改您的屏幕截图,以确保它们准确反映在受支持设备上使用的应用程序。iPhone 需要一套 5.5 英寸的屏幕截图,iPad 则需要一套 12.9 英寸的屏幕截图。在每个地区的 App Store 上查看时,此集合将被适当缩小到其他设备尺寸。

请注意,iPhone XS Max 的 6.5 英寸显示资产是可选的,可以缩小到 iPhone XR、iPhone XS 和 iPhone X。包含圆角或传感器外壳等功能的屏幕截图只能用于 6.5 英寸或 5.8 – 英寸显示器。

资源

有关为 App Store 创建精彩屏幕截图的资源,您可能需要查看 Apple 开发者门户上提供的 App Store 产品页面信息。

请确保您已使用媒体管理器进行了任何屏幕截图修改。您应该确认您的应用在所有语言和所有支持的设备上的外观和行为都相同。在 App Store Connect 帮助中了解有关上传 app 预览和屏幕截图的更多信息。

Guideline 2.3.10 – Performance – Accurate Metadata
– 解决:一开始以为是代码有问题,然而并不是,而是更新内容里面含有 安卓 两个字。 删除掉即可。

我们注意到您的应用或其元数据包含不相关的第三方平台信息。

具体来说,您的应用在应用说明中包含 Android 参考。

除非有特定的交互功能,否则 App Store 不允许在您的应用中引用第三方平台或其元数据。

下一步

要解决此问题,请从您的应用及其元数据中删除此信息的所有实例,包括应用说明、促销文字、*新消息、预览和屏幕截图。

Guideline 2.5.1 – Performance – Software Requirements
–解决:在描述里面说明下 为什么要使用HealthKit, 使用了什么功能,这个功能是用来干嘛的即可。

您的应用程序使用 HealthKit 或 CareKit API,但未在您的应用程序说明中指明与 Health 应用程序的集成。

下一步

要解决此问题,请修改您的应用说明以指定您的应用与健康应用集成。

详情请参阅附件截图。

—————————————-我是分割线———————————————–
Guideline 2.2 – Performance – Beta Testing
–不能出现 test,demo,beta 这些字眼

您的应用包含对测试、试用、演示、测试版、预发布或其他不完整内容的引用。

有关详细信息,请参阅随附的屏幕截图。

下一步

要解决此问题,请删除应用说明、应用图标、屏幕截图、预览、发行说明和二进制文件中对“演示”、“试用”、“测试版”或“测试”的所有引用。如果您想为您的应用程序进行 Beta 试用,您可能希望查看 TestFlight Beta 测试指南。

Guideline 2.3.10 – Performance – Accurate Metadata
– 关于我们那个我们的界面 出现了 内测的字眼

我们还注意到您的应用或其元数据包含不相关的第三方平台信息。具体来说,关于我们中提到了Android平台。

除非有特定的交互功能,否则 App Store 不允许在您的应用中引用第三方平台或其元数据。

详情请见附件截图。

下一步

要解决此问题,请从您的应用及其元数据中删除此信息的所有实例,包括应用说明、新增功能信息、预览和屏幕截图。

由于您的 iTunes Connect 状态为拒*,因此将需要一个新的二进制文件。上传新二进制文件时进行所需的元数据更改。

Guideline 2.5.2 – Performance – Software Requirements
-由于之前一直用企业账号,在一个下载界面 导致可以安装和下载

此外,在审核期间,您的应用安装或启动了 App Store 不允许的可执行代码。具体来说,您的应用程序使用 itms-services URL 方案来安装应用程序。

重要信息

由于违反此准则,您的应用程序的审核已被延迟。此应用程序以及与您的 Apple Developer 帐户相关联的其他应用程序的未来提交也将经历延迟审核。故意无视 App Store 审核指南并试图欺骗用户或破坏审核流程是不可接受的,并且是直接违反 Apple 开发者计划许可协议第 3.2(f) 条的行为。继续违反 Apple Developer Program 的条款和条件将导致您的帐户以及任何相关或链接的帐户被终止,并从 App Store 中删除您的所有相关应用程序。

我们希望为用户提供安全的应用获取体验,并为所有开发者提供一个获得成功的公平环境。如果您认为我们误解或曲解了您的应用程序的意图,您可以通过在 iTunes Connect 的调解中心直接回复此消息来提交申诉以供考虑或提供额外说明。

Guideline 4.0 – Design
-点击了版本更新 弹出不是*新版,并且可以更新

您的应用包含更新按钮或提醒用户更新应用。为避免用户混淆,应用版本更新必须利用 iOS 内置更新机制。

有关详细信息,请参阅随附的屏幕截图。

下一步

要解决此问题,请从您的应用中删除更新功能。要分发您的应用程序的新版本,请将新的应用程序二进制版本上传到您为该应用程序的先前版本创建的同一 iTunes Connect 记录中。更新版本保留与原始版本相同的 Apple ID、iTunes Connect ID (SKU) 和捆绑 ID,并且对购买先前版本的客户免费提供。

资源

要创建应用程序的新版本,请查看 iTunes Connect 开发人员帮助中的创建新版本部分。

Guideline 5.1.2 – Legal – Privacy – Data Use and Sharing
-需要获取通讯录权限,那么在提交的时候需要提供一个 隐私政策的url ,并且在app内可以看到

此外,您的应用程序从设备访问用户数据,但没有采取必要的预防措施。

下一步

要使用您的应用程序收集个人数据,您必须向用户明确他们的个人数据将上传到您的服务器,并且您必须在上传数据之前获得用户的同意。您还必须拥有隐私政策 URL,并确保您提供的 URL 将用户引导至您的隐私政策。

从 iOS 6 开始,有一些键可以指定应用程序访问用户受保护数据的原因。当显示访问提示时,这些键中指定的用途将显示在该对话框中。如果您的应用将传输受保护的用户数据,则访问请求中的使用字符串应明确告知用户,如果他们同意,他们的数据将上传到您的服务器。
准则 1.2 – 安全 – 用户生成的内容

解决:在用户详情界面提供一个举报功能
Your app enables the display of user-generated content but does not have the proper precautions in place.
下一步

要解决此问题,请修改您的应用以实施以下所有预防措施:

要求用户同意条款 (EULA) 并且这些条款必须明确表示不容忍令人反感的内容或滥用用户
一种过滤不良内容的方法
用户标记令人反感的内容的机制
用户阻止滥用用户的机制
开发者必须在 24 小时内对令人反感的内容报告采取行动,删除内容并驱逐提供违规内容的用户
从 App Review 请求电话

根据您的要求,我们可以安排 Apple 代表在接下来的三个工作日内给您打电话,讨论您的 App Review 问题。

要请求致电并确保我们拥有准确的联系信息,请直接回复此消息并提供联系人姓名和直接联系您的电话号码。

准则 4.3 – 设计

告诉苹果说我们的应用*近才完成,不存在山寨版
此应用程序复制了您或其他开发者向 App Store 提交的其他应用程序的内容和功能,这被视为一种垃圾邮件形式。

简单地复制内容或功能的应用程序会造成混乱,降低*终用户的整体体验,并降低开发人员推销其应用程序的能力。

下次提交此应用程序可能需要更长的审核时间。

下一步

查看 App Store 审核指南的设计部分。
确保您的应用符合 App Store 审核指南的所有部分以及 Apple Developer Program 的条款和条件。
一旦您的应用完全合规,请重新提交您的应用以供审核。
提交旨在误导或伤害客户或逃避审核流程的应用程序可能会导致您的 Apple Developer Program 帐户被终止。查看 Apple Developer Program 的条款和条件,了解有关终止政策的更多信息。

如果您已查看 App Store 审核指南并认为我们在您的应用审核中存在错误,您可以直接回复此消息来提交申诉或提供有关您的应用的其他详细信息。

有关应用程序设计信息,请查看以下视频:Apple Developer 网站上提供的“出色 iOS UI 设计的*佳实践”和“设计直观的用户体验”。

您可能还需要查看 iOS 人机界面指南,以获取有关如何在您的应用中创建出色用户体验的更多信息。

如果您不能——或选择不——修改您的应用程序以符合 App Store 审核指南,您可能希望构建一个 HTML5 网络应用程序。您可以直接在您的网站上分发网络应用程序;App Store 不接受或分发网络应用程序。

有关创建 Web 应用程序的更多信息,请参阅 Safari Web 内容指南的配置 Web 应用程序部分。

有关可以在 iPhone 上的 Safari 中使用的 HTML 元素和属性的描述,请查看 Safari HTML 参考:简介。

2018-01-17
又一个app 上线继续遇到坑

准则 2.1 – 性能 – 应用完整性

-查看了下 是一个crash日志 是一个 关于facebook 的一个bug,但我只在app 里面初始化而已,并没有使用。
解决: 然后直接申诉婉转说 自己的服务出了点问题,工程师已经修复,让重新审核
We were unable to review your app as it crashed on launch. We have attached detailed crash logs to help troubleshoot this issue.

下一步

要解决此问题,请修改您的应用并在设备上对其进行测试,以确保其启动时不会崩溃。

资源

有关如何符号化和读取崩溃日志的信息,请查看技术说明 TN2151 理解和分析应用程序崩溃报告。

准则 5.1.1 – 法律 – 隐私 – 数据收集和存储

-大概意思是说我们的app 可以不需要经过注册 也能进去
因为每个审核人员的 看法不一样
解决: 1、 说你们的app 有些功能需要 根据用户喜好去推荐
2、跟着他们的方法去解决,去掉登录
3、增加游客模式

我们注意到您的应用需要用户注册个人信息才能访问非基于帐户的功能。在允许访问与用户没有特别关联的应用程序内容和功能之前,应用程序不能要求用户注册。

有关详细信息,请参阅随附的屏幕截图。

下一步

需要共享个人信息的用户注册必须是可选的或绑定到特定于帐户的功能。此外,请求的信息必须与特征相关。

iOS加载WebP

遇到场景:首先直播需要展示 *物(会动的*物)

解决:按之前的考虑是 加载 gif , 但是gif 会产生锯齿导致*物不好看,*后我们想到了webp , 我们将 UI 设计好的 png 几个帧数 合成了webp 格式。

加载webp 我使用的是 YYWebImage
首先加载执行

pod ‘YYWebImage’, ‘~> 1.0.5’

跟着执行

pod ‘YYImage/WebP’

先执行*步不然第二个 webp 加载不出来。
*后我们打开项目查下 是否有WebP.framwork 这个

%title插图%num
其实WebP 有两种,一种是静态,一种是动态(类似gif 很多张合成一个会动的图)

这个是静态的webp
YYAnimatedImageView *imgView = [[YYAnimatedImageView alloc] init];
imgView.frame = CGRectMake(10.f, 80.f, width, width);
imgView.backgroundColor = [UIColor purpleColor];
[self.view addSubview:imgView];

NSURL *url = [NSURL URLWithString:@”http://xx/app/test.webp”];
[imgView yy_setImageWithURL:url placeholder:nil];

这加载 动态的webp
YYAnimatedImageView *imgView2 = [[YYAnimatedImageView alloc] init];
imgView2.frame = CGRectMake(CGRectGetMaxX(imgView.frame) + 10.f, CGRectGetMinY(imgView.frame), width, width);
imgView2.backgroundColor = [UIColor purpleColor];
[self.view addSubview:imgView2];

NSURL *url2 = [NSURL URLWithString:@”http://pia2njyxv.bkt.clouddn.com/out.webp”];
[imgView2 yy_setImageWithURL:url2 placeholder:nil];

这个是加载gif (为了对比记载一个gif 看看)
YYAnimatedImageView *imgView3 = [[YYAnimatedImageView alloc] init];
imgView3.frame = CGRectMake(10.f, CGRectGetMaxY(imgView.frame) + 20.f, width, width);
imgView3.backgroundColor = [UIColor purpleColor];
[self.view addSubview:imgView3];

NSURL *url3 = [NSURL URLWithString:@”http://xx/pre/gifts/gift_send_5_1541749467.gif”];
[imgView3 yy_setImageWithURL:url3 placeholder:nil];

 

*后看看 效果图

%title插图%num
后面会继续写 怎样将png合成一个webp (假设的前提是你们的UI 不会,如果会就忽略过就好)
下午继续写

DDoS攻击方式的学习与了解

之前并未接触过DDoS,也不是很了解这种攻击方式到底分了多少种,近日分析一个样本,发现是DDoS攻击工具,于是要求我去分析下使用的是什么攻击方式,我也很疑惑,他们讲的一些攻击方式我也没有听说过,也不了解,于是就赶紧趁机会百度,谷歌学习了一下,*后在知乎上找到了一些比较详细的说明吧,是知道创宇的官方公众号写的,我觉得他解释和说明的都很不错,于是就打算拿来学习一下,下次就不用找相关的资料那么麻烦了。

作者:知道创宇 云安全
链接:https://www.zhihu.com/question/22259175/answer/378530276
来源:知乎

DDoS攻击有哪些?

ICMP Flood

ICMP(Internet控制报文协议)用于在IP主机、路由器之间传递控制消息,控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。通过对目标系统发送海量数据包,就可以令目标主机瘫痪,如果大量发送就成了洪水攻击。

UDP Flood

UDP协议是一种无连接的服务,在UDP Flood 中,攻击者通常发送大量伪造源IP地址的小UDP包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。100k bps的UDP Flood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。

上述传统的流量型攻击方式技术含量较低,伤人一千自损八百,攻击效果通常依赖受控主机本身的网络性能,而且容易被查到攻击源头,单独使用的情况已不常见。于是,具有四两拔千斤效果的反射型放大攻击就出现了。

NTP Flood

NTP是标准的基于UDP协议传输的网络时间同步协议,由于UDP协议的无连接性,方便伪造源地址。攻击者使用特殊的数据包,也就是IP地址指向作为反射器的服务器,源IP地址被伪造成攻击目标的IP,反射器接收到数据包时就被骗了,会将响应数据发送给被攻击目标,耗尽目标网络的带宽资源。一般的NTP服务器都有很大的带宽,攻击者可能只需要1Mbps的上传带宽欺骗NTP服务器,就可给目标服务器带来几百上千Mbps的攻击流量。

因此,“问-答”方式的协议都可以被反射型攻击利用,将质询数据包的地址伪造为攻击目标地址,应答的数据包就会都被发送至目标,一旦协议具有递归效果,流量就被显著放大了,堪称一种“借刀杀人”的流量型攻击。

SYN Flood

这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。建立TCP连接,需要三次握手——客户端发送SYN报文,服务端收到请求并返回报文表示接受,客户端也返回确认,完成连接。

SYN Flood 就是用户向服务器发送报文后突然死机或掉线,那么服务器在发出应答报文后就无法收到客户端的确认报文(第三次握手无法完成),这时服务器端一般会重试并等待一段时间后再丢弃这个未完成的连接。一个用户出现异常导致服务器的一个线程等待一会儿并不是大问题,但恶意攻击者大量模拟这种情况,服务器端为了维护数以万计的半连接而消耗非常多的资源,结果往往是无暇理睬客户的正常请求,甚至崩溃。从正常客户的角度看来,网站失去了响应,无法访问。

CC 攻击

CC攻击是目前应用层攻击的主要手段之一,借助代理服务器生成指向目标系统的合法请求,实现伪装和DDoS。我们都有这样的体验,访问一个静态页面,即使人多也不需要太长时间,但如果在高峰期访问论坛、贴吧等,那就很慢了,因为服务器系统需要到数据库中判断访问者否有读帖、发言等权限。访问的人越多,论坛的页面越多,数据库压力就越大,被访问的频率也越高,占用的系统资源也就相当可观。

CC攻击就充分利用了这个特点,模拟多个正常用户不停地访问如论坛这些需要大量数据操作的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的请求,网络拥塞,正常访问被中止。这种攻击技术性含量高,见不到真实源IP,见不到特别大的异常流量,但服务器就是无法进行正常连接。

之所以选择代理服务器是因为代理可以有效地隐藏自己的身份,也可以绕开防火墙,因为基本上所有的防火墙都会检测并发的TCP/IP连接数目,超过一定数目一定频率就会被认为是Connection-Flood。当然也可以使用肉鸡来发动CC攻击,攻击者使用CC攻击软件控制大量肉鸡发动攻击,肉鸡可以模拟正常用户访问网站的请求伪造成合法数据包,相比前者来说更难防御。

CC攻击是针对Web服务在第七层协议发起的攻击,在越上层协议上发动DDoS攻击越难以防御,上层协议与业务关联愈加紧密,防御系统面临的情况也会更复杂。比如CC攻击中*重要的方式之一HTTP Flood,不仅会直接导致被攻击的Web前端响应缓慢,对承载的业务造成致命的影响,还可能会引起连锁反应,间接攻击到后端的Java等业务层逻辑以及更后端的数据库服务。

由于CC攻击成本低、威力大,知道创宇安全专家组发现80%的DDoS攻击都是CC攻击。带宽资源严重被消耗,网站瘫痪;CPU、内存利用率飙升,主机瘫痪;瞬间快速打击,无法快速响应。

DNS Query Flood

DNS作为互联网的核心服务之一,自然也是DDoS攻击的一大主要目标。DNS Query Flood采用的方法是操纵大量傀儡机器,向目标服务器发送大量的域名解析请求。服务器在接收到域名解析请求时,首先会在服务器上查找是否有对应的缓存,若查找不到且该域名无法直接解析时,便向其上层DNS服务器递归查询域名信息。

通常,攻击者请求解析的域名是随机生成或者是网络上根本不存在的域名,由于在本地无法查到对应的结果,服务器必须使用递归查询向上层域名服务器提交解析请求,引起连锁反应。解析过程给服务器带来很大的负载,每秒钟域名解析请求超过一定的数量就会造成DNS服务器解析域名超时。

根据微软的统计数据,一台DNS服务器所能承受的动态域名查询的上限是每秒钟9000个请求。而一台P3的PC机上可以轻易地构造出每秒钟几万个域名解析请求,足以使一台硬件配置*高的DNS服务器瘫痪,由此可见DNS服务器的脆弱性。

混合攻击

在实际情况中,攻击者只求达到打垮对方的目的,发展到现在,高级攻击者已经不倾向使用单一的攻击手段作战了,而是根据目标系统的具体环境灵动组合,发动多种攻击手段,既具备了海量的流量,又利用了协议、系统的缺陷,尽其所能地展开攻势。

对于被攻击目标来说,需要面对不同协议、不同资源的分布式的攻击,分析、响应和处理的成本就会大大增加。

还有一位知乎网友举例子比较形象,可以让我们更加容易理解

作者:刘哲
链接:https://www.zhihu.com/question/22259175/answer/37315615
来源:知乎
  • 某饭店可以容纳100人同时就餐,某日有个商家恶意竞争,雇佣了200人来这个饭店坐着不吃不喝,导致饭店满满当当无法正常营业。(DDOS攻击成功)
  • 老板当即大怒,派人把不吃不喝影响正常营业的人全都轰了出去,且不再让他们进来捣乱,饭店恢复了正常营业。(添加规则和黑名单进行DDOS防御,防御成功)
  • 主动攻击的商家心存不满,这次请了五千人逐批次来捣乱,导致该饭店再次无法正常营业。(增加DDOS流量,改变攻击方式)
  • 饭店把那些捣乱的人轰出去只后,另一批接踵而来。此时老板将饭店营业规模扩大,该饭店可同时容纳1万人就餐,5000人同时来捣乱饭店营业也不会受到影响。(增加硬防与其抗衡)

DDOS是Distributed Denial of Service的缩写,翻译成中文是“分布式拒*服务“攻击,网络中的DDOS攻击与防御与上面例子所述差不多,DDOS只不过是一个概称,其下有各种攻击方式,比如“CC攻击、SYN攻击、NTP攻击、TCP攻击、DNS攻击等等”,现在DDOS发展变得越来越可怕,NTP攻击渐渐成为主流了,这意味着可以将每秒的攻击流量放大几百倍,比如每秒1G的SYN碎片攻击换成NTP放大攻击,就成为了200G或者更多。

作者:欧阳闲的
链接:https://www.zhihu.com/question/22259175/answer/363980556
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

ddos简单的说就是让流量瞬间把服务器带宽耗尽!cpu耗尽!是一种网络暴力手段!今年3月份的时候我们遇到一个做ddos的高手和我们合作 做的是手游棋牌 瞬间就把我们的对手给打崩溃了!后来他们的玩家都跑来我们的平台玩了!攻防无*对,技术无黑白!实力证明一切 王者*非偶然!

1:DDOS攻击的全称叫作 distribution deny of service(分布式拒*服务攻击)。顾名思义,这种攻击的方式是控制分布在全世界各个地方的服务器,发出指令,让这些服务器同时攻击一个目标,使得被攻击的计算机信息系统耗尽网络带宽资源、性能资源,无法正常运行或提供服务

2:攻击流程分为2个阶段:搜集肉鸡和发动攻击。
● 搜集肉鸡
 攻击者可以通过各种手段搜集肉鸡,包括购买他人非法入侵获得的肉鸡、自己实施入侵并传播木马、租赁服务器和带宽等。
在此过程中,攻击者必然会在肉鸡上种植木马,以便统一集中控制和发动攻击指令。

● 发动攻击 攻击者发出指令,让肉鸡同时发起攻击,发送大量攻击的网络数据包,耗尽目标网络带宽或者其他资源,导致被攻击目标无法提供正常服务。

● 攻击后果 攻击者可以通过多台肉鸡同时发送大量垃圾数据,造成大流量的数据包,导致服务器带宽耗尽,正常玩家无法发送网络数据包,服务器无法及时反馈数据,游戏运营被迫中断。

总结一句话来说 现在的ddos行业就是一个互相烧钱 让对方流失客源的一种暴力行为!希望大家能借鉴!!