我的应用程序被苹果拒绝了,因为我的应用程序使用了私有API。苹果说我的应用程序
框架:'/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation':CFHashBytes
我在代码中找不到任何东西,所以我搜索堆栈溢出,发现我可以使用otool或字符串。
使用string,我可以找到两个“散列”调用(无论它们在哪里)并使用nm,得到以下输出:
nm Sporty\ Architect \ grep散列
0000000100077490 T __TFO16Sporty_Architect12ActivityTypeg9hashValueSi 0000000100056240 T __TFO16Sporty_Architect12RotationModeg9hashValueSi 0000000100064480 T __TFO16Sporty_Architect13DraggedSliderg9hashValueSi 000000010003e3a0 T __TFO16Sporty_Architect8FileTypeg9hashValueSi 000000010003d910 T __TFO16Sporty_Architect9DateRangeg9hashValueSi 0000000100021360 T __TFO16Sporty_Architect9ModelModeg9hashValueSi U __TFSig9hashValueSi 00000001000777b0 T __TTWO16Sporty_Architect12ActivityTypes8HashableS_FS1_g9hashValueSi 00000001000562e0 T __TTWO16Sporty_Architect12RotationModes8HashableS_FS1_g9hashValueSi 0000000100064500 T __TTWO16Sporty_Architect13DraggedSliders8HashableS_FS1_g9hashValueSi 000000010003e9d0 T __TTWO16Sporty_Architect8FileTypes8HashableS_FS1_g9hashValueSi 00000003e080 T __TTWO16Sporty_Architect9DateRanges8HashableS_FS1_g9hashValueSi 0000000100021500 T __TTWO16Sporty_Architect9ModelModes8HashableS_FS1_g9hashValueSi
我想是U __TFSig9hashValueSi,不是吗?但是现在question...how可以再缩小范围了吗?
我无法理解,为什么苹果提供了一个验证按钮,显示一切正常,一旦应用程序被审查,它就会被拒绝,因为它可以在编译时(或者至少在提交时)被清楚地检测到。
发布于 2017-01-10 10:39:48
如果您不使用任何外部API或框架,那么CFHashBytes只存在于Swift框架中。
我和两个应用程序有过这个问题。我已经向决议中心发送了这封信,现在这两封信都已获得批准:
“你好,
我认为这是个错误。唯一包含非公共API的文件是libswiftFoundation.dylib,这是Swift应用程序中使用的框架。Xcode自动使用它。请再检查一遍。
非常感谢。“
希望这能帮到你。
https://stackoverflow.com/questions/41551488
复制相似问题