ਐਕਸਕੋਡ ਵਿੱਚ ਸਹਿਜ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲੀਟਿਕਸ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ
ਆਈਓਐਸ ਐਪਸ ਵਿੱਚ ਕਰੈਸ਼ਾਂ ਨੂੰ ਫੜਨ ਅਤੇ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਲਈ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ ਕਰਨਾ ਸਹੀ ਤਰ੍ਹਾਂ ਸੈਟ ਅਪ ਕਰਨਾ ਕ੍ਰੈਸ਼ਿੰਗ ਨੂੰ ਫੜਨ ਅਤੇ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਲਈ ਮਹੱਤਵਪੂਰਨ ਹੈ. ਮੁੱਖ ਕਦਮਾਂ ਵਿਚੋਂ ਇਕ ਪੋਸਟ-ਬਿਲਡ ਸਕ੍ਰਿਪਟ ਨੂੰ ਸਵੈਚਲਿਤ ਰੂਪ ਤੋਂ 4 ਸੀ ਅਤੇ 4 ਡੀ ਨੂੰ ਫਾਇਰਬਾਸ ਦੇ ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ). ਬਹੁਤ ਸਾਰੇ ਡਿਵੈਲਪਰ ਇਸ ਦੇ ਮੁੱਖ ਤੌਰ 'ਤੇ ਸੀ.ਐੱਮ.ਐਕਸ ਵੇਰੀਏਬਲਸ ਨਾਲ ਮੁੱਦਿਆਂ ਦੇ ਕਾਰਨ ਸੰਘਰਸ਼ ਕਰਦੇ ਹਨ ਅਤੇ ਮਾਰਗ ਦੀਆਂ ਅਸੰਗਤਤਾਵਾਂ ਬਣਦੇ ਹਨ. 🔧
ਜਦੋਂ ਹੱਥੀਂ ਸੰਰਚਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਏਕੀਕਰਣ ਉਮੀਦ ਅਨੁਸਾਰ ਕੰਮ ਕਰਦਾ ਹੈ, ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨਾ ਕਿ DSYM ਫਾਈਲਾਂ ਤੇ ਕਾਰਵਾਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ ਫਾਇਰਬਾਸ ਤੇ ਅਪਲੋਡ ਕੀਤੀ ਜਾਂਦੀ ਹੈ. ਹਾਲਾਂਕਿ, ਪੋਸਟ-ਬਿਲਡ ਸਕ੍ਰਿਪਟ ਦੇ ਨਾਲ ਇਸ ਕਦਮ ਨੂੰ ਆਟੋਮੈਟਿਕ ਕਰਨਾ ਅਚਾਨਕ ਗਲਤੀਆਂ ਹੋ ਸਕਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਟੁੱਟੇ ਮਾਰਗਾਂ ਜਾਂ ਨਿਰਭਰਤਾ ਗੁੰਮ ਰਹੀ ਹੈ. ਇਨ੍ਹਾਂ ਮੁੱਦਿਆਂ ਨੂੰ ਡੀਬੱਗ ਕਰਨਾ ਐਕਸਕੋਡ ਦੀ ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਦੀ ਡੂੰਘੀ ਸਮਝ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ. 💡
ਇੱਕ ਤਾਜ਼ਾ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ, ਇੱਕ ਡਿਵੈਲਪਰ ਨੇ ਇੱਕ ਸੀਐਮਏਸੀਐਸ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਵੈਚਾਲਿਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ. ਜਦੋਂ ਕਿ ਹੁਕਮ structure ਾਂਚਾ ਸਹੀ ਸੀ, ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਨੇ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਵਿੱਚ ਅਚਾਨਕ ਤਬਦੀਲੀਆਂ ਪੇਸ਼ ਕੀਤੀਆਂ, ਸਕ੍ਰਿਪਟ ਅਮਲ ਨੂੰ ਤੋੜਨ. ਭਰੋਸੇਯੋਗ ਸੈਟਅਪ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇਨ੍ਹਾਂ ਮਤਭੇਦਾਂ ਦੀ ਪਛਾਣ ਕਰਨਾ ਜ਼ਰੂਰੀ ਹੈ.
ਇਹ ਲੇਖ ਐਕਸਕੋਡ ਵਿੱਚ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲੀਟਿਕਸ ਲਈ ਪੋਸਟ-ਬਿਲਡ ਸਕ੍ਰਿਪਟ ਨੂੰ ਆਟੋਮੈਟਿਕ ਸਕ੍ਰਿਪਟ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਨ ਲਈ ਇੱਕ und ਾਂਚਾਗਤ ਪਹੁੰਚ ਦੀ ਪੜਚੋਲ ਕਰਦਾ ਹੈ. ਅਸੀਂ ਆਮ ਮੁਸ਼ਕਲਾਂ ਦਾ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਾਂਗੇ, ਟੈਸਟ ਕੀਤੇ ਹੱਲ ਮੁਹੱਈਆ ਕਰ ਸਕਦੇ ਹਾਂ, ਅਤੇ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਾਂਗੇ ਕਿ ਤੁਹਾਡਾ ਏਕੀਕਰਣ ਉਸਾਰਿਆਂ ਵਿੱਚ ਸਥਿਰ ਰਹਿੰਦਾ ਹੈ. ਜੇ ਤੁਸੀਂ ਫਾਇਰਬੇਸ ਡੀਐਸਏਐਮ ਅਪਲੋਡਜ਼ ਨਾਲ ਸੰਘਰਸ਼ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਇਹ ਗਾਈਡ ਤੁਹਾਡੇ ਲਈ ਹੈ! 🚀
ਕਮਾਂਡ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਣ |
---|---|
set(DWARF_DSYM_FOLDER_PATH ...) | ਡੀਐਸਵਾਈਐਮ ਫੋਲਡਰ ਦੇ ਮਾਰਗ ਨੂੰ ਪਰਿਭਾਸ਼ਤ ਕਰਦਾ ਹੈ ਜਿੱਥੇ ਡੀਬੱਗਿੰਗ ਦੇ ਚਿੰਨ੍ਹ ਬਣਨ ਤੋਂ ਬਾਅਦ ਸਟੋਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ. ਕਰੈਸ਼ ਰਿਪੋਰਟਾਂ ਨੂੰ ਸਹੀ ਤਰ੍ਹਾਂ ਕਰੈਸ਼ ਰਿਪੋਰਟਾਂ ਤੇ ਕਾਰਵਾਈ ਕਰਨ ਲਈ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲੀ ਲਈ ਮਹੱਤਵਪੂਰਣ ਹੈ. |
add_custom_command(... POST_BUILD ...) | ਇੱਕ ਕਸਟਮ ਸ਼ੈਲ ਲਿਪੀ ਨੂੰ ਲਾਗੂ ਕਰਦਾ ਹੈ ਫਾਂਸੀ ਪਗਿੰਟ + ਸੀ.ਐਚ. ਸੀ.ਐੱਮ. ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ DSYM ਫਾਈਲਾਂ ਨੂੰ ਆਟੋਮੈਟਿਕ ਬੂਟ-ਬਿਲਡ ਅਪਲੋਡ ਕੀਤਾ ਜਾਂਦਾ ਹੈ. |
/bin/sh -c | ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਜਾਂ ਇੱਕ ਐਕਸਕੌਡ ਬਿਲਡ ਪੜਾਅ ਤੋਂ ਪਹਿਲਾਂ ਤੋਂ ਸੀ.ਐੱਫ.ਈ.ਸੀ.ਕੇਡ ਬਿਲਡ ਪੜਾਅ ਤੋਂ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਵੱਖ ਵੱਖ ਸ਼ੈੱਲ ਵਾਤਾਵਰਣ ਨਾਲ ਅਨੁਕੂਲਤਾ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ. |
DEPENDS | ਨਿਰਭਰਤਾ ਦੱਸਦੇ ਹਨ ਜੋ ਪੋਸਟ-ਬਿਲਡ ਸਕ੍ਰਿਪਟ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਹੱਲ ਕੀਤੇ ਜਾਣੇ ਜ਼ਰੂਰੀ ਹਨ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੇ ਹਨ ਕਿ ਫਾਈਲਾਂ ਨੂੰ ਉਹਨਾਂ ਨੂੰ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ. |
[ -d "$DWARF_DSYM_FOLDER_PATH" ] | ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਪ੍ਰੋਸੈਸਿੰਗ ਅਤੇ ਅਪਲੋਡ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਡੀਐਸਐਮ ਫੋਲਡਰ ਦੀ ਉਮੀਦ ਕੀਤੀ ਗਈ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਮੌਜੂਦ ਹੈ. |
[ -x "${SRCROOT}/extralibs/firebase_ios_sdk/FirebaseCrashlytics/run" ] | ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲੀ ਸਕ੍ਰਿਪਟ ਇਸ ਨੂੰ ਚਲਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਚੱਲਣਯੋਗ ਹੈ, ਇਜਾਜ਼ਤ ਗਲਤੀਆਂ ਨੂੰ ਰੋਕਦੀ ਹੈ. |
exit 1 | ਸਕ੍ਰਿਪਟ ਦੇ ਲਾਗੂ ਹੋਣ ਤੋਂ ਤੁਰੰਤ ਰੁਕ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਇੱਕ ਗੰਭੀਰ ਕਾਰਵਾਈਆਂ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵਿੱਚ ਆਉਣ ਤੋਂ ਬਚਾਅ ਲਈ ਹੋਰ ਕਦਮਾਂ ਨੂੰ ਰੋਕਣਾ. |
echo "✅ Firebase Crashlytics script is executable." | Reg ਰ ਸਕ੍ਰਿਪਟ ਦੇ ਫਾਂਸੀ ਲਈ ਨੁਸਖੇ ਨੂੰ ਅਸਾਨ ਬਣਾਉਣਾ ਡਿਸਟਸੋਲ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ. |
sh "${SRCROOT}/extralibs/firebase_ios_sdk/FirebaseCrashlytics/run" | ਫਾਇਰਬੇਸ ਕਰੈਸ਼ਲੀ ਸਕ੍ਰਿਪਟ ਨੂੰ ਸਿੱਧਾ ਇਸ ਦੀ ਡਾਇਰੈਕਟਰੀ ਤੋਂ ਚਲਾਉਂਦਾ ਹੈ, ਤਾਂ ਸਹੀ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਲੋਡ ਹੁੰਦੇ ਹਨ. |
ਐਕਸਕੋਡ ਵਿੱਚ ਫਾਇਰਬੈਟਿੰਗ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਿੰਗ: ਇੱਕ ਡੂੰਘੀ ਗੋਤਾਖੋਰੀ
ਲਈ ਪੋਸਟ-ਬਿਲਡ ਸਕ੍ਰਿਪਟ ਨੂੰ ਆਟੋਮੈਟਿਕ ਕਰਨਾ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲੀਟਿਕਸ ਐਕਸਕੋਡ ਵਿੱਚ ਸਹਿਜ ਕਰੈਸ਼ ਰਿਪੋਰਟ ਏਕੀਕਰਣ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ. ਸਕ੍ਰਿਪਟਾਂ ਅਸੀਂ ਹਰੇਕ ਬਿਲਡ ਤੋਂ ਬਾਅਦ DSYM ਫਾਈਲਾਂ ਦੀ ਪ੍ਰਕਿਰਿਆ ਅਤੇ ਅਪਲੋਡ ਕਰਨ ਦੀ ਚੁਣੌਤੀ ਬਣਾਈ ਗਈ. ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਵੱਡੇ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਲਾਭਦਾਇਕ ਹੈ ਜਿਥੇ ਮੈਨੂ ਅਪਲੋਡਸ ਵਸੂਲਦੇ ਅਤੇ ਗਲਤੀ-ਰਹਿਤ ਹੋ ਸਕਦੇ ਹਨ. ਸੀ.ਐੱਮ.ਐੱਸ. ਅਤੇ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟਿੰਗ ਦੇ ਸੁਮੇਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਅਸੀਂ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੇ ਹਾਂ ਕਿ ਡੀਬੱਗਿੰਗ ਦੇ ਚਿੰਨ੍ਹ ਨੂੰ ਸਹੀ ਤਰ੍ਹਾਂ ਪ੍ਰਕਿਰਿਆ ਕੀਤੇ ਅਤੇ ਡਿਵੈਲਪਰ ਦਖਲ ਤੋਂ ਬਿਨਾਂ ਅੱਗ ਬੁਝਾ. ਦੇ. 🚀
ਸਾਡੀ ਸਕ੍ਰਿਪਟ ਦਾ ਇਕ ਮੁੱਖ ਹਿੱਸਾ ਸੀ.ਐਚ.ਕੇ. ਬਣਾਉਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਪੂਰੀ ਹੋਣ ਤੋਂ ਬਾਅਦ ਇਹ ਕਮਾਂਡ ਸ਼ੈਲ ਲਿਪੀ ਚਲਾਉਂਦੀ ਹੈ, ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੀ ਹੈ ਕਿ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲੀ ਲਈ ਲੋੜੀਂਦੀ DSYM ਫਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਹੈ. `ਡ ਦਲੀਰ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੀ ਹੈ ਕਿ ਸਾਰੀਆਂ ਲੋੜੀਂਦੀਆਂ ਫਾਈਲਾਂ, ਜਿਵੇਂ ਕਿ ਡੀਐਸਐਮ ਫੋਲਡਰ, ਜਾਣਕਾਰੀ.ਪਲਿਸਟ, ਅਤੇ ਿਨਿਤੀ, ਲਿਪੀ ਸਕ੍ਰਿਪਟ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਉਪਲੱਬਧ ਹਨ. ਇਸ ਜਾਂਚ ਤੋਂ ਬਿਨਾਂ, ਸਕ੍ਰਿਪਟ ਨਿਰਭਰਤਾ ਗੁੰਮ ਹੋਣ ਕਰਕੇ ਅਸਫਲ ਹੋ ਸਕਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਕਰੈਸ਼ ਰਿਪੋਰਟਿੰਗ ਵਿੱਚ ਮੁੱਦਿਆਂ ਦੇ ਕਾਰਨ.
ਮੁੱਖ ਮੰਤਰੀ ਤੋਂ ਇਲਾਵਾ, ਅਸੀਂ ਇਕੱਲਿਆਂ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਦਿਆਂ ਇਕ ਵਿਕਲਪਕ ਪਹੁੰਚ ਵੀ ਪ੍ਰਦਾਨ ਕੀਤੀ. ਇਹ ਵਿਧੀ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਲੋੜ ਪੈਣ ਤੇ ਡੀਐਸਏਐਮ ਅਪਲੋਡ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਹੱਥੀਂ ਚਾਲੂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀ ਹੈ, ਜਿਸ ਕੇਸ ਵਿੱਚ ਸਵੈਚਾਲਤ ਐਗਜ਼ੀਕਿ .ਸ਼ਨ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ. ਸਕ੍ਰਿਪਟ ਲੋੜੀਂਦੀਆਂ ਸ਼੍ਰੇਣੀਆਂ ਦੀ ਹੋਂਦ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੀ ਹੈ ਅਤੇ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੀ ਹੈ ਕਿ ਕਰੈਸ਼ਲਾਈਟਿਕਸ ਸਕ੍ਰਿਪਟ ਅੱਗੇ ਤੋਂ ਪਹਿਲਾਂ ਚੱਲਣਯੋਗ ਹੈ. ਇਹ ਸੀਆਈ / ਸੀਡੀ ਮਾਜਿਆਂ ਵਿੱਚ ਕੰਮ ਕਰਨ ਵਾਲੀਆਂ ਟੀਮਾਂ ਲਈ ਵਿਸ਼ੇਸ਼ ਤੌਰ ਤੇ ਉਪਯੋਗੀ ਹੈ ਜਿਥੇ ਆਟੋਮੈਟਿਕ ਟੂਲਜ ਬਣਾਉਂਦੇ ਹਨ ਜਿਵੇਂ ਜੇਨਕਿਨਜ਼ ਜਾਂ ਗੀਥਾਮ ਕਿਰਿਆਵਾਂ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ.
ਅੰਤ ਵਿੱਚ, ਅਸੀਂ ਸਵੈਚਾਲਨ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਇੱਕ ਯੂਨਿਟ ਟੈਸਟ ਸਕ੍ਰਿਪਟ ਸ਼ਾਮਲ ਕੀਤਾ. ਇਹ ਟੈਸਟ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਡੀਐਸਐਮ ਫੋਲਡਰ ਮੌਜੂਦ ਹੈ ਜਾਂ ਕੀ ਫਾਇਰਬੇਸ ਕਰੈਸ਼ਲਿਕਸ ਸਕ੍ਰਿਪਟ ਚੱਲਣਯੋਗ ਹੈ ਜਾਂ ਨਹੀਂ. ਇਨ੍ਹਾਂ ਜਾਂਚਾਂ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਕੇ, ਡਿਵੈਲਪਰ ਆਪਣੇ ਐਪਸ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕੌਂਫਿਗਰੇਸ਼ਨ ਮੁੱਦਿਆਂ ਦੀ ਤੁਰੰਤ ਪਛਾਣ ਅਤੇ ਹੱਲ ਕਰ ਸਕਦੇ ਹਨ. ਅਸਲ-ਸੰਸਾਰ ਦੇ ਪ੍ਰਾਜੈਕਟਾਂ ਵਿੱਚ, ਤੈਨਾਤੀ ਅਸਫਲਤਾਵਾਂ ਨੂੰ ਰੋਕ ਕੇ ਇਹ ਸਵੈਚਾਲਤ ਟੈਸਟ ਅਣਗਿਣਤ ਘੰਟਿਆਂ ਨੂੰ ਬਚਾਉਂਦੇ ਹਨ ਅਤੇ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੇ ਹਨ ਕਿ ਡੀਬੱਗਿੰਗ ਲਈ ਹਮੇਸ਼ਾਂ ਪਹੁੰਚਯੋਗ ਹੁੰਦੇ ਹਨ. 💡
ਐਕਸਕੋਡ ਵਿੱਚ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲੀਟਿਕਸ ਲਈ ਆਟੋਮੈਟਿਕ dsym ਅਪਲੋਡ ਕਰੋ
ਸੀ.ਐੱਮ.ਈ.ਈ.kEKE ਅਤੇ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਦਿਆਂ ਬਿਲਡਿੰਗ ਸਕ੍ਰਿਪਟ ਸਥਾਪਨਾ
# Define paths for dSYM processing
set(DWARF_DSYM_FOLDER_PATH "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}")
set(DWARF_DSYM_FILE "${DWARF_DSYM_FOLDER_PATH}/Contents/Resources/DWARF/${PRODUCT_NAME}")
set(INFO_PLIST "${DWARF_DSYM_FOLDER_PATH}/Contents/Info.plist")
set(GOOGLE_SERVICE_INFO_PLIST "$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist")
set(EXECUTABLE_PATH "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)")
# Add a custom post-build command to upload dSYM files
add_custom_command(
TARGET ${TARGET_NAME} POST_BUILD
COMMAND /bin/sh -c "${CMAKE_CURRENT_SOURCE_DIR}/../../extralibs/firebase_ios_sdk/FirebaseCrashlytics/run"
COMMENT "Processing and uploading dSYM files to Crashlytics"
DEPENDS ${DWARF_DSYM_FOLDER_PATH} ${DWARF_DSYM_FILE} ${INFO_PLIST} ${GOOGLE_SERVICE_INFO_PLIST} ${EXECUTABLE_PATH}
)
ਵਿਕਲਪਕ ਪਹੁੰਚ: ਦਸਤੀ ਏਕੀਕਰਣ ਲਈ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ
ਐਕਸਕੋਡ ਵਿੱਚ ਪੋਸਟ-ਬਿਲਡ DSYM ਅਪਲੋਡ ਕਰਨ ਲਈ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟਿੰਗ
#!/bin/sh
# Define required paths
DWARF_DSYM_FOLDER_PATH="${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}"
DWARF_DSYM_FILE="${DWARF_DSYM_FOLDER_PATH}/Contents/Resources/DWARF/${PRODUCT_NAME}"
INFO_PLIST="${DWARF_DSYM_FOLDER_PATH}/Contents/Info.plist"
GOOGLE_SERVICE_INFO_PLIST="$(TARGET_BUILD_DIR)/$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/GoogleService-Info.plist"
EXECUTABLE_PATH="$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)"
# Execute Firebase Crashlytics script
sh "${SRCROOT}/extralibs/firebase_ios_sdk/FirebaseCrashlytics/run"
ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਯੂਨਿਟ ਟੈਸਟ ਸਕ੍ਰਿਪਟ
DSYM ਅਪਲੋਡ ਆਟੋਮੈਟਿਕ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਬਸ਼ ਸਕ੍ਰਿਪਟ
#!/bin/bash
echo "Running unit tests for Firebase Crashlytics integration..."
# Check if dSYM folder exists
if [ -d "$DWARF_DSYM_FOLDER_PATH" ]; then
echo "✅ dSYM folder found."
else
echo "❌ Error: dSYM folder missing."
exit 1
fi
# Check if Firebase script is executable
if [ -x "${SRCROOT}/extralibs/firebase_ios_sdk/FirebaseCrashlytics/run" ]; then
echo "✅ Firebase Crashlytics script is executable."
else
echo "❌ Error: Firebase script not executable."
exit 1
fi
ਐਕਸਕੋਡ ਵਿੱਚ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲੀਟਿਕਸ ਲਈ ਸਵੈਚਾਲਨ ਨੂੰ ਵਧਾਉਣਾ
ਇੱਕ ਕੁੰਜੀ ਪੱਖ ਜੋ ਅਕਸਰ ਆਟੋਮੈਟਿਕ ਵਿੱਚ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲੀਟਿਕਸ ਐਕਸਕੋਡ ਵਿੱਚ ਪ੍ਰਭਾਵਸ਼ਾਲੀ bel ੰਗ ਨਾਲ ਵੱਖ ਵੱਖ ਬਿਲਡ ਵਾਤਾਵਰਣ ਨੂੰ ਸੰਭਾਲ ਰਿਹਾ ਹੈ. ਡਿਵੈਲਪਰ ਅਕਸਰ ਕਈ ਕੌਂਫਿਗ੍ਰੇਸ਼ਨਾਂ ਨਾਲ ਕੰਮ ਕਰਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਡੀਐਸਏਐਮ ਫਾਈਲ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਹਰੇਕ ਨੂੰ ਖਾਸ ਵਿਵਸਥਾਵਾਂ ਦੀ ਜ਼ਰੂਰਤ ਹੁੰਦੀ ਹੈ. ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨਾ ਕਿ ਪੋਸਟ-ਬਿਲਡ ਸਕ੍ਰਿਪਟ ਇਨ੍ਹਾਂ ਵਾਤਾਵਰਣ ਦੇ ਅਨੁਸਾਰ .ਾਲਣ ਤੋਂ ਰੋਕਦੀ ਹੈ ਜਦੋਂ ਕਿ ਵਿਕਾਸ ਦੌਰਾਨ ਬੇਲੋੜੀ ਅਪਲੋਡਾਂ ਤੋਂ ਪਰਕਾਸ਼ ਕਰੋ. 🔧
ਇਕ ਹੋਰ ਮਹੱਤਵਪੂਰਣ ਵਿਚਾਰ ਕਰਨ ਅਤੇ ਲੌਗਇਨ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ ਹੈ. ਇੱਕ ਚੰਗੀ ਤਰ੍ਹਾਂ- ubd ਾਂਚਾਗਤ ਪੋਸਟ-ਬਿਲਡ ਸਕ੍ਰਿਪਟ ਸਿਰਫ ਲੋੜੀਂਦੀਆਂ ਕਮਾਂਡਾਂ ਨੂੰ ਲਾਗੂ ਨਹੀਂ ਕਰਨਾ ਚਾਹੀਦਾ ਬਲਕਿ ਅਸਫਲਤਾ ਦੇ ਮਾਮਲੇ ਵਿੱਚ ਸਾਰਥਕ ਰੂਪਾਂਤਰ ਵੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ. ਵਿਸਤ੍ਰਿਤ ਲਾਗ ਸੁਨੇਹੇ ਲਾਗੂ ਕਰਨਾ ਅਤੇ ਸ਼ਰਤ ਦੀਆਂ ਜਾਂਚਾਂ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਮੁਸ਼ਕਲਾਂ ਦੀ ਤੇਜ਼ੀ ਨਾਲ ਪਛਾਣਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ. ਉਦਾਹਰਣ ਲਈ, ਇਸ ਦੀ ਤਸਦੀਕ ਕਰਨਾ GoogleService- ਜਾਣਕਾਰੀ.ਪਲਿਸਟ ਕਰੈਸ਼ਲੈਟਿਕਸ ਸਕ੍ਰਿਪਟ ਨੂੰ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਸਹੀ ਤਰ੍ਹਾਂ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ. ਇਸ ਤੋਂ ਇਲਾਵਾ, ਲੌਗਿੰਗ mechan ੰਗਾਂ ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਦੀ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦੇ ਹਨ ਕਿ ਸਮੱਸਿਆ ਨਿਪਟਾਰਾ ਅਸਾਨ ਹੈ, ਖ਼ਾਸਕਰ ਜਦੋਂ ਨਿਰੰਤਰ ਏਕੀਕਰਣ (ਸੀਆਈ) ਸੰਦਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋ.
ਵੱਡੀਆਂ ਟੀਮਾਂ ਲਈ, ਆਟੋਮੈਟੇਸ਼ਨ ਸਕ੍ਰਿਪਟਾਂ ਦੀ ਵਰਜ਼ਨ ਨਿਯੰਤਰਣ ਅਤੇ ਪ੍ਰਬੰਧਨ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਹੈ. ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲਜ਼ ਅਤੇ ਮਾਡਯੂਲਰ ਸਕ੍ਰਿਪਟਿੰਗ ਦੇ ਉਪਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਸਦਭਾਵਿਆਂ ਵਾਲੇ ਰਸਤੇ ਨੂੰ ਰੋਕਦਾ ਹੈ ਜੋ ਟੀਮ ਦੇ ਮੈਂਬਰਾਂ ਦੇ ਸੈਟਅਪਾਂ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਹੋ ਸਕਦੇ ਹਨ. ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲਾਈਟਿਕਸ ਏਕੀਕਰਣ ਇਸ ਸੰਬੰਧੀ ਪ੍ਰਾਜੈਕਟ ਦੇ ਸੰਬੰਧ ਵਿੱਚ ਮਹੱਤਵਪੂਰਣ ਰਹਿੰਦਾ ਹੈ. ਟੀਮਾਂ ਸਵੈਚਾਲਨ ਨੂੰ ਸੀਆਈ / ਸੀਡੀ ਪਾਈਪ ਲਾਈਨਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਕੇ ਦੋ ਤੋਂ ਵੱਧ ਵਧਾ ਸਕਦੀਆਂ ਹਨ, ਜਦੋਂ ਵੀ ਨਵਾਂ ਬਿਲਡ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ. 🚀
ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲਿਕਸ ਆਟੋਮੈਟਿਕ ਬਾਰੇ ਆਮ ਪ੍ਰਸ਼ਨ
- ਮੇਰੀ ਡੀਐਸਏਐਮ ਦੀ ਫਾਈਲ ਨੂੰ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲਟਿਕਸ ਵਿੱਚ ਅਪਲੋਡ ਨਹੀਂ ਕਰਨਾ ਹੈ?
- ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰੋ ਕਿ ਸਕ੍ਰਿਪਟ ਸਹੀ ਤਰ੍ਹਾਂ DSYM ਮਾਰਗ ਦਾ ਹਵਾਲਾ ਦਿੰਦੀ ਹੈ. ਵਰਤਣ DWARF_DSYM_FOLDER_PATH ਅਤੇ ਫਾਂਸੀ ਤੋਂ ਪਹਿਲਾਂ ਆਉਣ ਤੋਂ ਪਹਿਲਾਂ ਨਿਰਭਰਤਾ ਦੀ ਜਾਂਚ ਕਰੋ.
- ਕੀ ਮੈਂ ਦਸਤੀ DSYM ਫਾਈਲਾਂ ਨੂੰ ਅਪਲੋਡ ਕਰ ਸਕਦਾ ਹਾਂ ਜੇ ਸਕ੍ਰਿਪਟ ਅਸਫਲ ਹੋ ਸਕਦੀ ਹੈ?
- ਹਾਂ, ਤੁਸੀਂ ਫਾਇਰਬੈਕਸ ਕਲਾਈ ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ: firebase crashlytics:symbols:upload DSYM ਫਾਈਲ ਮਾਰਗ ਦੇ ਬਾਅਦ.
- ਮੇਰੀ ਪੋਸਟ-ਬਿਲਡ ਸਕ੍ਰਿਪਟ ਨਾਲ ਮੈਂ ਕਿਵੇਂ ਡੀਬੱਗ ਕਰਾਂ?
- ਸ਼ਾਮਲ ਕਰੋ echo ਤੁਹਾਡੀ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਮੁੱਖ ਬਿੰਦੂਆਂ ਤੇ ਬਿਆਨ ਅਤੇ ਗਲਤੀਆਂ ਲਈ ਐਕਸਕੋਡ ਬਿਲਡ ਲੌਗਾਂ ਦੀ ਜਾਂਚ ਕਰੋ.
- ਕੀ ਫਾਇਰਬੇਸ ਕਰੈਸ਼ਲਿਕਸ ਸਵਿਫਟ ਅਤੇ ਉਦੇਸ਼-ਸੀ ਨਾਲ ਕੰਮ ਕਰਦੀ ਹੈ?
- ਹਾਂ, ਇਹ ਦੋਵਾਂ ਭਾਸ਼ਾਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ. ਇਹ ਯਕੀਨੀ ਬਣਾਓ GoogleService-Info.plist ਤੁਹਾਡੇ ਟੀਚੇ ਲਈ ਸਹੀ ਤਰ੍ਹਾਂ ਕੌਂਫਿਗਰ ਕੀਤਾ ਗਿਆ ਹੈ.
- ਮੈਂ ਡੀਐਸਏਐਮ ਦੇ ਅਪਲੋਡਸ ਨੂੰ ਸੀਆਈ / ਸੀਡੀ ਪਾਈਪ ਲਾਈਨ ਵਿੱਚ ਕਿਵੇਂ ਏਕੀਕ੍ਰਿਤ ਕਰ ਸਕਦਾ ਹਾਂ?
- ਫਾਸਟਲਨ ਵਰਗੇ ਸੰਦਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ ਅਤੇ ਕਮਾਂਡ ਸ਼ਾਮਲ ਕਰੋ upload_symbols_to_crashlytics DSYM ਅਪਲੋਡਸ ਆਟੋਮੈਟਿਕ ਕਰਨ ਲਈ.
ਐਕਸਕੋਡ ਵਿੱਚ ਆਟੋਮੈਟਿਕ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲਟਿਕਸ ਤੇ ਅੰਤਮ ਵਿਚਾਰ
Stingline ਨੂੰ ਸਵੈਚਾਲਨ ਵਿੱਚ ਐਕਸਕੋਡ ਵਿੱਚ ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲਾਈਟਿਕਸ ਦੇ ਏਕੀਕਰਣ ਦੇ ਏਕੀਕਰਣ ਆਈਓਐਸ ਡਿਵੈਲਪਰਾਂ ਲਈ ਇੱਕ ਖੇਡ-ਚੇਂਜਰ ਹੈ. ਪੋਸਟ-ਬਿਲਡ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਸਹੀ ਤਰ੍ਹਾਂ ਲਾਗੂ ਕਰ ਕੇ, ਟੀਮਾਂ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰ ਸਕਦੀਆਂ ਹਨ ਕਿ ਕਰੈਸ਼ ਰਿਪੋਰਟਾਂ ਹਮੇਸ਼ਾਂ ਤਾਰੀਖ ਵਾਲੀਆਂ ਹੁੰਦੀਆਂ ਹਨ, ਮੈਨੂ ਅਪਲੋਡਸਾਂ ਦੀ ਜ਼ਰੂਰਤ ਨੂੰ ਘਟਾਉਣ. ਸੰਦਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਜਿਵੇਂ ਕਿ ਸੀ ਕੇਕੇ ਅਤੇ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟਿੰਗ ਇਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਰਲ ਬਣਾਉਣ, ਆਮ ਗਲਤੀਆਂ ਨੂੰ ਰੋਕਣ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਦੀ ਹੈ. 🔧
ਸਹੀ ਲੌਗਿੰਗ ਅਤੇ ਸੀ.ਆਈ / ਸੀਡੀ ਏਕੀਕਰਣ ਦੇ ਨਾਲ ਵਰਕਫਲੋਅ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣਾ ਟੀਮਾਂ ਨੂੰ ਵਿਸ਼ੇਸ਼ਤਾ ਦੇ ਵਿਕਾਸ 'ਤੇ ਕੇਂਦ੍ਰਤ ਕਰਦੇ ਸਮੇਂ ਕੁਸ਼ਲਤਾ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ. ਭਾਵੇਂ ਡੀਐਸਏਐਮ ਫਾਈਲਾਂ ਨੂੰ ਆਰਜੀ ਤੌਰ ਤੇ ਸੰਭਾਲਣਾ ਜਾਂ ਪ੍ਰਮਾਣਿਕਤਾ ਦੇ ਕਦਮਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ, ਇਹ ਸਵੈਚਰਾਧ ਡਿਕਬਿੰਗ ਤਜ਼ਰਬੇ ਅਤੇ ਵਧੇਰੇ ਸਥਿਰ ਐਪ ਰੀਲੀਜ਼ ਚੱਕਰ ਵਿੱਚ ਯੋਗਦਾਨ ਪਾਉਂਦਾ ਹੈ. 🚀
ਭਰੋਸੇਯੋਗ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
- ਆਈਓਐਸ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਕ੍ਰੈਸ਼ਲਟਿੰਗ ਲਈ ਅਧਿਕਾਰਤ ਫਾਇਰਬਾਸ ਦਸਤਾਵੇਜ਼: ਫਾਇਰਬੈਕਸ ਕਰੈਸ਼ਲਿਕਸ ਸੈਟਅਪ .
- ਸੀਮੀਕਾਮਿਕ ਸੰਬੰਧ ਲਈ DSYCICICICHNS ਪ੍ਰਬੰਧਨ ਲਈ ਐਪਲ ਡਿਵੈਲਪਰ ਦਸਤਾਵੇਜ਼: ਐਪਲ ਡੀਐਸਵਾਈਐਮ ਗਾਈਡ .
- ਸੀ.ਐੱਮਕੇ ਡੌਕੂਮੈਂਟੇਸ਼ਨ ਕਸਟਮ ਪੋਸਟ-ਬਿਲਡ ਕਮਾਂਡਾਂ ਅਤੇ ਆਟੋਮੈਟੇਸ਼ਨ ਨੂੰ ਕਸਟਮ: ਸੀਮੈਕਸ ਕਸਟਮ ਕਮਾਂਡਾਂ .
- ਐਕਸਕੋਡ ਵਿੱਚ ਸੀ.ਸੀਕ ਵੇਰੀਏਬਲ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਓਵਰਫਲੋਅ ਡਿਸਕੋਇਕ: ਸੀਐਮਕੇ ਅਤੇ ਐਕਸਕੋਡ ਹੱਲ਼ .